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

Reply via email to