Changeset: 831dafa29eb8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=831dafa29eb8
Modified Files:
        common/options/CMakeLists.txt
        common/utils/CMakeLists.txt
        geom/lib/CMakeLists.txt
        geom/monetdb5/CMakeLists.txt
Branch: cmake-fun
Log Message:

Install mcrypt, mutils, moptions and msabaoth only on Windows.


diffs (108 lines):

diff --git a/common/options/CMakeLists.txt b/common/options/CMakeLists.txt
--- a/common/options/CMakeLists.txt
+++ b/common/options/CMakeLists.txt
@@ -6,8 +6,15 @@
 # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
 #]]
 
-add_library(moptions SHARED monet_options.c monet_options.h monet_getopt.h)
-target_compile_definitions(moptions PRIVATE LIBMOPTIONS LIBGDK LIBMAPI)
+set(OPTIONS_OBJECTS monet_options.c monet_options.h monet_getopt.h)
 
-install(TARGETS moptions DESTINATION ${LIBDIR})
+if(WIN32)
+       add_library(moptions SHARED ${OPTIONS_OBJECTS})
+       target_compile_definitions(moptions PRIVATE LIBMOPTIONS LIBGDK LIBMAPI)
+       install(TARGETS moptions DESTINATION ${LIBDIR})
+else()
+       add_library(moptions STATIC ${OPTIONS_OBJECTS})
+       set_target_properties(moptions PROPERTIES POSITION_INDEPENDENT_CODE ON)
+endif()
+
 install(FILES monet_options.h DESTINATION ${INCLUDEDIR}/monetdb)
diff --git a/common/utils/CMakeLists.txt b/common/utils/CMakeLists.txt
--- a/common/utils/CMakeLists.txt
+++ b/common/utils/CMakeLists.txt
@@ -8,16 +8,34 @@
 
 include_directories(${CRYPTO_INCLUDE_DIR})
 
-add_library(mutils SHARED mutils.h mutils.c prompt.c mprompt.h revision.c)
-target_compile_definitions(mutils PRIVATE LIBMUTILS LIBGDK LIBMEROUTIL)
-install(TARGETS mutils DESTINATION ${LIBDIR})
+set(MUTILS_OBJECTS mutils.h mutils.c prompt.c mprompt.h revision.c)
+set(MCRYPT_OBJECTS mcrypt.h mcrypt.c)
+set(MSABAOTH_OBJECTS muuid.h muuid.c msabaoth.h msabaoth.c)
+
+if(WIN32)
+       add_library(mutils SHARED ${MUTILS_OBJECTS})
+       target_compile_definitions(mutils PRIVATE LIBMUTILS LIBGDK LIBMEROUTIL)
+       install(TARGETS mutils DESTINATION ${LIBDIR})
+
+       add_library(mcrypt SHARED ${MCRYPT_OBJECTS})
+       target_link_libraries(mcrypt PRIVATE ${CRYPTO_LIBRARIES})
+       target_compile_definitions(mcrypt PRIVATE LIBMAPI LIBMCRYPT)
+       install(TARGETS mcrypt DESTINATION ${LIBDIR})
 
-add_library(mcrypt SHARED mcrypt.h mcrypt.c)
-target_link_libraries(mcrypt PRIVATE ${CRYPTO_LIBRARIES})
-target_compile_definitions(mcrypt PRIVATE LIBMAPI LIBMCRYPT)
-install(TARGETS mcrypt DESTINATION ${LIBDIR})
+       add_library(msabaoth SHARED ${MSABAOTH_OBJECTS})
+       target_link_libraries(msabaoth PRIVATE ${CRYPTO_LIBRARIES} mutils)
+       target_compile_definitions(msabaoth PRIVATE LIBMSABAOTH LIBMUUID LIBMAL 
LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER
+                                                          LIBMONETDB5)
+       install(TARGETS msabaoth DESTINATION ${LIBDIR})
+else()
+       add_library(mutils STATIC ${MUTILS_OBJECTS})
+       set_target_properties(mutils PROPERTIES POSITION_INDEPENDENT_CODE ON)
 
-add_library(msabaoth SHARED muuid.h muuid.c msabaoth.h msabaoth.c)
-target_link_libraries(msabaoth PRIVATE ${CRYPTO_LIBRARIES} mutils)
-target_compile_definitions(msabaoth PRIVATE LIBMSABAOTH LIBMUUID LIBMAL 
LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5)
-install(TARGETS msabaoth DESTINATION ${LIBDIR})
+       add_library(mcrypt STATIC ${MCRYPT_OBJECTS})
+       target_link_libraries(mcrypt PRIVATE ${CRYPTO_LIBRARIES})
+       set_target_properties(mcrypt PROPERTIES POSITION_INDEPENDENT_CODE ON)
+
+       add_library(msabaoth STATIC ${MSABAOTH_OBJECTS})
+       target_link_libraries(msabaoth PRIVATE ${CRYPTO_LIBRARIES} mutils)
+       set_target_properties(msabaoth PROPERTIES POSITION_INDEPENDENT_CODE ON)
+endif()
diff --git a/geom/lib/CMakeLists.txt b/geom/lib/CMakeLists.txt
--- a/geom/lib/CMakeLists.txt
+++ b/geom/lib/CMakeLists.txt
@@ -8,5 +8,13 @@
 
 include_directories(../../common/options ../../common/stream ../../gdk 
${GEOS_INCLUDE_DIR} ${PROJ_INCLUDE_DIR})
 
-add_library(geomobj STATIC libgeom.c libgeom.h)
-set_target_properties(geomobj PROPERTIES POSITION_INDEPENDENT_CODE ON)
+set(GEOM_OBJECTS libgeom.c libgeom.h)
+
+if(WIN32)
+       add_library(geom SHARED ${GEOM_OBJECTS})
+       target_compile_definitions(geom LIBGEOM)
+       install(TARGETS geom DESTINATION ${LIBDIR})
+else()
+       add_library(geom STATIC ${GEOM_OBJECTS})
+       set_target_properties(geom PROPERTIES POSITION_INDEPENDENT_CODE ON)
+endif()
diff --git a/geom/monetdb5/CMakeLists.txt b/geom/monetdb5/CMakeLists.txt
--- a/geom/monetdb5/CMakeLists.txt
+++ b/geom/monetdb5/CMakeLists.txt
@@ -9,10 +9,10 @@
 include_directories(../lib ../../gdk ../../common/stream ../../common/options 
../../monetdb5/mal ${GEOS_INCLUDE_DIR}
                                        ${PROJ_INCLUDE_DIR})
 
-add_library(geom MODULE geom.h geom.c geomBulk.c geom_upgrade.c)
-target_link_libraries(geom PRIVATE geomobj gdk stream monetdb5 
${GEOS_LIBRARIES} ${PROJ_LIBRARIES})
-target_compile_definitions(geom PRIVATE LIBGEOM)
+add_library(geom_module MODULE geom.h geom.c geomBulk.c geom_upgrade.c)
+target_link_libraries(geom_module PRIVATE geom gdk stream monetdb5 
${GEOS_LIBRARIES} ${PROJ_LIBRARIES})
+set_target_properties(geom_module PROPERTIES OUTPUT_NAME geom)
 
-install(TARGETS geom DESTINATION ${LIBDIR}/monetdb5)
+install(TARGETS geom_module DESTINATION ${LIBDIR}/monetdb5)
 install(FILES geom.mal DESTINATION ${LIBDIR}/monetdb5)
 install(FILES 30_geom.mal DESTINATION ${LIBDIR}/monetdb5/autoload)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to