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