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