]> git.xonotic.org Git - xonotic/xonotic.git/commitdiff
CMake: make everything optional
authorTimePath <andrew.hardaker1995@gmail.com>
Thu, 14 Apr 2016 04:16:06 +0000 (14:16 +1000)
committerTimePath <andrew.hardaker1995@gmail.com>
Thu, 14 Apr 2016 04:17:39 +0000 (14:17 +1000)
CMakeLists.txt

index c1e0adb8e603a992640efbf0b21478e8c2d7651c..734d5934f7e5af3a8fe333107881577aa78d95b3 100644 (file)
@@ -1,14 +1,27 @@
-cmake_minimum_required(VERSION 2.8.11)
+cmake_minimum_required(VERSION 2.8.11 FATAL_ERROR)
 project(xonotic)
 
-add_subdirectory(darkplaces)
-add_subdirectory(data/xonotic-data.pk3dir)
-add_subdirectory(gmqcc)
-add_subdirectory(netradiant)
+option(DOWNLOAD_MAPS "Download new maps from the build server" ON)
+option(BUILD_RELEASE "Package a release" OFF)
 
-add_custom_target(update-maps ALL
-        COMMAND ${PROJECT_SOURCE_DIR}/misc/tools/xonotic-map-compiler-autobuild download
-        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
-        )
+macro(subproject name)
+    if (EXISTS "${PROJECT_SOURCE_DIR}/${name}/CMakeLists.txt")
+        add_subdirectory(${name} ${ARGN})
+    endif ()
+endmacro()
 
-include(release.cmake)
+subproject(darkplaces)
+subproject(data/xonotic-data.pk3dir)
+subproject(gmqcc)
+subproject(netradiant)
+
+if (DOWNLOAD_MAPS)
+    add_custom_target(update-maps ALL
+            COMMAND ${PROJECT_SOURCE_DIR}/misc/tools/xonotic-map-compiler-autobuild download
+            WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+            )
+endif ()
+
+if (BUILD_RELEASE)
+    include(release.cmake)
+endif ()