diff --git a/cmake/modules/CompileWarnings.cmake b/cmake/modules/CompileWarnings.cmake
index 93b35b8..8f5d54e 100644
--- a/cmake/modules/CompileWarnings.cmake
+++ b/cmake/modules/CompileWarnings.cmake
@@ -12,4 +12,17 @@
     elseif(UNIX AND APPLE)
         target_compile_options(${target} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-Wno-deprecated-anon-enum-enum-conversion>)
     endif()
+
+    # Suppress warning "enumeration types with a fixed underlying type are a
+    # Clang extension"
+    if(APPLE)
+      target_compile_options(${target} PRIVATE $<$<COMPILE_LANGUAGE:C>:-Wno-fixed-enum-extension>)
+    endif()
+
+    # Compress debug info with GCC
+    if ((${CMAKE_BUILD_TYPE} STREQUAL "Debug" OR
+         ${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo") AND
+        ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
+      target_compile_options(${target} PRIVATE -gz=zlib)
+    endif()
 endmacro()
diff --git a/cmake/modules/DownloadAndCheck.cmake b/cmake/modules/DownloadAndCheck.cmake
new file mode 100644
index 0000000..59c8799
--- /dev/null
+++ b/cmake/modules/DownloadAndCheck.cmake
@@ -0,0 +1,11 @@
+macro(download_and_check source destination)
+  file(DOWNLOAD ${source} ${destination} STATUS download_status)
+  list(GET download_status 0 status_code)
+  list(GET download_status 1 status_message)
+
+  if(${status_code} EQUAL 0)
+    message(VERBOSE "Download of \"${source}\" successful.")
+  else()
+    message(FATAL_ERROR "Download of \"${source}\" failed: ${status_message}")
+  endif()
+endmacro()
diff --git a/cmake/modules/GenResources.cmake b/cmake/modules/GenResources.cmake
index 06d34a3..d80a364 100644
--- a/cmake/modules/GenResources.cmake
+++ b/cmake/modules/GenResources.cmake
@@ -1,26 +1,26 @@
-set(SCRIPTS_DIR "${CMAKE_CURRENT_LIST_DIR}/../scripts")
-MACRO(GENERATE_RESOURCES inputDir outputDir prefix namespace outputFiles)
-  FILE(GLOB inputFiles ${inputDir}/*)
-  SET(${outputFiles})
-  FOREACH(input ${inputFiles})
-    GET_FILENAME_COMPONENT(inputBase ${input} NAME)
-    IF("${inputBase}" MATCHES "^\\.")
-      CONTINUE()
-    ENDIF()
-    SET(output "${outputDir}/${inputBase}.cpp")
-    LIST(APPEND ${outputFiles} "${output}")
+set(scripts_dir "${CMAKE_CURRENT_LIST_DIR}/../scripts")
+macro(generate_resources inputDir outputDir prefix namespace outputFiles)
+  file(GLOB inputFiles ${inputDir}/*)
+  set(${outputFiles})
+  foreach(input ${inputFiles})
+    get_filename_component(inputBase ${input} NAME)
+    if("${inputBase}" MATCHES "^\\.")
+      continue()
+    endif()
+    set(output "${outputDir}/${inputBase}.cpp")
+    list(APPEND ${outputFiles} "${output}")
 
-    ADD_CUSTOM_COMMAND(
+    add_custom_command(
       OUTPUT ${output}
       COMMAND ${CMAKE_COMMAND}
         "-Dinput=${input}"
         "-Doutput=${output}"
         "-Dprefix=${prefix}"
         "-Dnamespace=${namespace}"
-        -P "${SCRIPTS_DIR}/GenResource.cmake"
+        -P "${scripts_dir}/GenResource.cmake"
       MAIN_DEPENDENCY ${input}
-      DEPENDS ${SCRIPTS_DIR}/GenResource.cmake
+      DEPENDS ${scripts_dir}/GenResource.cmake
       VERBATIM
     )
-  ENDFOREACH()
-ENDMACRO()
+  endforeach()
+endmacro()
diff --git a/cmake/modules/SubDirList.cmake b/cmake/modules/SubDirList.cmake
index b67160e..0776098 100644
--- a/cmake/modules/SubDirList.cmake
+++ b/cmake/modules/SubDirList.cmake
@@ -1,17 +1,17 @@
-MACRO(SUBDIR_LIST result curdir)
-  FILE(GLOB children RELATIVE ${curdir} ${curdir}/*)
-  SET(dirlist "")
-  FOREACH(child ${children})
-    IF(IS_DIRECTORY ${curdir}/${child})
-      LIST(APPEND dirlist ${child})
-    ENDIF()
-  ENDFOREACH()
-  SET(${result} ${dirlist})
-ENDMACRO()
+macro(subdir_list result curdir)
+  file(GLOB children RELATIVE ${curdir} ${curdir}/*)
+  set(dirlist "")
+  foreach(child ${children})
+    if(IS_DIRECTORY ${curdir}/${child})
+      list(APPEND dirlist ${child})
+    endif()
+  endforeach()
+  set(${result} ${dirlist})
+endmacro()
 
-MACRO(ADD_ALL_SUBDIRECTORIES curdir)
-  SUBDIR_LIST (_SUBPROJECTS ${curdir})
-  FOREACH (dir ${_SUBPROJECTS})
-    ADD_SUBDIRECTORY (${dir})
-  ENDFOREACH ()
-ENDMACRO()
+macro(add_all_subdirectories curdir)
+  subdir_list(_SUBPROJECTS ${curdir})
+  foreach(dir ${_SUBPROJECTS})
+    add_subdirectory(${dir})
+  endforeach()
+endmacro()
