Changeset: 25b2bd0caf8d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/25b2bd0caf8d
Modified Files:
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql_statement.h
        sql/server/CMakeLists.txt
        sql/server/rel_select.c
        sql/server/sql_parser.y
Branch: odbc_loader
Log Message:

merged with default


diffs (truncated from 4307 to 300 lines):

diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt
--- a/clients/CMakeLists.txt
+++ b/clients/CMakeLists.txt
@@ -11,7 +11,9 @@
 #]]
 
 add_subdirectory(mapilib)
-add_subdirectory(mapiclient)
+if(WITH_MAPI_CLIENT)
+  add_subdirectory(mapiclient)
+endif()
 add_subdirectory(odbc)
 if(TESTING)
   add_subdirectory(examples)
diff --git a/clients/mapilib/CMakeLists.txt b/clients/mapilib/CMakeLists.txt
--- a/clients/mapilib/CMakeLists.txt
+++ b/clients/mapilib/CMakeLists.txt
@@ -10,9 +10,11 @@
 # Copyright 1997 - July 2008 CWI.
 #]]
 
-add_library(mapi
-  SHARED)
-
+if(MONETDB_STATIC)
+  add_library(mapi STATIC)
+else()
+  add_library(mapi SHARED)
+endif()
 
 # We need to add the public library twice to the target sources, once for
 # the build interface and once for the install interface. This is because
