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