Changeset: fa0770ab3362 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fa0770ab3362
Modified Files:
        CMakeLists.txt
        cmake/monetdb_config.h.in
Branch: cmake-fun
Log Message:

Fixed configure file input directives (use cmakedefine), this simplifies 
CMakeLists.txt file too.


diffs (truncated from 1589 to 300 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,12 +23,11 @@ include(TestLargeFiles REQUIRED)
 
 cmake_policy(SET CMP0075 NEW)
 
-function(defineCmacro OPTION VALUE)
-       set(${OPTION} "#define ${VALUE}" PARENT_SCOPE)
-endfunction()
-
-function(undefineCmacro OPTION) # TODO check this
-       set(${OPTION} "#undef ${OPTION}" PARENT_SCOPE)
+function(MT_clibsToCmake INPUT_INCS OUTPUT_INCS) # Remove -I before the 
include path
+       string(LENGTH "${INPUT_INCS}" INPUT_INCS_LENGTH)
+       string(SUBSTRING "${INPUT_INCS}" 2 ${INPUT_INCS_LENGTH} INPUT_INCS)
+       string(REPLACE "\ -I" ";" HELPER ${INPUT_INCS})
+       set(${OUTPUT_INCS} "${HELPER}" PARENT_SCOPE)
 endfunction()
 
 # set prefix with -DCMAKE_INSTALL_PREFIX=...
@@ -36,26 +35,26 @@ endfunction()
 # set host data
 string(TOLOWER "${CMAKE_SYSTEM_NAME}" CMAKE_SYSTEM_NAME_LOWER)
 string(TOLOWER "${CMAKE_C_COMPILER_ID}" CMAKE_C_COMPILER_ID_LOWER)
-defineCmacro("HOST" "HOST 
\"${CMAKE_SYSTEM_PROCESSOR}-pc-${CMAKE_SYSTEM_NAME_LOWER}-${CMAKE_C_COMPILER_ID_LOWER}\"")
+set("HOST" 
"${CMAKE_SYSTEM_PROCESSOR}-pc-${CMAKE_SYSTEM_NAME_LOWER}-${CMAKE_C_COMPILER_ID_LOWER}")
 
 # Read libversions file
 file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/libversions" LIB_VERSIONS)
 
 string(REGEX MATCH "GDK_VERSION=[^\ \t\r\n]+" GDK_VERSION ${LIB_VERSIONS})
-string(LENGTH ${GDK_VERSION} GDK_VERSION_LENGTH)
-string(SUBSTRING ${GDK_VERSION} 12 GDK_VERSION_LENGTH GDK_VERSION)
+string(LENGTH "${GDK_VERSION}" GDK_VERSION_LENGTH)
+string(SUBSTRING "${GDK_VERSION}" 12 ${GDK_VERSION_LENGTH} GDK_VERSION)
 
 string(REGEX MATCH "MAPI_VERSION=[^\ \t\r\n]+" MAPI_VERSION ${LIB_VERSIONS})
-string(LENGTH ${MAPI_VERSION} MAPI_VERSION_LENGTH)
-string(SUBSTRING ${MAPI_VERSION} 13 MAPI_VERSION_LENGTH MAPI_VERSION)
+string(LENGTH "${MAPI_VERSION}" MAPI_VERSION_LENGTH)
+string(SUBSTRING "${MAPI_VERSION}" 13 ${MAPI_VERSION_LENGTH} MAPI_VERSION)
 
 string(REGEX MATCH "MONETDB5_VERSION=[^\ \t\r\n]+" MONETDB5_VERSION 
${LIB_VERSIONS})
-string(LENGTH ${MONETDB5_VERSION} MONETDB5_VERSION_LENGTH)
-string(SUBSTRING ${MONETDB5_VERSION} 17 MONETDB5_VERSION_LENGTH 
MONETDB5_VERSION)
+string(LENGTH "${MONETDB5_VERSION}" MONETDB5_VERSION_LENGTH)
+string(SUBSTRING "${MONETDB5_VERSION}" 17 ${MONETDB5_VERSION_LENGTH} 
MONETDB5_VERSION)
 
 string(REGEX MATCH "STREAM_VERSION=[^\ \t\r\n]+" STREAM_VERSION 
${LIB_VERSIONS})
-string(LENGTH ${STREAM_VERSION} STREAM_VERSION_LENGTH)
-string(SUBSTRING ${STREAM_VERSION} 15 STREAM_VERSION_LENGTH STREAM_VERSION)
+string(LENGTH "${STREAM_VERSION}" STREAM_VERSION_LENGTH)
+string(SUBSTRING "${STREAM_VERSION}" 15 ${STREAM_VERSION_LENGTH} 
STREAM_VERSION)
 
 if("${CMAKE_C_COMPILER_ID}" STREQUAL "Intel")
        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -no-gcc") # Intel compiler hack
@@ -84,7 +83,7 @@ set(ENABLE_TESTING "AUTO" CACHE STRING "
 # modules to use
 set(ENABLE_MAPI "YES" CACHE STRING "Enable MAPI (default=yes)")
 if(NOT ${ENABLE_MAPI} STREQUAL "NO")
-       defineCmacro("HAVE_MAPI" "HAVE_MAPI 1")
+       set(HAVE_MAPI ON)
 endif()
 
 set(ENABLE_GDK "YES" CACHE STRING "Enable support for GDK (default=yes)")
@@ -130,12 +129,12 @@ endif()
 
 set(ENABLE_EMBEDDED "NO" CACHE STRING "Enable support for running MonetDB as a 
library (default=no)")
 if(NOT ${ENABLE_EMBEDDED} STREQUAL "NO")
-       defineCmacro("HAVE_EMBEDDED" "HAVE_EMBEDDED 1")
+       set(HAVE_EMBEDDED ON)
 endif()
 
 set(ENABLE_CONSOLE "YES" CACHE STRING "Enables direct console on the server 
(involves security risks) (default=yes)")
 if(NOT ${ENABLE_CONSOLE} STREQUAL "NO")
-       defineCmacro("HAVE_CONSOLE" "HAVE_CONSOLE 1")
+       set(HAVE_CONSOLE ON)
 endif()
 
 set(ENABLE_INT128 "AUTO" CACHE STRING "Enable support for 128-bit integers 
(default=auto)")
@@ -146,14 +145,14 @@ set(ENABLE_STRICT "${DFT_STRICT}" CACHE 
 set(ENABLE_SANITIZER "NO" CACHE STRING "Enable support for the GCC address 
sanitizer (default=no)")
 set(ENABLE_STATIC_ANALYSIS "NO" CACHE STRING "Configure for static code 
analysis (use only if you know what you are doing)")
 if(NOT ${ENABLE_STATIC_ANALYSIS} STREQUAL "NO")
-       defineCmacro("STATIC_CODE_ANALYSIS" "STATIC_CODE_ANALYSIS 1")
+       set(STATIC_CODE_ANALYSIS ON)
 endif()
 
 # password hash algorithm
 set(PASSWORD_BACKEND "SHA512" CACHE STRING "Password hash algorithm, one of 
MD5, SHA1, RIPEMD160, SHA224, SHA256, SHA384, SHA512, defaults to SHA512")
 if(${PASSWORD_BACKEND} MATCHES 
"^MD5|SHA1|RIPEMD160|SHA224|SHA256|SHA384|SHA512$")
-       defineCmacro("MONETDB5_PASSWDHASH" "MONETDB5_PASSWDHASH 
${PASSWORD_BACKEND}")
-       defineCmacro("MONETDB5_PASSWDHASH_TOKEN" "MONETDB5_PASSWDHASH_TOKEN 
\"${PASSWORD_BACKEND}\"")
+       set("MONETDB5_PASSWDHASH" ${PASSWORD_BACKEND})
+       set("MONETDB5_PASSWDHASH_TOKEN" ${PASSWORD_BACKEND})
 else()
        message(FATAL_ERROR "PASSWORD_BACKEND invalid, choose one of MD5, SHA1, 
RIPEMD160, SHA224, SHA256, SHA384, SHA512")
 endif()
@@ -163,17 +162,8 @@ set(LOGDIR "${CMAKE_INSTALL_FULL_LOCALST
 set(RUNDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/monetdb" CACHE STRING 
"Where to put pid files (LOCALSTATEDIR/run/monetdb)")
 
 OPJ_TEST_LARGE_FILES(_LARGE_FILES)
-if(_LARGE_FILES)
-       defineCmacro("_LARGE_FILES" "HAVE _LARGE_FILES 1")
-endif()
 OPJ_TEST_LARGE_FILES(_LARGEFILE_SOURCE)
-if(_LARGEFILE_SOURCE)
-       defineCmacro("_LARGEFILE_SOURCE" "HAVE _LARGEFILE_SOURCE 1")
-endif()
 OPJ_TEST_LARGE_FILES(_FILE_OFFSET_BITS)
-if(_FILE_OFFSET_BITS)
-       defineCmacro("_FILE_OFFSET_BITS" "HAVE _FILE_OFFSET_BITS 64")
-endif()
 
 if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES 
"^GNU|Intel|Clang|MSVC|AppleClang|SunPro$")
        message(WARNING "Compiler potentially not (correctly) recognized")
@@ -299,7 +289,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Intel"
                file(READ "${ROOT}/usr/include/math.h" TMPTXT)
                string(FIND "${TMPTXT}" "_LIB_VERSION_TYPE" FOUND_VERSION)
                if(FOUND_VERSION)
-                       defineCmacro("INTEL_MATH_H_HACK" "INTEL_MATH_H_HACK 1")
+                       set(INTEL_MATH_H_HACK ON)
                endif()
        endif()
 endif()
@@ -353,7 +343,7 @@ if(${ENABLE_DEBUG} STREQUAL "YES")
                set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} -g")
        endif()
 
-       string(LENGTH NEW_CMAKE_C_FLAGS NEW_CMAKE_FLAGS_LENGTH)
+       string(LENGTH "${NEW_CMAKE_C_FLAGS}" NEW_CMAKE_FLAGS_LENGTH)
        if(NEW_CMAKE_FLAGS_LENGTH GREATER 0)
                message(STATUS "Added${NEW_CMAKE_C_FLAGS} flag(s) for debug 
build")
                set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${NEW_CMAKE_C_FLAGS}")
@@ -361,7 +351,7 @@ if(${ENABLE_DEBUG} STREQUAL "YES")
 endif()
 
 if(${ENABLE_ASSERT} STREQUAL "NO")
-       defineCmacro("NDEBUG" "NDEBUG 1")
+       set(NDEBUG ON)
 endif()
 
 if(${ENABLE_OPTIMIZE} STREQUAL "YES")
@@ -399,7 +389,7 @@ if(${ENABLE_OPTIMIZE} STREQUAL "YES")
                set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} -O2")
        endif()
 
-       string(LENGTH NEW_CMAKE_C_FLAGS NEW_CMAKE_FLAGS_LENGTH)
+       string(LENGTH "${NEW_CMAKE_C_FLAGS}" NEW_CMAKE_FLAGS_LENGTH)
        if(NEW_CMAKE_FLAGS_LENGTH GREATER 0)
                message(STATUS "Added${NEW_CMAKE_C_FLAGS} flag(s) for optimize 
build")
                set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${NEW_CMAKE_C_FLAGS}")
@@ -436,7 +426,7 @@ if(NOT ${PYTHON2} STREQUAL "NO")
        if(${PYTHON2} STREQUAL "AUTO")
                set(PYTHON2_INTERPRETER "python2")
        else()
-               set(PYTHON2_INTERPRETER "${PYTHON2}")
+               set(PYTHON2_INTERPRETER "${PYTHON2}/python2")
        endif()
 
        if(NOT CMAKE_CROSSCOMPILING)
@@ -463,8 +453,8 @@ if(NOT ${PYTHON2} STREQUAL "NO")
                endif()
        endif()
 
-       string(LENGTH PY2_OUPUT_RES PY2_OUPUT_LENGTH)
-       string(SUBSTRING ${PY2_OUPUT_RES} 9 PY2_OUPUT_LENGTH PY2_VERSION)
+       string(LENGTH "${PY2_OUPUT_RES}" PY2_OUPUT_LENGTH)
+       string(SUBSTRING "${PY2_OUPUT_RES}" 9 ${PY2_OUPUT_LENGTH} PY2_VERSION)
        if(PY2_VERSION LESS 6)
                set(HAVE_PYTHON2 NO)
                if(${PYTHON2} STREQUAL "YES")
@@ -493,10 +483,10 @@ if(NOT ${PYTHON2} STREQUAL "NO")
                endif()
 
                if(PYTHON2_LIBDIR AND PYTHON2_LIBDIR_CODE EQUAL 0)
-                       string(LENGTH CMAKE_INSTALL_PREFIX 
CMAKE_INSTALL_PREFIX_LENGTH)
+                       string(LENGTH "${CMAKE_INSTALL_PREFIX}" 
CMAKE_INSTALL_PREFIX_LENGTH)
                        math(EXPR CMAKE_INSTALL_PREFIX_LENGTH 
"${CMAKE_INSTALL_PREFIX_LENGTH}+1") # add the / separator
-                       string(LENGTH PYTHON2_LIBDIR 
PYTHON2_LIBDIR_PREFIX_LENGTH)
-                       string(SUBSTRING ${PYTHON2_LIBDIR} 
${CMAKE_INSTALL_PREFIX_LENGTH} PYTHON2_LIBDIR_PREFIX_LENGTH PYTHON2_LIBDIR) # 
remove the prefix
+                       string(LENGTH "${PYTHON2_LIBDIR}" 
PYTHON2_LIBDIR_PREFIX_LENGTH)
+                       string(SUBSTRING "${PYTHON2_LIBDIR}" 
${CMAKE_INSTALL_PREFIX_LENGTH} ${PYTHON2_LIBDIR_PREFIX_LENGTH} PYTHON2_LIBDIR) 
# remove the prefix
                elseif(${PYTHON2} STREQUAL "YES")
                        message(FATAL_ERROR " Could not find PYTHON2_LIBDIR")
                else()
@@ -511,7 +501,7 @@ if(NOT ${PYTHON3} STREQUAL "NO")
        if(${PYTHON3} STREQUAL "AUTO")
                set(PYTHON3_INTERPRETER "python3")
        else()
-               set(PYTHON3_INTERPRETER "${PYTHON3}")
+               set(PYTHON3_INTERPRETER "${PYTHON3}/python3")
        endif()
 
        if(NOT CMAKE_CROSSCOMPILING)
@@ -538,8 +528,8 @@ if(NOT ${PYTHON3} STREQUAL "NO")
                endif()
        endif()
 
-       string(LENGTH PY3_OUPUT_RES PY3_OUPUT_LENGTH)
-       string(SUBSTRING ${PY3_OUPUT_RES} 9 PY3_OUPUT_LENGTH PY3_VERSION)
+       string(LENGTH "${PY3_OUPUT_RES}" PY3_OUPUT_LENGTH)
+       string(SUBSTRING "${PY3_OUPUT_RES}" 9 PY3_OUPUT_LENGTH PY3_VERSION)
        if(PY3_VERSION LESS 5)
                set(HAVE_PYTHON3 NO)
                if(${PYTHON3} STREQUAL "YES")
@@ -561,10 +551,10 @@ if(NOT ${PYTHON3} STREQUAL "NO")
                exec_program("${PYTHON3_INTERPRETER}" ARGS "-c 'import 
distutils.sysconfig; 
print(distutils.sysconfig.get_python_lib(0,0,\"${CMAKE_INSTALL_PREFIX}\"))'" 
OUTPUT_VARIABLE PYTHON3_LIBDIR RETURN_VALUE PYTHON3_LIBDIR_CODE)
 
                if(PYTHON3_LIBDIR AND PYTHON3_LIBDIR_CODE EQUAL 0)
-                       string(LENGTH CMAKE_INSTALL_PREFIX 
CMAKE_INSTALL_PREFIX_LENGTH)
+                       string(LENGTH "${CMAKE_INSTALL_PREFIX}" 
CMAKE_INSTALL_PREFIX_LENGTH)
                        math(EXPR CMAKE_INSTALL_PREFIX_LENGTH 
"${CMAKE_INSTALL_PREFIX_LENGTH}+1") # add the / separator
-                       string(LENGTH PYTHON3_LIBDIR 
PYTHON3_LIBDIR_PREFIX_LENGTH)
-                       string(SUBSTRING ${PYTHON3_LIBDIR} 
${CMAKE_INSTALL_PREFIX_LENGTH} PYTHON3_LIBDIR_PREFIX_LENGTH PYTHON3_LIBDIR) # 
remove the prefix
+                       string(LENGTH "${PYTHON3_LIBDIR}" 
PYTHON3_LIBDIR_PREFIX_LENGTH)
+                       string(SUBSTRING "${PYTHON3_LIBDIR}" 
${CMAKE_INSTALL_PREFIX_LENGTH} ${PYTHON3_LIBDIR_PREFIX_LENGTH} PYTHON3_LIBDIR) 
# remove the prefix
                elseif(${PYTHON3} STREQUAL "YES")
                        message(FATAL_ERROR " Could not find PYTHON3_LIBDIR")
                else()
@@ -626,12 +616,12 @@ else()
        message(FATAL_ERROR "Unknown target operating system")
 endif()
 
-defineCmacro("DIR_SEP"      "DIR_SEP ${OS_DIRSEP}")
-defineCmacro("DIR_SEP_STR"  "DIR_SEP_STR \"${OS_DIRSEP}\"")
-defineCmacro("PATH_SEP"     "PATH_SEP ${OS_PATHSEP}")
-defineCmacro("PATH_SEP_STR" "PATH_SEP_STR \"${OS_PATHSEP}\"")
-defineCmacro("SO_EXT"       "SO_EXT \"${OS_SOEXT}\"")
-defineCmacro("SO_PREFIX"    "SO_PREFIX \"${OS_SOPREF}\"")
+set(DIR_SEP      ${OS_DIRSEP})
+set(DIR_SEP_STR  ${OS_DIRSEP})
+set(PATH_SEP     ${OS_PATHSEP})
+set(PATH_SEP_STR ${OS_PATHSEP})
+set(SO_EXT       ${OS_SOEXT})
+set(SO_PREFIX    ${OS_SOPREF})
 
 # checks for libraries
 set(PREV_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}")
@@ -658,16 +648,16 @@ if(NOT ${WITH_BZ2} STREQUAL "NO")
        endif()
 endif()
 if(HAVE_BZLIB)
-       defineCmacro("HAVE_LIBBZ2" "HAVE_LIBBZ2 1")
+       set(HAVE_LIBBZ2 ON)
 endif()
 
-set(WITH_SNAPPY "AUTO" CACHE STRING "Include snappy support (default=auto)") # 
Check with SNAPPY_FOUND
+set(WITH_SNAPPY "AUTO" CACHE STRING "Include snappy support (default=auto)") # 
Check with HAVE_LIBSNAPPY
 if(NOT ${WITH_SNAPPY} STREQUAL "NO")
        pkg_search_module(SNAPPY NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH snappy)
 
        if(SNAPPY_FOUND)
                message(STATUS "snappy library found")
-               defineCmacro("HAVE_LIBSNAPPY" "HAVE_LIBSNAPPY 1")
+               set(HAVE_LIBSNAPPY ON)
        elseif(${WITH_SNAPPY} STREQUAL "YES")
                message(FATAL_ERROR "snappy library not found")
        else()
@@ -675,13 +665,13 @@ if(NOT ${WITH_SNAPPY} STREQUAL "NO")
        endif()
 endif()
 
-set(WITH_LZ4 "AUTO" CACHE STRING "Include lz4 library support (default=auto)") 
# Check with LZ4_FOUND
+set(WITH_LZ4 "AUTO" CACHE STRING "Include lz4 library support (default=auto)") 
# Check with HAVE_LIBLZ4
 if(NOT ${WITH_LZ4} STREQUAL "NO")
        pkg_search_module(LZ4 NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH 
liblz4>=1.8.0)
 
        if(LZ4_FOUND)
                message(STATUS "lz4 library found")
-               defineCmacro("HAVE_LIBLZ4" "HAVE_LIBLZ4 1")
+               set(HAVE_LIBLZ4 ON)
        elseif(${WITH_LZ4} STREQUAL "YES")
                message(FATAL_ERROR "lz4 library not found")
        else()
@@ -727,17 +717,8 @@ if(NOT ${WITH_PTHREAD} STREQUAL "NO")
        endif()
 
        check_include_file("pthread.h" HAVE_PTHREAD_H)
-       if(HAVE_PTHREAD_H)
-               defineCmacro("HAVE_PTHREAD_H" "HAVE_PTHREAD_H 1")
-       endif()
        check_include_file("semaphore.h" HAVE_SEMAPHORE_H)
-       if(HAVE_SEMAPHORE_H)
-               defineCmacro("HAVE_SEMAPHORE_H" "HAVE_SEMAPHORE_H 1")
-       endif()
        check_include_file("sched.h" HAVE_SCHED_H)
-       if(HAVE_SCHED_H)
-               defineCmacro("HAVE_SCHED_H" "HAVE_SCHED_H 1")
-       endif()
 
        if(${WITH_PTHREAD} MATCHES "^AUTO|YES$")
                if("${CMAKE_C_COMPILER_ID}" MATCHES "^Clang|AppleClang|GNU$")
@@ -751,21 +732,13 @@ if(NOT ${WITH_PTHREAD} STREQUAL "NO")
 
        set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};pthread")
        check_symbol_exists("pthread_kill" "signal.h" HAVE_PTHREAD_KILL)
-       if(HAVE_PTHREAD_KILL)
-               defineCmacro("HAVE_PTHREAD_KILL" "HAVE_PTHREAD_KILL 1")
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to