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

Reply via email to