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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list