Changeset: 8fe4fd6137d7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8fe4fd6137d7 Added Files: ctest/cmake/detect-gdal.cmake ctest/cmake/detect-geos.cmake ctest/cmake/detect-libpy3.cmake ctest/cmake/detect-uuid.cmake ctest/cmake/detect-valgrind.cmake ctest/cmake/test_detect_gdal.c.in ctest/cmake/test_detect_geos.c.in ctest/cmake/test_detect_libpy3.c.in ctest/cmake/test_detect_uuid.c.in ctest/cmake/test_detect_valgrind.c.in Modified Files: clients/odbc/CMakeLists.txt cmake/Modules/FindNumPy.cmake cmake/monetdb-defines.cmake cmake/monetdb-findpackages.cmake cmake/monetdb-functions.cmake cmake/monetdb-options.cmake ctest/cmake/CMakeLists.txt ctest/cmake/set-cmake-vars.cmake ctest/cmake/set-dir-vars.cmake geom/monetdb5/CMakeLists.txt monetdb_config.h.in monetdb_config_win32.h.in sql/backends/monet5/vaults/fits/CMakeLists.txt sql/backends/monet5/vaults/lidar/CMakeLists.txt testing/CMakeLists.txt Branch: mbedded Log Message:
more cmake code cleanup and testing diffs (truncated from 837 to 300 lines): diff --git a/clients/odbc/CMakeLists.txt b/clients/odbc/CMakeLists.txt --- a/clients/odbc/CMakeLists.txt +++ b/clients/odbc/CMakeLists.txt @@ -6,7 +6,7 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V. #]] -if(HAVE_ODBC) +if(ODBC_FOUND) if(WIN32) add_subdirectory(winsetup) else() @@ -14,4 +14,4 @@ if(HAVE_ODBC) endif() add_subdirectory(driver) add_subdirectory(samples) -endif(HAVE_ODBC) +endif() diff --git a/cmake/Modules/FindNumPy.cmake b/cmake/Modules/FindNumPy.cmake --- a/cmake/Modules/FindNumPy.cmake +++ b/cmake/Modules/FindNumPy.cmake @@ -86,4 +86,7 @@ else() "${NUMPY_INCLUDE_DIRS}${NUMPY_VERSION}") set(NUMPY_FOUND TRUE) + if(NUMPY_FOUND) + set(Python3_NumPy_FOUND 1) + endif() endif() diff --git a/cmake/monetdb-defines.cmake b/cmake/monetdb-defines.cmake --- a/cmake/monetdb-defines.cmake +++ b/cmake/monetdb-defines.cmake @@ -49,6 +49,7 @@ function(monetdb_configure_defines) find_path(HAVE_GETOPT_H "getopt.h") check_include_file("stdatomic.h" HAVE_STDATOMIC_H) + find_library(GETOPT_LIB "getopt.lib") check_symbol_exists("opendir" "dirent.h" HAVE_DIRENT_H) check_symbol_exists("gethostbyname" "netdb.h" HAVE_NETDB_H) @@ -114,9 +115,7 @@ function(monetdb_configure_defines) check_symbol_exists("semtimedop" "sys/types.h;sys/ipc.h;sys/sem.h" HAVE_SEMTIMEDOP) check_function_exists("pthread_kill" HAVE_PTHREAD_KILL) check_function_exists("pthread_sigmask" HAVE_PTHREAD_SIGMASK) - if(HAVE_GETOPT_H) - set(HAVE_GETOPT 1 PARENT_SCOPE) - endif() + check_symbol_exists("regcomp" "regex.h" HAVE_POSIX_REGEX) endfunction() macro(monetdb_macro_variables) @@ -144,6 +143,17 @@ macro(monetdb_macro_variables) set(HAVE_READLINE ${READLINE_FOUND}) set(HAVE_LIBR ${LIBR_FOUND}) set(RHOME "${LIBR_HOME}") + set(HAVE_GEOM ${GEOS_FOUND}) + set(HAVE_SHP ${GDAL_FOUND}) + + if(PY3INTEGRATION) + set(HAVE_LIBPY3 "${Python3_NumPy_FOUND}") + else() + message(STATUS "Disable Py3integration, because required NumPy is missing") + endif() + if(Python3_Interpreter_FOUND) + set(Python_EXECUTABLE "${Python3_EXECUTABLE}") + endif() set(SOCKET_LIBRARIES "") if (WIN32) @@ -161,6 +171,22 @@ macro(monetdb_macro_variables) CACHE INTERNAL "C udfs extension is available") + if(HAVE_GETOPT_H) + set(HAVE_GETOPT 1) + endif() + # Check with STATIC_CODE_ANALYSIS + # compiler options, profiling (google perf tools), valgrind + set(ENABLE_STATIC_ANALYSIS + "NO" + CACHE + STRING + "Configure for static code analysis (use only if you know what you are doing)") + # Check that posix regex is available when pcre is not found + # "monetdb5/module/mal/pcre.c" assumes the regex library is available + # as an alternative without checking this in the C code. + if(NOT PCRE_FOUND AND NOT HAVE_POSIX_REGEX) + message(FATAL_ERROR "PCRE library or GNU regex library not found but required for MonetDB5") + endif() set(DIR_SEP "/") set(PATH_SEP ":") diff --git a/cmake/monetdb-findpackages.cmake b/cmake/monetdb-findpackages.cmake --- a/cmake/monetdb-findpackages.cmake +++ b/cmake/monetdb-findpackages.cmake @@ -14,26 +14,8 @@ find_package(Threads) if(${CMAKE_VERSION} VERSION_LESS "3.14.0") find_package(Python3 COMPONENTS Interpreter Development) find_package(NumPy) - if(Python3_Interpreter_FOUND) - set(Python_EXECUTABLE "${Python3_EXECUTABLE}") - endif(Python3_Interpreter_FOUND) - if(NumPy_FOUND) - set(Python3_NumPy_FOUND 1) - endif(NumPy_FOUND) else() find_package(Python3 COMPONENTS Interpreter Development NumPy) - if(Python3_Interpreter_FOUND) - set(Python_EXECUTABLE "${Python3_EXECUTABLE}") - endif(Python3_Interpreter_FOUND) -endif() -if(PY3INTEGRATION) - set(HAVE_LIBPY3 "${Python3_NumPy_FOUND}") -else() - message(STATUS "Disable Py3integration, because required NumPy is missing") -endif(PY3INTEGRATION) - -if(WIN32) - find_library(GETOPT_LIB "getopt.lib") endif() if(WITH_LZMA) @@ -46,11 +28,6 @@ endif() if(WITH_PCRE) find_package(PCRE) -else() - check_symbol_exists("regcomp" "regex.h" HAVE_POSIX_REGEX) -endif() -if(NOT PCRE_FOUND AND NOT HAVE_POSIX_REGEX) - message(FATAL_ERROR "PCRE library or GNU regex library not found but required for MonetDB5") endif() if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND ${CMAKE_SYSTEM_VERSION} VERSION_LESS "19.0.0") @@ -80,7 +57,7 @@ if(WITH_PROJ) endif() if(WITH_SNAPPY) - find_package(Snappy) + find_package(Snappy) endif() if(WITH_UUID) @@ -141,8 +118,8 @@ if(ODBC) endif() check_type_size(SQLWCHAR SIZEOF_SQLWCHAR LANGUAGE C) cmake_pop_check_state() - endif(ODBC_FOUND) -endif(ODBC) + endif() +endif() if(RINTEGRATION) find_package(LibR) diff --git a/cmake/monetdb-functions.cmake b/cmake/monetdb-functions.cmake --- a/cmake/monetdb-functions.cmake +++ b/cmake/monetdb-functions.cmake @@ -134,7 +134,9 @@ function(monetdb_cmake_summary) message(STATUS "Snappy library: ${SNAPPY_FOUND}") message(STATUS "Geos library: ${GEOS_FOUND}") message(STATUS "Gdal library: ${GDAL_FOUND}") - message(STATUS "Cfitsio library: ${CFITSIO_FOUND}") + message(STATUS "Fits library: ${CFITSIO_FOUND}") + message(STATUS "Uuid library: ${HAVE_UUID_GENERATE}") + message(STATUS "Valgrind library: ${VALGRIND_FOUND}") message(STATUS "Kvm library: ${KVM_FOUND}") message(STATUS "Netcdf library: ${NETCDF_FOUND}") message(STATUS "Readline library: ${READLINE_FOUND}") diff --git a/cmake/monetdb-options.cmake b/cmake/monetdb-options.cmake --- a/cmake/monetdb-options.cmake +++ b/cmake/monetdb-options.cmake @@ -66,8 +66,8 @@ option(ODBC cmake_dependent_option(SHP "Enable support for ESRI Shapefiles (default=ON)" ON - GEOM - ON) + "GEOM" + OFF) option(SANITIZER "Enable support for the GCC address sanitizer (default=OFF)" @@ -85,10 +85,6 @@ cmake_dependent_option(ASSERT "DEVELOPMENT" OFF) -# Check with STATIC_CODE_ANALYSIS -# compiler options, profiling (google perf tools), valgrind -set(ENABLE_STATIC_ANALYSIS "NO" CACHE STRING "Configure for static code analysis (use only if you know what you are doing)") - option(WITH_BZ2 "Include bz2 support" ON) diff --git a/ctest/cmake/CMakeLists.txt b/ctest/cmake/CMakeLists.txt --- a/ctest/cmake/CMakeLists.txt +++ b/ctest/cmake/CMakeLists.txt @@ -33,6 +33,11 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/dete include(${CMAKE_CURRENT_SOURCE_DIR}/detect-libr.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/detect-snappy.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/detect-fits.cmake) +include(${CMAKE_CURRENT_SOURCE_DIR}/detect-uuid.cmake) +include(${CMAKE_CURRENT_SOURCE_DIR}/detect-valgrind.cmake) +include(${CMAKE_CURRENT_SOURCE_DIR}/detect-geos.cmake) +include(${CMAKE_CURRENT_SOURCE_DIR}/detect-gdal.cmake) +include(${CMAKE_CURRENT_SOURCE_DIR}/detect-libpy3.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/detect-unixgetaddrinfo.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/detect-wingetaddrinfo.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/detect-getaddrinfo.cmake) diff --git a/ctest/cmake/detect-gdal.cmake b/ctest/cmake/detect-gdal.cmake new file mode 100644 --- /dev/null +++ b/ctest/cmake/detect-gdal.cmake @@ -0,0 +1,60 @@ +#[[ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V. +#]] + +if (${LINUX_DISTRO} STREQUAL "debian") + if(${LINUX_DISTRO_VERSION} STREQUAL "9") + set(DETECT "1") + set(UNDETECT "0") + endif() + if(${LINUX_DISTRO_VERSION} STREQUAL "10") + set(DETECT "1") + set(UNDETECT "0") + endif() +elseif (${LINUX_DISTRO} STREQUAL "ubuntu") + if(${LINUX_DISTRO_VERSION} STREQUAL "18") + set(DETECT "1") + set(UNDETECT "0") + endif() + if(${LINUX_DISTRO_VERSION} STREQUAL "19") + set(DETECT "1") + set(UNDETECT "0") + endif() + if(${LINUX_DISTRO_VERSION} STREQUAL "20") + set(DETECT "1") + set(UNDETECT "0") + endif() +elseif(${LINUX_DISTRO} STREQUAL "fedora") + if(${LINUX_DISTRO_VERSION} STREQUAL "30") + set(DETECT "1") + set(UNDETECT "0") + endif() + if(${LINUX_DISTRO_VERSION} STREQUAL "31") + set(DETECT "1") + set(UNDETECT "0") + endif() + if(${LINUX_DISTRO_VERSION} STREQUAL "32") + set(DETECT "1") + set(UNDETECT "0") + endif() +else() + message(ERROR "Linux distro: ${LINUX_DISTRO} not known") + message(ERROR "Linux distro version: ${LINUX_DISTRO_VERSION} not known") +endif() + +configure_file(test_detect_gdal.c.in + ${CMAKE_CURRENT_BINARY_DIR}/test_detect_gdal.c + @ONLY) + +add_executable(test_detect_gdal) +target_sources(test_detect_gdal + PRIVATE + ${CMAKE_CURRENT_BINARY_DIR}/test_detect_gdal.c) +target_link_libraries(test_detect_gdal + PRIVATE + monetdb_config_header) +add_test(testDetectGdal test_detect_gdal) diff --git a/ctest/cmake/detect-geos.cmake b/ctest/cmake/detect-geos.cmake new file mode 100644 --- /dev/null +++ b/ctest/cmake/detect-geos.cmake @@ -0,0 +1,60 @@ +#[[ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V. +#]] + +if (${LINUX_DISTRO} STREQUAL "debian") + if(${LINUX_DISTRO_VERSION} STREQUAL "9") + set(DETECT "1") + set(UNDETECT "0") + endif() + if(${LINUX_DISTRO_VERSION} STREQUAL "10") + set(DETECT "1") + set(UNDETECT "0") + endif() +elseif (${LINUX_DISTRO} STREQUAL "ubuntu") + if(${LINUX_DISTRO_VERSION} STREQUAL "18") + set(DETECT "1") + set(UNDETECT "0") + endif() _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list