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

Reply via email to