瀏覽代碼

CMakeLists.txt: use option() for build options to play nice with ccmake and cmake GUIs

ambrop7 13 年之前
父節點
當前提交
a6501b8593
共有 1 個文件被更改,包括 16 次插入18 次删除
  1. 16 18
      CMakeLists.txt

+ 16 - 18
CMakeLists.txt

@@ -10,31 +10,29 @@ include(CheckTypeSize)
 
 set(BUILD_COMPONENTS)
 
-macro (build_switch name default)
-    if (NOT DEFINED BUILD_${name})
-        if (BUILD_NOTHING_BY_DEFAULT)
-            set(BUILD_${name} 0)
-        else ()
-            set(BUILD_${name} "${default}")
-        endif ()
+macro (build_switch name text default)
+    if (BUILD_NOTHING_BY_DEFAULT)
+        option(BUILD_${name} "${text}" OFF)
+    else ()
+        option(BUILD_${name} "${text}" "${default}")
     endif ()
     list(APPEND BUILD_COMPONENTS "${name}")
 endmacro ()
 
 # define build defaults
-build_switch(EXAMPLES 1)
-build_switch(TESTS 1)
-build_switch(SERVER 1)
-build_switch(CLIENT 1)
-build_switch(FLOODER 1)
-build_switch(TUN2SOCKS 1)
-build_switch(UDPGW 1)
+build_switch(EXAMPLES "build example programs" ON)
+build_switch(TESTS "build some other example programs" ON)
+build_switch(SERVER "build badvpn-server" ON)
+build_switch(CLIENT "build badvpn-client" ON)
+build_switch(FLOODER "build badvpn-flooder" ON)
+build_switch(TUN2SOCKS "build badvpn-tun2socks" ON)
+build_switch(UDPGW "build badvpn-udpgw" ON)
 if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
-    build_switch(NCD 1)
-    build_switch(TUNCTL 1)
+    build_switch(NCD "build badvpn-ncd" ON)
+    build_switch(TUNCTL "build badvpn-tunctl" ON)
 else ()
-    build_switch(NCD 0)
-    build_switch(TUNCTL 0)
+    build_switch(NCD "build badvpn-ncd" OFF)
+    build_switch(TUNCTL "build badvpn-tunctl" OFF)
 endif ()
 
 if (BUILD_NCD AND NOT (CMAKE_SYSTEM_NAME STREQUAL "Linux"))