Changeset: fcb4c8f65967 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fcb4c8f65967 Modified Files: clients/mapilib/CMakeLists.txt common/options/CMakeLists.txt common/stream/CMakeLists.txt common/utils/CMakeLists.txt common/utils/msabaoth.h gdk/CMakeLists.txt geom/lib/CMakeLists.txt geom/monetdb5/CMakeLists.txt monetdb5/extras/mal_optimizer_template/CMakeLists.txt monetdb5/mal/CMakeLists.txt monetdb5/mal/mal.h monetdb5/modules/atoms/CMakeLists.txt monetdb5/modules/kernel/CMakeLists.txt monetdb5/modules/mal/CMakeLists.txt monetdb5/optimizer/CMakeLists.txt monetdb5/scheduler/CMakeLists.txt monetdb5/tools/CMakeLists.txt monetdb_config.h.in sql/backends/monet5/CMakeLists.txt sql/backends/monet5/generator/CMakeLists.txt tools/merovingian/utils/CMakeLists.txt Branch: cmake-fun Log Message:
Setting compile definitions for linking. diffs (truncated from 309 to 300 lines): diff --git a/clients/mapilib/CMakeLists.txt b/clients/mapilib/CMakeLists.txt --- a/clients/mapilib/CMakeLists.txt +++ b/clients/mapilib/CMakeLists.txt @@ -11,6 +11,7 @@ include_directories(../../common/options add_library(mapi SHARED mapi.c) target_link_libraries(mapi PRIVATE ${SOCKET_LIBRARIES} ${CRYPTO_LIBRARIES} moptions mcrypt stream) set_target_properties(mapi PROPERTIES VERSION ${MAPI_VERSION} SOVERSION ${MAPI_VERSION_MAJOR}) +target_compile_definitions(mapi PRIVATE LIBMAPI) install(TARGETS mapi DESTINATION ${LIBDIR}) install(FILES mapi.h DESTINATION ${INCLUDEDIR}/monetdb) diff --git a/common/options/CMakeLists.txt b/common/options/CMakeLists.txt --- a/common/options/CMakeLists.txt +++ b/common/options/CMakeLists.txt @@ -8,5 +8,5 @@ add_library(moptions OBJECT monet_options.c monet_options.h monet_getopt.h) set_target_properties(moptions PROPERTIES POSITION_INDEPENDENT_CODE ON) - +target_compile_definitions(moptions PRIVATE LIBMOPTIONS LIBGDK LIBMAPI) install(FILES monet_options.h DESTINATION ${INCLUDEDIR}/monetdb) diff --git a/common/stream/CMakeLists.txt b/common/stream/CMakeLists.txt --- a/common/stream/CMakeLists.txt +++ b/common/stream/CMakeLists.txt @@ -14,27 +14,28 @@ target_link_libraries(stream PRIVATE ${Z ${LIBLZMA_LIBRARIES} ${CURL_LIBRARIES} ${ICONV_LIBRARIES}) target_include_directories(stream PRIVATE ${Iconv_INCLUDE_DIR}) set_target_properties(stream PROPERTIES VERSION ${STREAM_VERSION} SOVERSION ${STREAM_VERSION_MAJOR}) +target_compile_definitions(stream PRIVATE LIBSTREAM) install(TARGETS stream LIBRARY DESTINATION ${LIBDIR}) install(FILES stream_socket.h stream.h DESTINATION ${INCLUDEDIR}/monetdb) if(NOT WIN32) - if(CURL_LIBRARIES) + if(CURL_FOUND) set(PKG_CURL "-lcurl") endif() - if(ZLIB_LIBRARIES) + if(ZLIB_FOUND) set(PKG_ZLIB "-lz") endif() - if(LIBLZMA_LIBRARIES) + if(LIBLZMA_FOUND) set(PKG_LIBLZMA "-llzma") endif() - if(LZ4_LIBRARIES) + if(LZ4_FOUND) set(PKG_LZ4 "-llz4") endif() - if(BZIP2_LIBRARIES) + if(BZIP2_FOUND) set(PKG_BZIP2 "-lbz2") endif() - if(SNAPPY_LIBRARIES) + if(SNAPPY_FOUND) set(PKG_SNAPPY "-lsnappy") endif() if(SOCKET_LIBRARIES) diff --git a/common/utils/CMakeLists.txt b/common/utils/CMakeLists.txt --- a/common/utils/CMakeLists.txt +++ b/common/utils/CMakeLists.txt @@ -10,7 +10,10 @@ include_directories(${CRYPTO_INCLUDE_DIR add_library(mutils OBJECT mutils.h mutils.c prompt.c mprompt.h revision.c) set_target_properties(mutils PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(mutils PRIVATE LIBMUTILS LIBGDK LIBMEROUTIL) add_library(mcrypt OBJECT mcrypt.h mcrypt.c) set_target_properties(mcrypt PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(mcrypt PRIVATE LIBMAPI LIBMCRYPT) add_library(msabaoth OBJECT muuid.h muuid.c msabaoth.h msabaoth.c) set_target_properties(msabaoth PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(msabaoth PRIVATE LIBMUUID LIBMAL LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5 LIBMSABAOTH) diff --git a/common/utils/msabaoth.h b/common/utils/msabaoth.h --- a/common/utils/msabaoth.h +++ b/common/utils/msabaoth.h @@ -52,7 +52,7 @@ typedef struct Ssabuplog { } sabuplog; #ifdef WIN32 -#if !defined(LIBMAL) && !defined(LIBATOMS) && !defined(LIBKERNEL) && !defined(LIBMAL) && !defined(LIBOPTIMIZER) && !defined(LIBSCHEDULER) && !defined(LIBMONETDB5) && !defined(LIBMSABAOTH) +#if !defined(LIBMAL) && !defined(LIBATOMS) && !defined(LIBKERNEL) && !defined(LIBOPTIMIZER) && !defined(LIBSCHEDULER) && !defined(LIBMONETDB5) && !defined(LIBMSABAOTH) #define msab_export extern __declspec(dllimport) #else #define msab_export extern __declspec(dllexport) diff --git a/gdk/CMakeLists.txt b/gdk/CMakeLists.txt --- a/gdk/CMakeLists.txt +++ b/gdk/CMakeLists.txt @@ -33,10 +33,11 @@ add_library(gdk SHARED gdk_firstn.c gdk_analytic_bounds.c gdk_analytic_func.c gdk_analytic.h) -target_link_libraries(gdk PRIVATE ${MATH_LIBRARIES} ${SOCKET_LIBRARIES} ${MALLOC_LIBRARIES} ${PTHREAD_LIBRARIES} ${DL_LIBRARIES} - moptions mutils stream) -set_target_properties(gdk PROPERTIES RUNTIME_OUTPUT_NAME bat LIBRARY_OUTPUT_NAME bat COMPILE_DEFINITIONS "LIBGDK" +target_link_libraries(gdk PRIVATE ${MATH_LIBRARIES} ${SOCKET_LIBRARIES} ${MALLOC_LIBRARIES} ${PTHREAD_LIBRARIES} + ${DL_LIBRARIES} moptions mutils stream) +set_target_properties(gdk PROPERTIES RUNTIME_OUTPUT_NAME bat LIBRARY_OUTPUT_NAME bat VERSION ${GDK_VERSION} SOVERSION ${GDK_VERSION_MAJOR}) +target_compile_definitions(gdk PRIVATE LIBGDK) install(TARGETS gdk LIBRARY DESTINATION ${LIBDIR}) install(FILES @@ -55,16 +56,16 @@ install(FILES DESTINATION ${INCLUDEDIR}/monetdb) if(NOT WIN32) - if(MATH_LIBRARIES) + if(NOT MATH_LIBRARIES STREQUAL "") set(PKG_MATH_LIBRARIES "-l${MATH_LIBRARIES}") endif() - if(MALLOC_LIBRARIES) + if(NOT MALLOC_LIBRARIES STREQUAL "") set(PKG_MALLOC_LIBRARIES "-l${MALLOC_LIBRARIES}") endif() - if(PTHREAD_LIBRARIES) + if(NOT PTHREAD_LIBRARIES STREQUAL "") set(PKG_PTHREAD_LIBRARIES "-${PTHREAD_LIBRARIES}") endif() - if(DL_LIBRARIES) + if(NOT DL_LIBRARIES STREQUAL "") set(PKG_DL_LIBS "-l${DL_LIBRARIES}") endif() configure_file(monetdb-gdk.pc.in ${CMAKE_CURRENT_BINARY_DIR}/monetdb-gdk.pc @ONLY) diff --git a/geom/lib/CMakeLists.txt b/geom/lib/CMakeLists.txt --- a/geom/lib/CMakeLists.txt +++ b/geom/lib/CMakeLists.txt @@ -10,3 +10,4 @@ include_directories(../../common/options add_library(geomobj STATIC libgeom.c libgeom.h) set_target_properties(geomobj PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(geomobj PRIVATE LIBGEOM) diff --git a/geom/monetdb5/CMakeLists.txt b/geom/monetdb5/CMakeLists.txt --- a/geom/monetdb5/CMakeLists.txt +++ b/geom/monetdb5/CMakeLists.txt @@ -11,7 +11,8 @@ include_directories(../lib ../../gdk ../ add_library(geom MODULE geom.h geom.c geomBulk.c geom_upgrade.c) target_link_libraries(geom PRIVATE geomobj gdk stream monetdb5 ${GEOS_LIBS} ${PROJ_LIBRARIES}) -set_target_properties(geom PROPERTIES RUNTIME_OUTPUT_NAME _geom LIBRARY_OUTPUT_NAME _geom COMPILE_DEFINITIONS "LIBGEOM") +set_target_properties(geom PROPERTIES RUNTIME_OUTPUT_NAME _geom LIBRARY_OUTPUT_NAME _geom) +target_compile_definitions(geom PRIVATE LIBGEOM) install(TARGETS geom DESTINATION ${LIBDIR}/monetdb5) install(FILES geom.mal DESTINATION ${LIBDIR}/monetdb5) 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 @@ -10,8 +10,8 @@ include_directories(../../optimizer ../. add_library(opt_sql_append MODULE opt_sql_append.c opt_sql_append.h) target_link_libraries(opt_sql_append PRIVATE monetdb5 gdk) -set_target_properties(opt_sql_append PROPERTIES RUNTIME_OUTPUT_NAME _opt_sql_append LIBRARY_OUTPUT_NAME _opt_sql_append - COMPILE_DEFINITIONS "LIBOPT_SQL_APPEND") +set_target_properties(opt_sql_append PROPERTIES RUNTIME_OUTPUT_NAME _opt_sql_append LIBRARY_OUTPUT_NAME _opt_sql_append) +target_compile_definitions(opt_sql_append PRIVATE LIBOPT_SQL_APPEND) install(TARGETS opt_sql_append DESTINATION ${LIBDIR}/monetdb5) install(FILES opt_sql_append.mal DESTINATION ${LIBDIR}/monetdb5) diff --git a/monetdb5/mal/CMakeLists.txt b/monetdb5/mal/CMakeLists.txt --- a/monetdb5/mal/CMakeLists.txt +++ b/monetdb5/mal/CMakeLists.txt @@ -41,7 +41,8 @@ add_library(mal OBJECT mal_type.c mal_type.h mal_utils.c mal_utils.h mal_private.h) -set_target_properties(mal PROPERTIES POSITION_INDEPENDENT_CODE ON COMPILE_DEFINITIONS "LIBMAL") +set_target_properties(mal PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(mal PRIVATE LIBMAL LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5) install(FILES mal.h diff --git a/monetdb5/mal/mal.h b/monetdb5/mal/mal.h --- a/monetdb5/mal/mal.h +++ b/monetdb5/mal/mal.h @@ -17,7 +17,7 @@ #include "gdk.h" #ifdef WIN32 -#if !defined(LIBMAL) && !defined(LIBATOMS) && !defined(LIBKERNEL) && !defined(LIBMAL) && !defined(LIBOPTIMIZER) && !defined(LIBSCHEDULER) && !defined(LIBMONETDB5) +#if !defined(LIBMAL) && !defined(LIBATOMS) && !defined(LIBKERNEL) && !defined(LIBOPTIMIZER) && !defined(LIBSCHEDULER) && !defined(LIBMONETDB5) #define mal_export extern __declspec(dllimport) #else #define mal_export extern __declspec(dllexport) diff --git a/monetdb5/modules/atoms/CMakeLists.txt b/monetdb5/modules/atoms/CMakeLists.txt --- a/monetdb5/modules/atoms/CMakeLists.txt +++ b/monetdb5/modules/atoms/CMakeLists.txt @@ -27,6 +27,7 @@ if(WIN32) endif() add_library(atoms OBJECT ${ATOM_ITEMS}) set_target_properties(atoms PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(atoms PRIVATE LIBMAL LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5) install(FILES batxml.mal diff --git a/monetdb5/modules/kernel/CMakeLists.txt b/monetdb5/modules/kernel/CMakeLists.txt --- a/monetdb5/modules/kernel/CMakeLists.txt +++ b/monetdb5/modules/kernel/CMakeLists.txt @@ -22,6 +22,7 @@ add_library(kernel OBJECT mmath.c mmath.h mmath_private.h status.c status.h) set_target_properties(kernel PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(kernel PRIVATE LIBMAL LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5) install(FILES bat5.mal algebra.mal status.mal diff --git a/monetdb5/modules/mal/CMakeLists.txt b/monetdb5/modules/mal/CMakeLists.txt --- a/monetdb5/modules/mal/CMakeLists.txt +++ b/monetdb5/modules/mal/CMakeLists.txt @@ -42,7 +42,8 @@ add_library(malmodules OBJECT sample.c sample.h json_util.c json_util.h calc.c batcalc.c) -set_target_properties(malmodules PROPERTIES POSITION_INDEPENDENT_CODE ON COMPILE_DEFINITIONS "LIBMAL") +set_target_properties(malmodules PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(malmodules PRIVATE LIBMAL LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5) install(FILES language.mal mal_init.mal bbp.mal diff --git a/monetdb5/optimizer/CMakeLists.txt b/monetdb5/optimizer/CMakeLists.txt --- a/monetdb5/optimizer/CMakeLists.txt +++ b/monetdb5/optimizer/CMakeLists.txt @@ -47,6 +47,7 @@ add_library(optimizer OBJECT opt_postfix.c opt_postfix.h opt_volcano.c opt_volcano.h opt_wrapper.c) -set_target_properties(optimizer PROPERTIES POSITION_INDEPENDENT_CODE ON COMPILE_DEFINITIONS "LIBOPTIMIZER") +set_target_properties(optimizer PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(optimizer PRIVATE LIBMAL LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5) install(FILES optimizer.mal DESTINATION ${LIBDIR}/monetdb5) diff --git a/monetdb5/scheduler/CMakeLists.txt b/monetdb5/scheduler/CMakeLists.txt --- a/monetdb5/scheduler/CMakeLists.txt +++ b/monetdb5/scheduler/CMakeLists.txt @@ -15,5 +15,6 @@ add_library(scheduler OBJECT run_memo.c run_memo.h run_pipeline.c run_pipeline.h) set_target_properties(scheduler PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_compile_definitions(scheduler PRIVATE LIBMAL LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5) install(FILES run_adder.mal run_isolate.mal run_memo.mal DESTINATION ${LIBDIR}/monetdb5) diff --git a/monetdb5/tools/CMakeLists.txt b/monetdb5/tools/CMakeLists.txt --- a/monetdb5/tools/CMakeLists.txt +++ b/monetdb5/tools/CMakeLists.txt @@ -20,13 +20,13 @@ set_target_properties(monetdb5 PROPERTIE install(TARGETS monetdb5 DESTINATION ${LIBDIR}) if(NOT WIN32) - if(MATH_LIBRARIES) + if(LIBXML2_FOUND) set(PKG_LIBXML2 "libxml-2.0") endif() - if(MALLOC_LIBRARIES) + if(NOT CRYPTO_LIBRARIES STREQUAL "") set(PKG_OPENSSL "-l${CRYPTO_LIBRARIES}") endif() - if(DL_LIBRARIES) + if(HAVE_LIBPCRE) set(PKG_PCRE "-l${PCRE_LIBRARIES}") endif() configure_file(monetdb5.pc.in ${CMAKE_CURRENT_BINARY_DIR}/monetdb5.pc @ONLY) diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -49,6 +49,7 @@ #endif #define ftruncate(fd, sz) (-(_chsize_s((fd), (__int64) (sz)) != 0)) +#define strdup _strdup #ifndef strcasecmp #define strcasecmp _stricmp #endif 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 @@ -44,7 +44,8 @@ add_library(sql MODULE 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) -set_target_properties(sql PROPERTIES RUNTIME_OUTPUT_NAME _sql LIBRARY_OUTPUT_NAME _sql COMPILE_DEFINITIONS "LIBSQL") +set_target_properties(sql PROPERTIES RUNTIME_OUTPUT_NAME _sql LIBRARY_OUTPUT_NAME _sql) +target_compile_definitions(sql PRIVATE LIBSQL) install(TARGETS sql DESTINATION ${LIBDIR}/monetdb5) install(FILES 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 @@ -14,8 +14,8 @@ include_directories(../../../include ../ add_library(generator MODULE generator.c generator.h) target_link_libraries(generator PRIVATE monetdb5 gdk) -set_target_properties(generator PROPERTIES RUNTIME_OUTPUT_NAME _generator LIBRARY_OUTPUT_NAME _generator - COMPILE_DEFINITIONS "LIBGENERATOR") +set_target_properties(generator PROPERTIES RUNTIME_OUTPUT_NAME _generator LIBRARY_OUTPUT_NAME _generator) +target_compile_definitions(generator PRIVATE LIBGENERATOR) install(TARGETS generator DESTINATION ${LIBDIR}/monetdb5) install(FILES generator.mal DESTINATION ${LIBDIR}/monetdb5) diff --git a/tools/merovingian/utils/CMakeLists.txt b/tools/merovingian/utils/CMakeLists.txt _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list