Changeset: d6db6d11d320 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d6db6d11d320
Modified Files:
        CMakeLists.txt
        monetdb5/extras/mal_optimizer_template/CMakeLists.txt
        monetdb5/tools/CMakeLists.txt
        sql/backends/monet5/CMakeLists.txt
        sql/backends/monet5/generator/CMakeLists.txt
        tools/mserver/CMakeLists.txt
Branch: cmake-fun
Log Message:

Windows compilation fixes.


diffs (108 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -705,9 +705,9 @@ else()
        set(HAVE_PYTHON3 NO)
 endif()
 
-if(HAVE_PYTHON2 AND PYTHON2_LIBDIR)
+if(HAVE_PYTHON2 AND "${PYTHON2_LIBDIR_CODE}" STREQUAL "0")
        set(PYTHON_LIBDIR ${PYTHON2_LIBDIR})
-elseif(HAVE_PYTHON3 AND PYTHON3_LIBDIR)
+elseif(HAVE_PYTHON3 AND "${PYTHON3_LIBDIR_CODE}" STREQUAL "0")
        set(PYTHON_LIBDIR ${PYTHON3_LIBDIR})
 endif()
 
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
@@ -11,7 +11,7 @@ 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)
-target_compile_definitions(opt_sql_append PRIVATE LIBOPT_SQL_APPEND)
+target_compile_definitions(opt_sql_append PRIVATE LIBOPT_SQL_APPEND LIBMAL 
LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5)
 
 install(TARGETS opt_sql_append DESTINATION ${LIBDIR}/monetdb5)
 install(FILES opt_sql_append.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
@@ -6,18 +6,27 @@
 # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
 #]]
 
-set(MONETDB5_PRIVATE_LINK_OBJECTS gdk stream)
+
+set(MONETDB5_PRIVATE_LINK_OBJECTS ${UUID_LIBRARIES} ${MATH_LIBRARIES} 
${SOCKET_LIBRARIES} ${MALLOC_LIBRARIES}
+                                                                 
${PTHREAD_LIBRARIES} ${DL_LIBRARIES} ${CRYPTO_LIBRARIES} ${PCRE_LIBRARIES}
+                                                                 
${LIBXML2_LIBRARIES} gdk stream)
+set(MONETDB5_PUBLIC_LINK_OBJECTS mal atoms kernel malmodules optimizer 
scheduler mutils mcrypt msabaoth)
 if(HAVE_MAPI)
        list(APPEND MONETDB5_PRIVATE_LINK_OBJECTS mapi)
 endif()
 
-add_library(monetdb5 SHARED monetdb.c)
-target_link_libraries(monetdb5 PRIVATE ${UUID_LIBRARIES} ${MATH_LIBRARIES} 
${SOCKET_LIBRARIES} ${MALLOC_LIBRARIES}
-                                         ${PTHREAD_LIBRARIES} ${DL_LIBRARIES} 
${CRYPTO_LIBRARIES} ${PCRE_LIBRARIES} ${LIBXML2_LIBRARIES}
-                                         ${MONETDB5_PRIVATE_LINK_OBJECTS} 
PUBLIC mal atoms kernel malmodules optimizer scheduler mutils
-                                         mcrypt msabaoth)
-set_target_properties(monetdb5 PROPERTIES VERSION ${MONETDB5_VERSION} 
SOVERSION ${MONETDB5_VERSION_MAJOR})
-target_compile_definitions(monetdb5 PRIVATE LIBMAL LIBATOMS LIBKERNEL 
LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5)
+if(MSVC)
+       add_library(monetdb5 STATIC monetdb.c)
+       target_link_libraries(monetdb5 PRIVATE ${MONETDB5_PRIVATE_LINK_OBJECTS} 
PUBLIC ${MONETDB5_PUBLIC_LINK_OBJECTS})
+
+       add_library(monetdb5shared SHARED monetdb.c)
+       target_link_libraries(monetdb5shared PRIVATE 
${MONETDB5_PRIVATE_LINK_OBJECTS} PUBLIC ${MONETDB5_PUBLIC_LINK_OBJECTS})
+       set_target_properties(monetdb5shared PROPERTIES OUTPUT_NAME monetdb5)
+else()
+       add_library(monetdb5 SHARED monetdb.c)
+       target_link_libraries(monetdb5 PRIVATE ${MONETDB5_PRIVATE_LINK_OBJECTS} 
PUBLIC ${MONETDB5_PUBLIC_LINK_OBJECTS})
+       set_target_properties(monetdb5 PROPERTIES VERSION ${MONETDB5_VERSION} 
SOVERSION ${MONETDB5_VERSION_MAJOR})
+endif()
 
 install(TARGETS monetdb5 DESTINATION ${LIBDIR})
 
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
@@ -45,7 +45,7 @@ add_library(sql MODULE
                        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)
-target_compile_definitions(sql PRIVATE LIBSQL LIBSQLSERVER LIBSQLCOMMON 
LIBBATSTORE LIBSTORE)
+target_compile_definitions(sql PRIVATE LIBSQL LIBSQLSERVER LIBSQLCOMMON 
LIBBATSTORE LIBSTORE LIBMAL LIBATOMS LIBKERNEL LIBOPTIMIZER LIBSCHEDULER 
LIBMONETDB5)
 
 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,7 +14,7 @@ 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)
-target_compile_definitions(generator PRIVATE LIBGENERATOR)
+target_compile_definitions(generator PRIVATE LIBGENERATOR LIBMAL LIBATOMS 
LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5)
 
 install(TARGETS generator DESTINATION ${LIBDIR}/monetdb5)
 install(FILES generator.mal DESTINATION ${LIBDIR}/monetdb5)
diff --git a/tools/mserver/CMakeLists.txt b/tools/mserver/CMakeLists.txt
--- a/tools/mserver/CMakeLists.txt
+++ b/tools/mserver/CMakeLists.txt
@@ -19,6 +19,7 @@ target_link_libraries(mserver5 PRIVATE m
                                          ${MALLOC_LIBRARIES} 
${PTHREAD_LIBRARIES} ${DL_LIBRARIES} ${CRYPTO_LIBRARIES}
                                          ${PCRE_LIBRARIES} 
${LIBXML2_LIBRARIES} ${PSAPI_LIBRARIES} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES}
                                          ${SNAPPY_LIBRARIES} ${LZ4_LIBRARIES} 
${LIBLZMA_LIBRARIES} ${CURL_LIBRARIES} ${ICONV_LIBRARIES})
+target_compile_definitions(mserver5 PRIVATE LIBMAL LIBATOMS LIBKERNEL 
LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5)
 install(TARGETS mserver5 DESTINATION ${BINDIR})
 
 install(FILES tomographintro.docx tomographintro.pdf DESTINATION 
${DATADIR}/doc/MonetDB-client-tools)
@@ -37,5 +38,6 @@ if(HAVE_TESTING)
                                                  ${CRYPTO_LIBRARIES} 
${PCRE_LIBRARIES} ${LIBXML2_LIBRARIES} ${PSAPI_LIBRARIES} ${ZLIB_LIBRARIES}
                                                  ${BZIP2_LIBRARIES} 
${SNAPPY_LIBRARIES} ${LZ4_LIBRARIES} ${LIBLZMA_LIBRARIES} ${CURL_LIBRARIES}
                                                  ${ICONV_LIBRARIES})
+       target_compile_definitions(shutdowntest PRIVATE LIBMAL LIBATOMS 
LIBKERNEL LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5)
        install(TARGETS shutdowntest DESTINATION ${BINDIR})
 endif()
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to