Changeset: 6637cbe81e6c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6637cbe81e6c Modified Files: CMakeLists.txt cmake/Distribute.cmake cmake/FindLiblas.cmake common/utils/FindRevision.cmake monetdb5/extras/rapi/CMakeLists.txt sql/backends/monet5/UDF/capi/CMakeLists.txt sql/backends/monet5/UDF/pyapi3/CMakeLists.txt testing/CMakeLists.txt Branch: cmake-monetdblite Log Message:
Merge with cmake-fun. diffs (151 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,9 +113,15 @@ set(OPTIONS_LIST CINTEGRATION EMBEDDED F foreach(EXTENSION IN LISTS OPTIONS_LIST) if(ENABLE_${EXTENSION}) string(TOUPPER "${ENABLE_${EXTENSION}}" ENABLE_${EXTENSION}) + if(NOT "${EXTENSION}" STREQUAL "REGEX" AND NOT "${ENABLE_${EXTENSION}}" MATCHES "^YES|NO|AUTO$") + message(FATAL_ERROR "ENABLE_${EXTENSION} value must be either YES, NO or AUTO") + endif() endif() if(WITH_${EXTENSION}) string(TOUPPER "${WITH_${EXTENSION}}" WITH_${EXTENSION}) + if(NOT "${WITH_${EXTENSION}}" MATCHES "^YES|NO|AUTO$") + message(FATAL_ERROR "WITH_${EXTENSION} value must be either YES, NO or AUTO") + endif() endif() endforeach() @@ -320,8 +326,10 @@ if(Python3_Interpreter_FOUND) if("${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" VERSION_LESS ${PYTHON3_REQUIRED_VERSION}) message(WARNING "The Python 3 executable is too old ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR} < ${PYTHON3_REQUIRED_VERSION}") else() - exec_program("${Python3_EXECUTABLE}" ARGS "-c \"import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,'${CMAKE_INSTALL_PREFIX}'))\"" OUTPUT_VARIABLE PYTHON3_LIBDIR RETURN_VALUE PYTHON3_LIBDIR_CODE) - if(PYTHON3_LIBDIR AND PYTHON3_LIBDIR_CODE EQUAL 0) + execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" + "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0,'${CMAKE_INSTALL_PREFIX}'))" + RESULT_VARIABLE PY3_LIBDIR_CODE OUTPUT_VARIABLE PYTHON3_LIBDIR OUTPUT_STRIP_TRAILING_WHITESPACE) + if(PYTHON3_LIBDIR AND PY3_LIBDIR_CODE EQUAL 0) set(HAVE_PYTHON3 ON CACHE INTERNAL "python3 is available") else() message(WARNING "Could not determine MonetDB Python testing files instalation directory") diff --git a/cmake/Distribute.cmake b/cmake/Distribute.cmake --- a/cmake/Distribute.cmake +++ b/cmake/Distribute.cmake @@ -37,7 +37,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" find_program(ECHO NAMES echo DOC "echo program fullpath") if(NOT ECHO OR NOT BASH) - message(FATAL_ERROR "echo and bash program are required to build rpms") + message(FATAL_ERROR "echo and bash programs are required to build rpms") endif() # Create a temporary file in CMakeFiles and copy it to the final location while setting proper permissions @@ -47,7 +47,8 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" FILE_PERMISSIONS ${PROGRAM_PERMISSIONS_DEFAULT}) file(REMOVE ${CMAKE_BINARY_DIR}/CMakeFiles/find_linux_distro.sh) - exec_program("${CMAKE_BINARY_DIR}/find_linux_distro.sh" OUTPUT_VARIABLE LINUX_DIST RETURN_VALUE LINUX_DIST_RC) + execute_process(COMMAND "${CMAKE_BINARY_DIR}/find_linux_distro.sh" RESULT_VARIABLE LINUX_DIST_RC + OUTPUT_VARIABLE LINUX_DIST OUTPUT_STRIP_TRAILING_WHITESPACE) if(LINUX_DIST AND LINUX_DIST_RC EQUAL 0) configure_file(${CMAKE_SOURCE_DIR}/rpm.mk.in ${CMAKE_BINARY_DIR}/rpm.mk @ONLY) install(FILES ${CMAKE_BINARY_DIR}/rpm.mk DESTINATION ${INCLUDEDIR}/monetdb) diff --git a/cmake/FindLiblas.cmake b/cmake/FindLiblas.cmake --- a/cmake/FindLiblas.cmake +++ b/cmake/FindLiblas.cmake @@ -12,7 +12,8 @@ find_path(LIBLAS_INCLUDE_DIR NAMES libla # Look for the library. find_program(LIBLAS_CONFIG "liblas-config") if(LIBLAS_CONFIG) - exec_program("${LIBLAS_CONFIG}" ARGS "--libs" OUTPUT_VARIABLE LIBLAS_LIBRARIES RETURN_VALUE LIBLAS_LIBDIR_CODE) + execute_process(COMMAND "${LIBLAS_CONFIG}" "--libs" RESULT_VARIABLE LIBLAS_LIBDIR_CODE + OUTPUT_VARIABLE LIBLAS_LIBRARIES OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT LIBLAS_LIBDIR_CODE EQUAL 0) unset(LIBLAS_LIBRARIES) endif() diff --git a/common/utils/FindRevision.cmake b/common/utils/FindRevision.cmake --- a/common/utils/FindRevision.cmake +++ b/common/utils/FindRevision.cmake @@ -12,14 +12,16 @@ endif() # Get the current version control revision if(EXISTS "${CMAKE_ARGV4}/.hg") - exec_program("hg" "${CMAKE_ARGV4}" ARGS "id -i" OUTPUT_VARIABLE HG_OUPUT_RES RETURN_VALUE HG_RETURN_CODE) + execute_process(COMMAND "hg" "id" "-i" WORKING_DIRECTORY "${CMAKE_ARGV4}" RESULT_VARIABLE HG_RETURN_CODE + OUTPUT_VARIABLE HG_OUPUT_RES OUTPUT_STRIP_TRAILING_WHITESPACE) if(HG_RETURN_CODE EQUAL 0 AND HG_OUPUT_RES) set(MERCURIAL_ID "${HG_OUPUT_RES}") else() message(FATAL_ERROR "Failed to find mercurial ID") endif() elseif(EXISTS "${CMAKE_ARGV4}/.git") - exec_program("git" "${CMAKE_ARGV4}" ARGS "rev-parse --short HEAD" OUTPUT_VARIABLE GIT_OUPUT_RES RETURN_VALUE GIT_RETURN_CODE) + execute_process(COMMAND "git" "rev-parse" "--short" "HEAD" WORKING_DIRECTORY "${CMAKE_ARGV4}" + RESULT_VARIABLE GIT_RETURN_CODE OUTPUT_VARIABLE GIT_OUPUT_RES OUTPUT_STRIP_TRAILING_WHITESPACE) if(GIT_RETURN_CODE EQUAL 0 AND GIT_OUPUT_RES) set(MERCURIAL_ID "${GIT_OUPUT_RES}") else() diff --git a/monetdb5/extras/rapi/CMakeLists.txt b/monetdb5/extras/rapi/CMakeLists.txt --- a/monetdb5/extras/rapi/CMakeLists.txt +++ b/monetdb5/extras/rapi/CMakeLists.txt @@ -19,9 +19,12 @@ if(NOT ${ENABLE_RINTEGRATION} STREQUAL " endif() endif() else() # UNIX - exec_program("R" ARGS "RHOME" OUTPUT_VARIABLE R_HOME_OUTPUT RETURN_VALUE R_HOME_RC) - exec_program("R" ARGS "CMD config --cppflags" OUTPUT_VARIABLE R_CPP_OUTPUT RETURN_VALUE R_CPP_RC) - exec_program("R" ARGS "CMD config --ldflags" OUTPUT_VARIABLE R_LD_OUTPUT RETURN_VALUE R_LD_RC) + execute_process(COMMAND "R" "RHOME" RESULT_VARIABLE R_HOME_RC OUTPUT_VARIABLE R_HOME_OUTPUT + OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND "R" "CMD" "config" "--cppflags" RESULT_VARIABLE R_CPP_RC OUTPUT_VARIABLE R_CPP_OUTPUT + OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND "R" "CMD" "config" "--ldflags" RESULT_VARIABLE R_LD_RC OUTPUT_VARIABLE R_LD_OUTPUT + OUTPUT_STRIP_TRAILING_WHITESPACE) if(R_HOME_RC EQUAL 0 AND R_CPP_RC EQUAL 0 AND R_LD_RC EQUAL 0) string(REPLACE "-I" "" R_INCLUDE_DIR ${R_CPP_OUTPUT}) # cmake will get confused string(REPLACE "-fopenmp" "" R_LIBRARIES ${R_LD_OUTPUT}) # We don't want to link to OpenMP diff --git a/sql/backends/monet5/UDF/capi/CMakeLists.txt b/sql/backends/monet5/UDF/capi/CMakeLists.txt --- a/sql/backends/monet5/UDF/capi/CMakeLists.txt +++ b/sql/backends/monet5/UDF/capi/CMakeLists.txt @@ -28,8 +28,9 @@ if(NOT "${ENABLE_CINTEGRATION}" STREQUAL endif() # Generate cheader.text.h file - exec_program("${Python3_EXECUTABLE}" ARGS "${CMAKE_CURRENT_SOURCE_DIR}/boot.py ${CMAKE_CURRENT_SOURCE_DIR}/cheader.h ${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h" - OUTPUT_VARIABLE CHEADER_OUTPUT RETURN_VALUE CHEADER_CODE) + execute_process(COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/boot.py" + "${CMAKE_CURRENT_SOURCE_DIR}/cheader.h" "${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h" + RESULT_VARIABLE CHEADER_CODE OUTPUT_QUIET) if(NOT CHEADER_CODE EQUAL 0) message(FATAL_ERROR "Could not generate cheader.text.h file") endif() diff --git a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt --- a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt +++ b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt @@ -17,8 +17,10 @@ if(NOT "${ENABLE_PY3INTEGRATION}" STREQU message(STATUS "Python ${PYTHON3_DEV_REQUIRED_VERSION} is required for Python 3 integration support") endif() else() - exec_program("${Python3_EXECUTABLE}" ARGS "-c \"import numpy; print(int(numpy.__version__.split('.').__getitem__(1)) >= 7)\"" OUTPUT_VARIABLE NUMPY_OUTPUT RETURN_VALUE NUMPY_RETURN_CODE) - exec_program("${Python3_EXECUTABLE}" ARGS "-c \"import numpy; print(numpy.get_include())\"" OUTPUT_VARIABLE NUMPY_CPP_FLAGS RETURN_VALUE NUMPY_CPP_RC) + execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" "import numpy; print(int(numpy.__version__.split('.').__getitem__(1)) >= 7)" + RESULT_VARIABLE NUMPY_RETURN_CODE OUTPUT_VARIABLE NUMPY_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" "import numpy; print(numpy.get_include())" + RESULT_VARIABLE NUMPY_CPP_RC OUTPUT_VARIABLE NUMPY_CPP_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) if(NUMPY_RETURN_CODE EQUAL 0 AND NUMPY_CPP_RC EQUAL 0 AND "${NUMPY_OUTPUT}" STREQUAL "True") set(HAVE_LIBPY3 ON CACHE INTERNAL "pyapi3 extension is available" FORCE) set(NUMPY3_INCLUDE_DIR ${NUMPY_CPP_FLAGS} CACHE INTERNAL "Numpy include directory path") diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -43,7 +43,7 @@ foreach(loop_var IN LISTS HAVE_LIST) if(HAVE_${loop_var}) set(HAVE_${loop_var}_FALSE "#") endif() -endforeach(loop_var) +endforeach() configure_file(Mtest.py.in ${CMAKE_CURRENT_BINARY_DIR}/Mtest.py @ONLY) configure_file(monet_options.py.in ${CMAKE_CURRENT_BINARY_DIR}/monet_options.py @ONLY) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list