Changeset: af40d7a99e21 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=af40d7a99e21
Modified Files:
CMakeLists.txt
clients/mapilib/CMakeLists.txt
clients/odbc/driver/CMakeLists.txt
clients/odbc/winsetup/install.c
gdk/CMakeLists.txt
monetdb5/tools/CMakeLists.txt
Branch: cmake-fun
Log Message:
Compile rc files on Windows and revert the library prefix name changes.
diffs (128 lines):
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -773,9 +773,11 @@ endif()
if(WIN32)
set(OS_DIRSEP "\\\\")
set(OS_PATHSEP ";")
+ set(SO_PREFIX "lib")
elseif(UNIX OR APPLE OR ${CMAKE_SYSTEM_NAME} STREQUAL "CYGWIN")
set(OS_DIRSEP "/")
set(OS_PATHSEP ":")
+ set(SO_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}")
else()
message(FATAL_ERROR "Unknown target operating system")
endif()
@@ -783,7 +785,6 @@ endif()
set(DIR_SEP "'${OS_DIRSEP}'")
set(DIR_SEP_STR ${OS_DIRSEP})
set(PATH_SEP "'${OS_PATHSEP}'")
-set(SO_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}")
set(SO_EXT "${CMAKE_SHARED_LIBRARY_SUFFIX}")
test_big_endian(WORDS_BIGENDIAN)
@@ -2105,6 +2106,7 @@ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}" CACHE STRING "Release
flags" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}" CACHE
STRING "RelWithDebugInfo flags" FORCE)
set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}" CACHE STRING
"MinSizeRel flags" FORCE)
+set(CMAKE_SHARED_LIBRARY_PREFIX "${SO_PREFIX}" CACHE STRING "Library name
prefix" FORCE) # We don't use the library naming convention on Windows :(
site_name(BUILD_HOST)
set(builtby "$ENV{USER}@${BUILD_HOST}")
diff --git a/clients/mapilib/CMakeLists.txt b/clients/mapilib/CMakeLists.txt
--- a/clients/mapilib/CMakeLists.txt
+++ b/clients/mapilib/CMakeLists.txt
@@ -8,7 +8,12 @@
include_directories(../../common/stream ../../common/utils
${CRYPTO_INCLUDE_DIR})
-add_library(mapi SHARED mapi.c)
+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)
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,6 +8,11 @@
include_directories(../../mapilib ${ODBC_INCLUDE_DIR})
+set(MonetODBC_RC "")
+if(WIN32)
+ set(MonetODBC_RC driver.rc)
+endif()
+
add_library(MonetODBC MODULE
ODBCConvert.c
ODBCDbc.c
@@ -99,7 +104,7 @@ add_library(MonetODBC MODULE
SQLStatistics.c
SQLTablePrivileges.c
SQLTables.c
- SQLTransact.c)
+ SQLTransact.c ${MonetODBC_RC})
target_link_libraries(MonetODBC PRIVATE mapi stream ${ICONV_LIBRARIES}
${ODBCINST_LIBRARIES} ${CRYPTO_LIBRARIES}
${SOCKET_LIBRARIES})
install(TARGETS MonetODBC DESTINATION ${LIBDIR})
diff --git a/clients/odbc/winsetup/install.c b/clients/odbc/winsetup/install.c
--- a/clients/odbc/winsetup/install.c
+++ b/clients/odbc/winsetup/install.c
@@ -19,8 +19,8 @@
static char *DriverName = "MonetDB ODBC Driver";
static char *DataSourceName = "MonetDB";
-static char *DriverDLL = "MonetODBC" DLL;
-static char *DriverDLLs = "MonetODBCs" DLL;
+static char *DriverDLL = "libMonetODBC" DLL;
+static char *DriverDLLs = "libMonetODBCs" DLL;
/* General error handler for installer functions */
diff --git a/gdk/CMakeLists.txt b/gdk/CMakeLists.txt
--- a/gdk/CMakeLists.txt
+++ b/gdk/CMakeLists.txt
@@ -8,6 +8,11 @@
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
@@ -32,7 +37,7 @@ 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_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)
set_target_properties(gdk PROPERTIES VERSION ${GDK_VERSION} SOVERSION
${GDK_VERSION_MAJOR} OUTPUT_NAME bat)
diff --git a/monetdb5/tools/CMakeLists.txt b/monetdb5/tools/CMakeLists.txt
--- a/monetdb5/tools/CMakeLists.txt
+++ b/monetdb5/tools/CMakeLists.txt
@@ -24,7 +24,13 @@ file(GLOB MODULES_SRC "../modules/mal/*.
file(GLOB OPTIMIZER_SRC "../optimizer/*.h" "../optimizer/*.c")
file(GLOB SCHEDULER_SRC "../scheduler/*.h" "../scheduler/*.c")
-add_library(monetdb5 SHARED ${MAL_SRC} ${ATOMS_SRC} ${KERNEL_SRC}
${MODULES_SRC} ${OPTIMIZER_SRC} ${SCHEDULER_SRC})
+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)
set_target_properties(monetdb5 PROPERTIES VERSION ${MONETDB5_VERSION}
SOVERSION ${MONETDB5_VERSION_MAJOR})
target_compile_definitions(monetdb5 PRIVATE LIBMAL LIBATOMS LIBKERNEL
LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list