Changeset: 8df349e7c727 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8df349e7c727
Modified Files:
        clients/mapilib/CMakeLists.txt
        clients/odbc/driver/CMakeLists.txt
        common/stream/CMakeLists.txt
        gdk/CMakeLists.txt
        geom/monetdb5/CMakeLists.txt
        monetdb5/extras/mal_optimizer_template/CMakeLists.txt
        monetdb5/extras/rapi/CMakeLists.txt
        monetdb5/tools/CMakeLists.txt
        sql/backends/monet5/CMakeLists.txt
        sql/backends/monet5/UDF/capi/CMakeLists.txt
        sql/backends/monet5/UDF/pyapi/CMakeLists.txt
        sql/backends/monet5/UDF/pyapi3/CMakeLists.txt
        sql/backends/monet5/UDF/udf/CMakeLists.txt
        sql/backends/monet5/generator/CMakeLists.txt
        sql/backends/monet5/vaults/bam/CMakeLists.txt
        sql/backends/monet5/vaults/fits/CMakeLists.txt
        sql/backends/monet5/vaults/lidar/CMakeLists.txt
        sql/backends/monet5/vaults/shp/CMakeLists.txt
Branch: cmake-fun
Log Message:

Reduce library linking on non Windows platforms.


diffs (278 lines):

diff --git a/clients/mapilib/CMakeLists.txt b/clients/mapilib/CMakeLists.txt
--- a/clients/mapilib/CMakeLists.txt
+++ b/clients/mapilib/CMakeLists.txt
@@ -8,13 +8,8 @@
 
 include_directories(../../common/stream ../../common/utils 
${CRYPTO_INCLUDE_DIR})
 
-set(MAPI_RC "")
-if(WIN32)
-       set(MAPI_RC mapi.rc)
-endif()
-
-add_library(mapi SHARED mapi.c ${MAPI_RC})
-target_link_libraries(mapi PRIVATE ${SOCKET_LIBRARIES} ${CRYPTO_LIBRARIES} 
moptions mcrypt stream)
+add_library(mapi SHARED mapi.c $<$<PLATFORM_ID:Windows>:mapi.rc>)
+target_link_libraries(mapi PRIVATE moptions mcrypt 
$<$<PLATFORM_ID:Windows>:"stream ${SOCKET_LIBRARIES} ${CRYPTO_LIBRARIES}">)
 set_target_properties(mapi PROPERTIES VERSION ${MAPI_VERSION} SOVERSION 
${MAPI_VERSION_MAJOR})
 target_compile_definitions(mapi PRIVATE LIBMAPI)
 
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
@@ -8,11 +8,6 @@
 
 include_directories(../../mapilib ${ODBC_INCLUDE_DIR})
 