@@ -92,11 +94,13 @@ install(TARGETS
   COMPONENT clientdev
   INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 
-install(EXPORT mapiTargets
-  FILE mapiTargets.cmake
-  NAMESPACE MonetDB::
-  DESTINATION ${EXPORT_TARGET_PATH}
-  COMPONENT clientdev)
+if(NOT MONETDB_STATIC)
+  install(EXPORT mapiTargets
+    FILE mapiTargets.cmake
+    NAMESPACE MonetDB::
+    DESTINATION ${EXPORT_TARGET_PATH}
+    COMPONENT clientdev)
+endif()
 
 if(WIN32)
   install(FILES
diff --git a/clients/odbc/driver/CMakeLists.txt 
b/clients/odbc/driver/CMakeLists.txt
--- a/clients/odbc/driver/CMakeLists.txt
+++ b/clients/odbc/driver/CMakeLists.txt
@@ -14,8 +14,11 @@ if (${HAVE_ODBCINST})
   add_compile_definitions(HAVE_SQLGETPRIVATEPROFILESTRING)
 endif()
 
-add_library(MonetODBC
-  MODULE)
+if(MONETDB_STATIC)
+  add_library(MonetODBC STATIC)
+else()
+  add_library(MonetODBC MODULE)
+endif()
 
 target_sources(MonetODBC
   PRIVATE
diff --git a/cmake/monetdb-options.cmake b/cmake/monetdb-options.cmake
--- a/cmake/monetdb-options.cmake
+++ b/cmake/monetdb-options.cmake
@@ -156,3 +156,27 @@ option(CMAKE_SUMMARY
 option(CMAKE_UNITTESTS
   "Build and run the unittest for the build system"
   OFF)
+
+option(MONETDB_STATIC
+  "Enable static compilation mode"
+  OFF)
+
+option(WITH_UDF
+  "Include UDF support"
+  ON)
+
+option(WITH_VAULTS
+  "Include UDF support"
+  ON)
+
+option(WITH_MEROVINGIAN
+  "Build merovingian and friends"
+  ON)
+
+option(WITH_MSERVER5
+  "Build mserver5"
+  ON)
+
+option(WITH_MAPI_CLIENT
+  "Build mapi clients(mclient, msqldump)"
+  ON)
diff --git a/common/options/CMakeLists.txt b/common/options/CMakeLists.txt
--- a/common/options/CMakeLists.txt
+++ b/common/options/CMakeLists.txt
@@ -35,10 +35,12 @@ target_link_libraries(moptions
   monetdb_config_header
   $<$<PLATFORM_ID:Windows>:${GETOPT_LIB}>)
 
-set_target_properties(moptions
-  PROPERTIES
-  POSITION_INDEPENDENT_CODE ON
-  PUBLIC_HEADER "${moptions_public_headers}")
+if(NOT MONETDB_STATIC)
+  set_target_properties(moptions
+    PROPERTIES
+    POSITION_INDEPENDENT_CODE ON
+    PUBLIC_HEADER "${moptions_public_headers}")
+endif()
 
 install(FILES
   monet_options.h
@@ -46,3 +48,18 @@ install(FILES
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/monetdb
   COMPONENT
   monetdbdev)
+
+if(MONETDB_STATIC)
+  install(TARGETS
+    moptions
+    COMPONENT monetdbdev
+    RUNTIME
+    DESTINATION ${CMAKE_INSTALL_BINDIR}
+    LIBRARY
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    ARCHIVE
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    PUBLIC_HEADER
+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/monetdb
+    INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+endif()
diff --git a/common/stream/CMakeLists.txt b/common/stream/CMakeLists.txt
--- a/common/stream/CMakeLists.txt
+++ b/common/stream/CMakeLists.txt
@@ -16,8 +16,11 @@ set(stream_public_headers
   $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/monetdb/stream.h>
   $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/monetdb/stream_socket.h>)
 
-add_library(stream
-  SHARED)
+if(MONETDB_STATIC)
+  add_library(stream STATIC)
+else()
+  add_library(stream SHARED)
+endif()
 
 target_sources(stream
   PRIVATE
@@ -125,11 +128,13 @@ install(TARGETS
   COMPONENT streamdev
   INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 
-install(EXPORT streamTargets
-  FILE streamTargets.cmake
-  NAMESPACE MonetDB::
-  DESTINATION ${EXPORT_TARGET_PATH}
-  COMPONENT streamdev)
+if(NOT MONETDB_STATIC)
+  install(EXPORT streamTargets
+    FILE streamTargets.cmake
+    NAMESPACE MonetDB::
+    DESTINATION ${EXPORT_TARGET_PATH}
+    COMPONENT streamdev)
+endif()
 
 if(WIN32)
   install(FILES
diff --git a/common/utils/CMakeLists.txt b/common/utils/CMakeLists.txt
--- a/common/utils/CMakeLists.txt
+++ b/common/utils/CMakeLists.txt
@@ -34,17 +34,19 @@ target_link_libraries(mutils
 target_compile_definitions(mutils PRIVATE
   LIBMUTILS)
 
-set_target_properties(mutils
-  PROPERTIES
-  POSITION_INDEPENDENT_CODE ON
-  PUBLIC_HEADER mutils.h)
+if(NOT MONETDB_STATIC)
+  set_target_properties(mutils
+    PROPERTIES
+    POSITION_INDEPENDENT_CODE ON
+    PUBLIC_HEADER mutils.h)
+endif()
 
 add_custom_target(version
   ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/monetdb_hgversion.h.in
-                   -D DST=${CMAKE_CURRENT_BINARY_DIR}/monetdb_hgversion.h
-                   -D DIR=${CMAKE_SOURCE_DIR}
-                   -P ${CMAKE_CURRENT_SOURCE_DIR}/GenerateVersionHeader.cmake
-  )
+  -D DST=${CMAKE_CURRENT_BINARY_DIR}/monetdb_hgversion.h
+  -D DIR=${CMAKE_SOURCE_DIR}
+  -P ${CMAKE_CURRENT_SOURCE_DIR}/GenerateVersionHeader.cmake
+)
 add_dependencies(mutils version)
 
 add_library(mcrypt STATIC)
@@ -73,10 +75,12 @@ target_compile_definitions(mcrypt
   PRIVATE
   LIBMCRYPT)
 
-set_target_properties(mcrypt
-  PROPERTIES
-  POSITION_INDEPENDENT_CODE ON
-  PUBLIC_HEADER mcrypt.h)
+if(NOT MONETDB_STATIC)
+  set_target_properties(mcrypt
+    PROPERTIES
+    POSITION_INDEPENDENT_CODE ON
+    PUBLIC_HEADER mcrypt.h)
+endif()
 
 set(msabaoth_public_headers
   ${CMAKE_CURRENT_SOURCE_DIR}/msabaoth.h
@@ -105,10 +109,12 @@ target_compile_definitions(msabaoth
   PRIVATE
   LIBMSABAOTH)
 
-set_target_properties(msabaoth
-  PROPERTIES
-  POSITION_INDEPENDENT_CODE ON
-  PUBLIC_HEADER "${msabaoth_public_headers}")
+if(NOT MONETDB_STATIC)
+  set_target_properties(msabaoth
+    PROPERTIES
+    POSITION_INDEPENDENT_CODE ON
+    PUBLIC_HEADER "${msabaoth_public_headers}")
+endif()
 
 add_library(matomic INTERFACE)
 
@@ -141,10 +147,12 @@ target_link_libraries(mprompt
   PRIVATE
   monetdb_config_header)
 
-set_target_properties(mprompt
-  PROPERTIES
-  POSITION_INDEPENDENT_CODE ON
-  PUBLIC_HEADER mprompt.h)
+if(NOT MONETDB_STATIC)
+  set_target_properties(mprompt
+    PROPERTIES
+    POSITION_INDEPENDENT_CODE ON
+    PUBLIC_HEADER mprompt.h)
+endif()
 
 add_library(mutf8 STATIC)
 
@@ -211,3 +219,18 @@ install(FILES
   ${CMAKE_INSTALL_INCLUDEDIR}/monetdb
   COMPONENT
   monetdbdev)
+
+if(MONETDB_STATIC)
+  install(TARGETS
+    mutils
+    mcrypt
+    msabaoth
+    mprompt
+    COMPONENT monetdbdev
+    RUNTIME
+    DESTINATION ${CMAKE_INSTALL_BINDIR}
+    LIBRARY
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    ARCHIVE
+    DESTINATION ${CMAKE_INSTALL_LIBDIR})
+endif()
diff --git a/ctest/tools/monetdbe/CMakeLists.txt 
b/ctest/tools/monetdbe/CMakeLists.txt
--- a/ctest/tools/monetdbe/CMakeLists.txt
+++ b/ctest/tools/monetdbe/CMakeLists.txt
@@ -10,115 +10,117 @@
 # Copyright 1997 - July 2008 CWI.
 #]]
 
-add_executable(example1 example1.c)
-target_link_libraries(example1
-  PRIVATE
-    monetdb_config_header
-    monetdbe)
-add_test(run_example1 example1)
-
-add_executable(example2 example2.c)
-target_link_libraries(example2
-  PRIVATE
-    monetdb_config_header
-    monetdbe)
-add_test(run_example2 example2)
-
-add_executable(example_temporal example_temporal.c)
-target_link_libraries(example_temporal
-  PRIVATE
+if(NOT MONETDB_STATIC)
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to