diff options
author | Brad King <brad.king@kitware.com> | 2016-09-30 12:07:26 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2016-09-30 12:07:26 (GMT) |
commit | 9c932109a29afbaf10aa9dd9fa7b2f421f8db6fd (patch) | |
tree | da0ba5bdda7c5288c9f358a05c3a96787fab2984 | |
parent | b90aa96c783e0e581517012605c34d746916d415 (diff) | |
parent | 957e72c0c5503130157f9ae1579860d1fd9caefa (diff) | |
download | CMake-9c932109a29afbaf10aa9dd9fa7b2f421f8db6fd.zip CMake-9c932109a29afbaf10aa9dd9fa7b2f421f8db6fd.tar.gz CMake-9c932109a29afbaf10aa9dd9fa7b2f421f8db6fd.tar.bz2 |
Merge topic 'cmake-server-enable-more'
957e72c0 Utilities/Release: Use python 3 for server mode test on Linux binary
64934f20 Utilities/Release: Enable server mode in all binaries
ec0bf638 bootstrap: Add options to enable/disable server mode explicitly
523f8ec8 server-mode: Add option to enable/disable test case explicitly
6b97a5ef server-mode: Add option to enable/disable the mode explicitly
a8334961 server-mode: Rename variable CMake_{HAVE => ENABLE}_SERVER_MODE
97b6e17c server-mode: Enable from bootstrapped CMake build
-rw-r--r-- | CMakeLists.txt | 27 | ||||
-rw-r--r-- | Source/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Tests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Utilities/Release/linux64_release.cmake | 2 | ||||
-rw-r--r-- | Utilities/Release/osx_release.cmake | 1 | ||||
-rw-r--r-- | Utilities/Release/win32_release.cmake | 1 | ||||
-rw-r--r-- | Utilities/Release/win64_release.cmake | 1 | ||||
-rwxr-xr-x | bootstrap | 11 |
8 files changed, 38 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e1aaf5..309e224 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -695,15 +695,28 @@ endif() CMAKE_SETUP_TESTING() # Check whether to build server mode or not: -set(CMake_HAVE_SERVER_MODE 0) -if(NOT CMake_TEST_EXTERNAL_CMAKE AND NOT CMAKE_BOOTSTRAP AND CMAKE_USE_LIBUV) - list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_auto_type CMake_HAVE_CXX_AUTO_TYPE) - list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_range_for CMake_HAVE_CXX_RANGE_FOR) - if(CMake_HAVE_CXX_AUTO_TYPE AND CMake_HAVE_CXX_RANGE_FOR) - if(CMake_HAVE_CXX_MAKE_UNIQUE) - set(CMake_HAVE_SERVER_MODE 1) +if(NOT CMake_TEST_EXTERNAL_CMAKE) + if(NOT DEFINED CMake_ENABLE_SERVER_MODE) + list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_auto_type CMake_HAVE_CXX_AUTO_TYPE) + list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_range_for CMake_HAVE_CXX_RANGE_FOR) + if(CMAKE_USE_LIBUV + AND CMake_HAVE_CXX_AUTO_TYPE + AND CMake_HAVE_CXX_MAKE_UNIQUE + AND CMake_HAVE_CXX_RANGE_FOR + ) + set(CMake_ENABLE_SERVER_MODE 1) + else() + set(CMake_ENABLE_SERVER_MODE 0) endif() endif() + if(CMake_ENABLE_SERVER_MODE AND NOT CMAKE_USE_LIBUV) + message(FATAL_ERROR "The server mode requires libuv!") + endif() +else() + set(CMake_ENABLE_SERVER_MODE 0) +endif() +if(NOT DEFINED CMake_TEST_SERVER_MODE) + set(CMake_TEST_SERVER_MODE ${CMake_ENABLE_SERVER_MODE}) endif() if(NOT CMake_TEST_EXTERNAL_CMAKE) diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index b8f02e3..2641381 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -778,7 +778,7 @@ add_executable(cmake cmakemain.cxx cmcmd.cxx cmcmd.h ${MANIFEST_FILE}) list(APPEND _tools cmake) target_link_libraries(cmake CMakeLib) -if(CMake_HAVE_SERVER_MODE) +if(CMake_ENABLE_SERVER_MODE) add_library(CMakeServerLib cmServer.cxx cmServer.h cmServerConnection.cxx cmServerConnection.h diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index c056fb8..31ed2eb 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -2723,7 +2723,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release ADD_TEST_MACRO(CMakeCommands.target_compile_definitions target_compile_definitions) ADD_TEST_MACRO(CMakeCommands.target_compile_options target_compile_options) - if(CMake_HAVE_SERVER_MODE) + if(CMake_TEST_SERVER_MODE) # The cmake server-mode test requires python for a simple client. find_package(PythonInterp QUIET) if(PYTHON_EXECUTABLE) diff --git a/Utilities/Release/linux64_release.cmake b/Utilities/Release/linux64_release.cmake index e7e154e..b72fc12 100644 --- a/Utilities/Release/linux64_release.cmake +++ b/Utilities/Release/linux64_release.cmake @@ -31,8 +31,10 @@ CMAKE_USE_OPENSSL:BOOL=ON OPENSSL_CRYPTO_LIBRARY:FILEPATH=/home/kitware/openssl-1.0.2h/lib/libcrypto.a OPENSSL_INCLUDE_DIR:PATH=/home/kitware/openssl-1.0.2h/include OPENSSL_SSL_LIBRARY:FILEPATH=/home/kitware/openssl-1.0.2h/lib/libssl.a +PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 CPACK_SYSTEM_NAME:STRING=Linux-x86_64 BUILD_QtDialog:BOOL:=TRUE +CMake_ENABLE_SERVER_MODE:BOOL=TRUE CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 CMake_INSTALL_DEPENDENCIES:BOOL=ON CMAKE_PREFIX_PATH:STRING=${qt_prefix} diff --git a/Utilities/Release/osx_release.cmake b/Utilities/Release/osx_release.cmake index 12b12d7..27c820f 100644 --- a/Utilities/Release/osx_release.cmake +++ b/Utilities/Release/osx_release.cmake @@ -20,6 +20,7 @@ CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7 CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE CPACK_SYSTEM_NAME:STRING=Darwin-x86_64 BUILD_QtDialog:BOOL=TRUE +CMake_ENABLE_SERVER_MODE:BOOL=TRUE CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 CMake_INSTALL_DEPENDENCIES:BOOL=ON CMAKE_SKIP_RPATH:BOOL=TRUE diff --git a/Utilities/Release/win32_release.cmake b/Utilities/Release/win32_release.cmake index f54a4ca..df9fe27 100644 --- a/Utilities/Release/win32_release.cmake +++ b/Utilities/Release/win32_release.cmake @@ -15,6 +15,7 @@ CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE CMAKE_Fortran_COMPILER:FILEPATH=FALSE CMAKE_GENERATOR:INTERNAL=Ninja BUILD_QtDialog:BOOL:=TRUE +CMake_ENABLE_SERVER_MODE:BOOL=TRUE CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 CMake_INSTALL_DEPENDENCIES:BOOL=ON CMAKE_EXE_LINKER_FLAGS:STRING=-machine:x86 -subsystem:console,5.01 diff --git a/Utilities/Release/win64_release.cmake b/Utilities/Release/win64_release.cmake index bd2690f..ab52d79 100644 --- a/Utilities/Release/win64_release.cmake +++ b/Utilities/Release/win64_release.cmake @@ -16,6 +16,7 @@ CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE CMAKE_Fortran_COMPILER:FILEPATH=FALSE CMAKE_GENERATOR:INTERNAL=Ninja BUILD_QtDialog:BOOL:=TRUE +CMake_ENABLE_SERVER_MODE:BOOL=TRUE CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:STRING=3 CMake_INSTALL_DEPENDENCIES:BOOL=ON CMAKE_EXE_LINKER_FLAGS:STRING=-machine:x64 -subsystem:console,5.02 @@ -65,6 +65,7 @@ cmake_init_file="" cmake_bootstrap_system_libs="" cmake_bootstrap_qt_gui="" cmake_bootstrap_qt_qmake="" +cmake_bootstrap_server="" cmake_sphinx_man="" cmake_sphinx_html="" cmake_sphinx_qthelp="" @@ -407,6 +408,9 @@ Configuration: --no-qt-gui do not build the Qt-based GUI (default) --qt-qmake=<qmake> use <qmake> as the qmake executable to find Qt + --server enable the server mode (default if supported) + --no-server disable the server mode + --sphinx-man build man pages with Sphinx --sphinx-html build html help with Sphinx --sphinx-qthelp build qch help with Sphinx @@ -641,6 +645,8 @@ while test $# != 0; do --qt-gui) cmake_bootstrap_qt_gui="1" ;; --no-qt-gui) cmake_bootstrap_qt_gui="0" ;; --qt-qmake=*) cmake_bootstrap_qt_qmake=`cmake_arg "$1"` ;; + --server) cmake_bootstrap_server="1" ;; + --no-server) cmake_bootstrap_server="0" ;; --sphinx-man) cmake_sphinx_man="1" ;; --sphinx-html) cmake_sphinx_html="1" ;; --sphinx-qthelp) cmake_sphinx_qthelp="1" ;; @@ -1401,6 +1407,11 @@ if [ "x${cmake_bootstrap_qt_qmake}" != "x" ]; then set (QT_QMAKE_EXECUTABLE "'"${cmake_bootstrap_qt_qmake}"'" CACHE FILEPATH "Location of Qt qmake" FORCE) ' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake" fi +if [ "x${cmake_bootstrap_server}" != "x" ]; then + echo ' +set (CMake_ENABLE_SERVER_MODE '"${cmake_bootstrap_server}"' CACHE BOOL "Enable server mode" FORCE) +' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake" +fi if [ "x${cmake_sphinx_man}" != "x" ]; then echo ' set (SPHINX_MAN "'"${cmake_sphinx_man}"'" CACHE BOOL "Build man pages with Sphinx" FORCE) |