-set(MonetODBC_RC "")
-if(WIN32)
-       set(MonetODBC_RC driver.rc ODBC.syms)
-endif()
-
 add_library(MonetODBC MODULE
                        ODBCConvert.c
                        ODBCDbc.c
@@ -104,7 +99,7 @@ add_library(MonetODBC MODULE
                        SQLStatistics.c
                        SQLTablePrivileges.c
                        SQLTables.c
-                       SQLTransact.c ${MonetODBC_RC})
+                       SQLTransact.c $<$<PLATFORM_ID:Windows>:"driver.rc 
ODBC.syms">)
 target_link_libraries(MonetODBC PRIVATE mapi stream ${ICONV_LIBRARIES} 
${ODBCINST_LIBRARIES} ${CRYPTO_LIBRARIES}
                                          ${SOCKET_LIBRARIES})
 
diff --git a/common/stream/CMakeLists.txt b/common/stream/CMakeLists.txt
--- a/common/stream/CMakeLists.txt
+++ b/common/stream/CMakeLists.txt
@@ -10,8 +10,7 @@ include_directories(../utils ${ZLIB_INCL
                                        ${LIBLZMA_INCLUDE_DIR} 
${CURL_INCLUDE_DIR} ${ICONV_INCLUDE_DIR})
 
 add_library(stream SHARED stream.c stream.h stream_socket.h)
-target_link_libraries(stream PRIVATE ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} 
${SNAPPY_LIBRARIES} ${LZ4_LIBRARIES}
-                                         ${LIBLZMA_LIBRARIES} 
${CURL_LIBRARIES} ${ICONV_LIBRARIES} ${SOCKET_LIBRARIES})
+target_link_libraries(stream PRIVATE 
$<$<PLATFORM_ID:Windows>:"${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} 
${SNAPPY_LIBRARIES} ${LZ4_LIBRARIES} ${LIBLZMA_LIBRARIES} ${CURL_LIBRARIES} 
${ICONV_LIBRARIES} ${SOCKET_LIBRARIES}">)
 set_target_properties(stream PROPERTIES VERSION ${STREAM_VERSION} SOVERSION 
${STREAM_VERSION_MAJOR})
 target_compile_definitions(stream PRIVATE LIBSTREAM)
 
diff --git a/gdk/CMakeLists.txt b/gdk/CMakeLists.txt
--- a/gdk/CMakeLists.txt
+++ b/gdk/CMakeLists.txt
@@ -8,11 +8,6 @@
 
 include_directories(../common/options ../common/stream ../common/utils 
${VALGRIND_INCLUDE_DIR})
 
-set(GDK_RC "")
-if(WIN32)
-       set(GDK_RC libbat.rc)
-endif()
-
 add_library(gdk SHARED
                        gdk_select.c
                        gdk_calc.c gdk_calc.h gdk_calc_compare.h 
gdk_calc_private.h
@@ -37,9 +32,9 @@ add_library(gdk SHARED
                        gdk_interprocess.c gdk_interprocess.h
                        gdk_firstn.c
                        gdk_analytic_bounds.c
-                       gdk_analytic_func.c gdk_analytic.h ${GDK_RC})
-target_link_libraries(gdk PRIVATE ${MATH_LIBRARIES} ${SOCKET_LIBRARIES} 
${MALLOC_LIBRARIES} ${PTHREAD_LIBRARIES}
-                                         ${DL_LIBRARIES} moptions mutils 
stream)
+                       gdk_analytic_func.c gdk_analytic.h 
$<$<PLATFORM_ID:Windows>:libbat.rc>)
+target_link_libraries(gdk PRIVATE moptions mutils
+                                         $<$<PLATFORM_ID:Windows>:"stream 
${MATH_LIBRARIES} ${SOCKET_LIBRARIES} ${MALLOC_LIBRARIES} ${PTHREAD_LIBRARIES} 
${DL_LIBRARIES} ${PSAPI_LIBRARIES}">)
 set_target_properties(gdk PROPERTIES VERSION ${GDK_VERSION} SOVERSION 
${GDK_VERSION_MAJOR} OUTPUT_NAME bat)
 target_compile_definitions(gdk PRIVATE LIBGDK)
 
diff --git a/geom/monetdb5/CMakeLists.txt b/geom/monetdb5/CMakeLists.txt
--- a/geom/monetdb5/CMakeLists.txt
+++ b/geom/monetdb5/CMakeLists.txt
@@ -10,7 +10,7 @@ include_directories(../lib ../../gdk ../
                                        ${PROJ_INCLUDE_DIR})
 
 add_library(geom MODULE geom.h geom.c geomBulk.c geom_upgrade.c 
../lib/libgeom.c ../lib/libgeom.h)
-target_link_libraries(geom PRIVATE gdk stream monetdb5 ${GEOS_LIBRARIES} 
${PROJ_LIBRARIES})
+target_link_libraries(geom PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk 
stream"> ${GEOS_LIBRARIES} ${PROJ_LIBRARIES})
 set_target_properties(geom PROPERTIES OUTPUT_NAME _geom)
 target_compile_definitions(geom PRIVATE LIBGEOM)
 
diff --git a/monetdb5/extras/mal_optimizer_template/CMakeLists.txt 
b/monetdb5/extras/mal_optimizer_template/CMakeLists.txt
--- a/monetdb5/extras/mal_optimizer_template/CMakeLists.txt
+++ b/monetdb5/extras/mal_optimizer_template/CMakeLists.txt
@@ -9,7 +9,7 @@
 include_directories(../../optimizer ../../mal ../../../gdk 
../../../common/stream ../../../common/utils)
 
 add_library(opt_sql_append MODULE opt_sql_append.c opt_sql_append.h)
-target_link_libraries(opt_sql_append PRIVATE monetdb5 gdk)
+target_link_libraries(opt_sql_append PRIVATE 
$<$<PLATFORM_ID:Windows>:"monetdb5 gdk">)
 set_target_properties(opt_sql_append PROPERTIES OUTPUT_NAME _opt_sql_append)
 target_compile_definitions(opt_sql_append PRIVATE LIBOPT_SQL_APPEND)
 
diff --git a/monetdb5/extras/rapi/CMakeLists.txt 
b/monetdb5/extras/rapi/CMakeLists.txt
--- a/monetdb5/extras/rapi/CMakeLists.txt
+++ b/monetdb5/extras/rapi/CMakeLists.txt
@@ -11,7 +11,7 @@ include_directories(../../../common/stre
                                        ../../../sql/server 
../../../sql/storage ../../../sql/backends/monet5 ${R_INCLUDE_DIR})
 
 add_library(rapi MODULE rapi.c rapi.h converters.c.h)
-target_link_libraries(rapi PRIVATE monetdb5 gdk ${R_LIBRARIES})
+target_link_libraries(rapi PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk"> 
${R_LIBRARIES})
 set_target_properties(rapi PROPERTIES OUTPUT_NAME _rapi)
 target_compile_definitions(rapi PRIVATE LIBRAPI)
 if(NOT MSVC)
diff --git a/monetdb5/tools/CMakeLists.txt b/monetdb5/tools/CMakeLists.txt
--- a/monetdb5/tools/CMakeLists.txt
+++ b/monetdb5/tools/CMakeLists.txt
@@ -10,13 +10,6 @@ include_directories(../mal ../../common/
                                        ../modules/atoms ../modules/mal 
../modules/kernel ${CRYPTO_INCLUDE_DIR} ${PCRE_INCLUDE_DIR}
                                        ${UUID_INCLUDE_DIR} 
${LIBXML2_INCLUDE_DIR})
 
-set(MONETDB5_PRIVATE_LINK_LIBRARIES ${UUID_LIBRARIES} ${MATH_LIBRARIES} 
${SOCKET_LIBRARIES} ${MALLOC_LIBRARIES}
-                                                                       
${PTHREAD_LIBRARIES} ${DL_LIBRARIES} ${CRYPTO_LIBRARIES} ${PCRE_LIBRARIES}
-                                                                       
${LIBXML2_LIBRARIES} gdk stream)
-if(HAVE_MAPI)
-       list(APPEND MONETDB5_PRIVATE_LINK_LIBRARIES mapi)
-endif()
-
 file(GLOB MAL_SRC "../mal/*.h" "../mal/*.c")
 file(GLOB ATOMS_SRC "../modules/atoms/*.h" "../modules/atoms/*.c")
 file(GLOB KERNEL_SRC  "../modules/kernel/*.h" "../modules/kernel/*.c")
@@ -24,14 +17,11 @@ file(GLOB MODULES_SRC "../modules/mal/*.
 file(GLOB OPTIMIZER_SRC "../optimizer/*.h" "../optimizer/*.c")
 file(GLOB SCHEDULER_SRC "../scheduler/*.h" "../scheduler/*.c")
 
-set(MONETDB5_RC "")
-if(WIN32)
-       set(MONETDB5_RC libmonetdb5.rc)
-endif()
-
 add_library(monetdb5 SHARED ${MAL_SRC} ${ATOMS_SRC} ${KERNEL_SRC} 
${MODULES_SRC} ${OPTIMIZER_SRC} ${SCHEDULER_SRC}
-                       ${MONETDB5_RC})
-target_link_libraries(monetdb5 PRIVATE ${MONETDB5_PRIVATE_LINK_LIBRARIES} 
PUBLIC mutils mcrypt msabaoth)
+                       $<$<PLATFORM_ID:Windows>:libmonetdb5.rc>)
+target_link_libraries(monetdb5 PRIVATE mutils mcrypt msabaoth
+                                         
$<$<PLATFORM_ID:Windows>:"${UUID_LIBRARIES} ${MATH_LIBRARIES} 
${SOCKET_LIBRARIES} ${MALLOC_LIBRARIES} ${PTHREAD_LIBRARIES} ${DL_LIBRARIES} 
${CRYPTO_LIBRARIES} ${PCRE_LIBRARIES} ${LIBXML2_LIBRARIES} gdk stream">
+                                         
$<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:HAVE_MAPI>>:mapi>)
 set_target_properties(monetdb5 PROPERTIES VERSION ${MONETDB5_VERSION} 
SOVERSION ${MONETDB5_VERSION_MAJOR})
 target_compile_definitions(monetdb5 PRIVATE LIBMAL LIBATOMS LIBKERNEL 
LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5)
 
diff --git a/sql/backends/monet5/CMakeLists.txt 
b/sql/backends/monet5/CMakeLists.txt
--- a/sql/backends/monet5/CMakeLists.txt
+++ b/sql/backends/monet5/CMakeLists.txt
@@ -43,8 +43,8 @@ add_library(sql MODULE
                        wlr.c wlr.h
                        sql_datetrunc.c
                        sql_rank.c sql_rank.h)
-target_link_libraries(sql PRIVATE monetdb5 mapi gdk stream ${CRYPTO_LIBRARIES} 
PUBLIC sqlserver store batstore
-                                         sqlcommon)
+target_link_libraries(sql PRIVATE sqlserver store batstore sqlcommon
+                                         $<$<PLATFORM_ID:Windows>:"mapi 
monetdb5 gdk stream ${CRYPTO_LIBRARIES}">)
 set_target_properties(sql PROPERTIES OUTPUT_NAME _sql)
 target_compile_definitions(sql PRIVATE LIBSQL LIBSQLSERVER LIBSQLCOMMON 
LIBBATSTORE LIBSTORE)
 
diff --git a/sql/backends/monet5/UDF/capi/CMakeLists.txt 
b/sql/backends/monet5/UDF/capi/CMakeLists.txt
--- a/sql/backends/monet5/UDF/capi/CMakeLists.txt
+++ b/sql/backends/monet5/UDF/capi/CMakeLists.txt
@@ -13,7 +13,7 @@ include_directories(../../../../../clien
                                        ${CMAKE_CURRENT_BINARY_DIR})
 
 add_library(capi MODULE capi.c capi.h cheader.h 
${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h)
-target_link_libraries(capi PRIVATE monetdb5 gdk)
+target_link_libraries(capi PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk">)
 set_target_properties(capi PROPERTIES OUTPUT_NAME _capi)
 target_compile_definitions(capi PRIVATE LIBCUDF)
 
diff --git a/sql/backends/monet5/UDF/pyapi/CMakeLists.txt 
b/sql/backends/monet5/UDF/pyapi/CMakeLists.txt
--- a/sql/backends/monet5/UDF/pyapi/CMakeLists.txt
+++ b/sql/backends/monet5/UDF/pyapi/CMakeLists.txt
@@ -15,7 +15,7 @@ add_library(pyapi MODULE
                        pyapi.c pyapi.h unicode.c unicode.h pytypes.c pytypes.h 
type_conversion.c type_conversion.h formatinput.c
                        formatinput.h connection.c connection.h undef.h 
pyloader.c emit.h emit.c conversion.c conversion.h
                        convert_loops.h pyheader.h)
-target_link_libraries(pyapi PRIVATE monetdb5 gdk ${PY2_LIBRARIES})
+target_link_libraries(pyapi PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk"> 
${PY2_LIBRARIES})
 set_target_properties(pyapi PROPERTIES OUTPUT_NAME _pyapi)
 target_compile_definitions(pyapi PRIVATE LIBPYAPI LIBPYAPI3)
 
diff --git a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt 
b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt
--- a/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt
+++ b/sql/backends/monet5/UDF/pyapi3/CMakeLists.txt
@@ -16,7 +16,7 @@ include_directories(../../../../../clien
 add_library(pyapi3 MODULE
                        pyapi3.c unicode3.c pytypes3.c type_conversion3.c 
formatinput3.c connection3.c pyloader3.c emit3.c
                        conversion3.c)
-target_link_libraries(pyapi3 PRIVATE monetdb5 gdk ${PY3_LIBRARIES})
+target_link_libraries(pyapi3 PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk"> 
${PY3_LIBRARIES})
 set_target_properties(pyapi3 PROPERTIES OUTPUT_NAME _pyapi3)
 target_compile_definitions(pyapi3 PRIVATE LIBPYAPI LIBPYAPI3)
 
diff --git a/sql/backends/monet5/UDF/udf/CMakeLists.txt 
b/sql/backends/monet5/UDF/udf/CMakeLists.txt
--- a/sql/backends/monet5/UDF/udf/CMakeLists.txt
+++ b/sql/backends/monet5/UDF/udf/CMakeLists.txt
@@ -12,7 +12,7 @@ include_directories(../.. ../../../../in
                                        ../../../../../common/utils 
../../../../../common/stream ../../../../../gdk)
 
 add_library(udf MODULE udf.c udf.h udf_impl.h)
-target_link_libraries(udf PRIVATE monetdb5 gdk)
+target_link_libraries(udf PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk">)
 set_target_properties(udf PROPERTIES OUTPUT_NAME _udf)
 target_compile_definitions(udf PRIVATE LIBUDF)
 
diff --git a/sql/backends/monet5/generator/CMakeLists.txt 
b/sql/backends/monet5/generator/CMakeLists.txt
--- a/sql/backends/monet5/generator/CMakeLists.txt
+++ b/sql/backends/monet5/generator/CMakeLists.txt
@@ -12,7 +12,7 @@ include_directories(../../../include ../
                                        ../../../../common/utils 
../../../../gdk)
 
 add_library(generator MODULE generator.c generator.h)
-target_link_libraries(generator PRIVATE monetdb5 gdk)
+target_link_libraries(generator PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 
gdk">)
 set_target_properties(generator PROPERTIES OUTPUT_NAME _generator)
 target_compile_definitions(generator PRIVATE LIBGENERATOR)
 
diff --git a/sql/backends/monet5/vaults/bam/CMakeLists.txt 
b/sql/backends/monet5/vaults/bam/CMakeLists.txt
--- a/sql/backends/monet5/vaults/bam/CMakeLists.txt
+++ b/sql/backends/monet5/vaults/bam/CMakeLists.txt
@@ -21,7 +21,7 @@ add_library(bamm MODULE
                        bam_lib.c bam_lib.h
                        bam_export.c bam_export.h
                        mykstring.h)
-target_link_libraries(bamm PRIVATE monetdb5 gdk ${SAMTOOLS_LIBRARIES})
+target_link_libraries(bamm PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk"> 
${SAMTOOLS_LIBRARIES})
 set_target_properties(bamm PROPERTIES OUTPUT_NAME _bam)
 target_compile_definitions(bamm PRIVATE LIBBAM)
 
diff --git a/sql/backends/monet5/vaults/fits/CMakeLists.txt 
b/sql/backends/monet5/vaults/fits/CMakeLists.txt
--- a/sql/backends/monet5/vaults/fits/CMakeLists.txt
+++ b/sql/backends/monet5/vaults/fits/CMakeLists.txt
@@ -13,7 +13,7 @@ include_directories(.. ../.. ../../../..
                                        ../../../../../gdk 
${CFITSIO_INCLUDE_DIR})
 
 add_library(fits MODULE fits.c fits.h)
-target_link_libraries(fits PRIVATE monetdb5 gdk ${CFITSIO_LIBRARIES})
+target_link_libraries(fits PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk"> 
${CFITSIO_LIBRARIES})
 set_target_properties(fits PROPERTIES OUTPUT_NAME _fits)
 target_compile_definitions(fits PRIVATE LIBFITS)
 
diff --git a/sql/backends/monet5/vaults/lidar/CMakeLists.txt 
b/sql/backends/monet5/vaults/lidar/CMakeLists.txt
--- a/sql/backends/monet5/vaults/lidar/CMakeLists.txt
+++ b/sql/backends/monet5/vaults/lidar/CMakeLists.txt
@@ -13,7 +13,7 @@ include_directories(.. ../.. ../../../..
                                        ../../../../../gdk 
${LIBLAS_INCLUDE_DIR})
 
 add_library(lidar MODULE lidar.c lidar.h)
-target_link_libraries(lidar PRIVATE monetdb5 gdk ${LIBLAS_LIBRARIES})
+target_link_libraries(lidar PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk"> 
${LIBLAS_LIBRARIES})
 set_target_properties(lidar PROPERTIES OUTPUT_NAME _lidar)
 target_compile_definitions(lidar PRIVATE LIBLIDAR)
 
diff --git a/sql/backends/monet5/vaults/shp/CMakeLists.txt 
b/sql/backends/monet5/vaults/shp/CMakeLists.txt
--- a/sql/backends/monet5/vaults/shp/CMakeLists.txt
+++ b/sql/backends/monet5/vaults/shp/CMakeLists.txt
@@ -13,7 +13,7 @@ include_directories(.. ../.. ../../../..
                                        ../../../../../gdk 
../../../../../geom/lib ../../../../../geom/monetdb5 ${GDAL_INCLUDE_DIR})
 
 add_library(shp MODULE shp.c shp.h)
-target_link_libraries(shp PRIVATE monetdb5 gdk ${GDAL_LIBRARIES})
+target_link_libraries(shp PRIVATE $<$<PLATFORM_ID:Windows>:"monetdb5 gdk"> 
${GDAL_LIBRARIES})
 set_target_properties(shp PROPERTIES OUTPUT_NAME _shp)
 target_compile_definitions(shp PRIVATE LIBGTIFF)
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to