Changeset: 7498f1f6b8ed for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7498f1f6b8ed
Modified Files:
        CMakeLists.txt
        buildtools/conf/CMakeLists.txt
        clients/mapiclient/CMakeLists.txt
        testing/CMakeLists.txt
        tools/merovingian/client/CMakeLists.txt
        tools/merovingian/daemon/CMakeLists.txt
        tools/mserver/CMakeLists.txt
Branch: cmake-fun
Log Message:

Windows compilation and installation fixes.


diffs (248 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,12 +20,12 @@ include(CheckCSourceCompiles REQUIRED)
 include(CheckCSourceRuns REQUIRED)
 include(CheckIncludeFile REQUIRED)
 include(CheckIncludeFiles REQUIRED)
+include(CheckStructHasMember REQUIRED)
 include(CheckSymbolExists REQUIRED)
 include(CheckTypeSize REQUIRED)
-include(CheckStructHasMember REQUIRED)
-include(FindIconv REQUIRED)
+include(GNUInstallDirs REQUIRED)
+include(TestBigEndian REQUIRED)
 include(TestLargeFiles REQUIRED)
-include(TestBigEndian REQUIRED)
 
 cmake_policy(SET CMP0075 NEW)
 
@@ -173,24 +173,25 @@ if(NOT ${ENABLE_STATIC_ANALYSIS} STREQUA
        set(STATIC_CODE_ANALYSIS ON)
 endif()
 
-if(UNIX OR APPLE) # instalation directories. This has to come earlier
-       include(GNUInstallDirs REQUIRED)
+set(SOURCE "${CMAKE_SOURCE_DIR}")
+set(PREFIX "${CMAKE_INSTALL_PREFIX}")
+set(EXEC_PREFIX "${CMAKE_INSTALL_PREFIX}")
 
-       set(LOGDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/monetdb" CACHE PATH 
"Where to put log files (LOCALSTATEDIR/log/monetdb)")
-       set(RUNDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/monetdb" CACHE PATH 
"Where to put pid files (LOCALSTATEDIR/run/monetdb)")
-       set(BINDIR "${CMAKE_INSTALL_FULL_BINDIR}")
-       set(DATADIR "${CMAKE_INSTALL_FULL_DATADIR}")
-       set(DATA_DIR "${CMAKE_INSTALL_FULL_DATADIR}")
-       set(DATAROOTDIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
-       set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
-       set(LIBEXECDIR "${CMAKE_INSTALL_FULL_LIBEXECDIR}")
-       set(LOCALSTATEDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}")
-       set(INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
-       set(PKGCONFIGDIR "${LIBDIR}/pkgconfig")
-       set(SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}")
-       set(MANDIR "${CMAKE_INSTALL_FULL_MANDIR}")
-       set(INFODIR "${CMAKE_INSTALL_FULL_INFODIR}")
-endif()
+set(BINDIR "${CMAKE_INSTALL_FULL_BINDIR}")
+set(DATADIR "${CMAKE_INSTALL_FULL_DATADIR}")
+set(DATAROOTDIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
+set(DATA_DIR "${CMAKE_INSTALL_FULL_DATADIR}")
+set(INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
+set(INFODIR "${CMAKE_INSTALL_FULL_INFODIR}")
+set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
+set(LIBEXECDIR "${CMAKE_INSTALL_FULL_LIBEXECDIR}")
+set(LOCALSTATEDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}")
+set(LOGDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/monetdb" CACHE PATH "Where 
to put log files (LOCALSTATEDIR/log/monetdb)")
+set(MANDIR "${CMAKE_INSTALL_FULL_MANDIR}")
+set(PKGCONFIGDIR "${LIBDIR}/pkgconfig")
+set(RUNDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/monetdb" CACHE PATH "Where 
to put pid files (LOCALSTATEDIR/run/monetdb)")
+set(SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}")
+
 set(PROGRAM_PERMISSIONS_DEFAULT OWNER_WRITE OWNER_READ OWNER_EXECUTE 
GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
 
 # password hash algorithm
@@ -293,18 +294,6 @@ if(${CMAKE_C_COMPILER_ID} STREQUAL "Inte
 endif()
 
 # Check for compiler flags
-if(NOT CMAKE_C_FLAGS)
-       set(CMAKE_C_FLAGS "")
-endif()
-if(MSVC)
-       addCompilerFlag("/GF" "/GF" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
-       addCompilerFlag("/W3" "/W3" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
-       addCompilerFlag("/nologo" "/nologo" "${CMAKE_C_FLAGS}" "all" 
CMAKE_C_FLAGS)
-       addCompilerFlag("/Zi" "/Zi" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
-       addCompilerFlag("/Oi" "/Oi" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
-endif()
-set(X_CFLAGS "")
-
 function(removeCompilerFlag REGEX_EXPRESSION FLAG_TO_REMOVE OLD_FLAGS BUILD 
NEW_FLAGS)
        if(${OLD_FLAGS} MATCHES "${REGEX_EXPRESSION}")
                string(REGEX REPLACE "${REGEX_EXPRESSION}" "" NEW_VAR 
"${OLD_FLAGS}")
@@ -325,6 +314,18 @@ function(addLinkerFlag REGEX_EXPRESSION 
        endif()
 endfunction()
 
+if(NOT CMAKE_C_FLAGS)
+       set(CMAKE_C_FLAGS "")
+endif()
+if(MSVC)
+       addCompilerFlag("/GF" "/GF" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
+       addCompilerFlag("/W3" "/W3" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
+       addCompilerFlag("/nologo" "/nologo" "${CMAKE_C_FLAGS}" "all" 
CMAKE_C_FLAGS)
+       addCompilerFlag("/Zi" "/Zi" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
+       addCompilerFlag("/Oi" "/Oi" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
+endif()
+set(X_CFLAGS "")
+
 if(${ENABLE_ASSERT} STREQUAL "NO")
        set(NDEBUG ON)
 elseif(${ENABLE_ASSERT} STREQUAL "YES" AND ${CMAKE_C_COMPILER_ID} STREQUAL 
"Intel")
@@ -816,16 +817,16 @@ endif()
 set(DL_LIBRARIES "")
 if(UNIX)
        find_library(MATH_LIBRARIES NAMES m DOC "m library to link")
-       set(DL_LIBRARIES ${CMAKE_DL_LIBS})
+       set(DL_LIBRARIES "${CMAKE_DL_LIBS}")
 endif()
 if(NOT MATH_LIBRARIES)
        set(MATH_LIBRARIES "" CACHE STRING "m library to link")
 endif()
 if(WIN32)
-       find_library(PSAPILIB_LIBRARIES NAMES psapi DOC "psapi library to link")
+       find_library(PSAPI_LIBRARIES NAMES psapi DOC "psapi library to link 
(only on Windows)")
 endif()
-if(NOT PSAPILIB_LIBRARIES)
-       set(PSAPILIB_LIBRARIES "" CACHE STRING "psapi library to link")
+if(NOT PSAPI_LIBRARIES)
+       set(PSAPI_LIBRARIES "" CACHE STRING "psapi library to link (only on 
Windows)")
 endif()
 
 # Malloc libs
@@ -953,6 +954,7 @@ endif()
 
 # Iconv
 set(ICONV_LIBRARIES "")
+include(FindIconv)
 if(Iconv_FOUND)
        set(HAVE_ICONV ON)
        set(HAVE_ICONV_H ON)
@@ -1349,12 +1351,7 @@ if(NOT ${ENABLE_ODBC} STREQUAL "NO")
        if(MSVC)
                check_include_file("odbcinst.h" HAVE_ODBCINST_H)
                if(NOT HAVE_ODBCINST_H)
-                       if(${WITH_UNIXODBC} STREQUAL "YES")
-                               message(FATAL_ERROR "odbcinst.h not found")
-                       else()
-                               set(HAVE_ODBC NO)
-                               message(STATUS "odbcinst.h not found")
-                       endif()
+                       message(STATUS "odbcinst.h not found")
                endif()
 
                set(FOUND_ODBCINST_LIBRARIES )
diff --git a/buildtools/conf/CMakeLists.txt b/buildtools/conf/CMakeLists.txt
--- a/buildtools/conf/CMakeLists.txt
+++ b/buildtools/conf/CMakeLists.txt
@@ -11,7 +11,7 @@ if(HAVE_DEVELOPER)
 endif()
 
 if(WIN32)
-       install(FILES banner.bmp license.rtf monetdb.ico website.html 
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
+       install(FILES banner.bmp license.rtf monetdb.ico website.html 
DESTINATION ${BINDIR})
 else()
        install(FILES monetdbd.conf DESTINATION ${SYSCONFDIR}/tmpfiles.d)
 endif()
diff --git a/clients/mapiclient/CMakeLists.txt 
b/clients/mapiclient/CMakeLists.txt
--- a/clients/mapiclient/CMakeLists.txt
+++ b/clients/mapiclient/CMakeLists.txt
@@ -36,4 +36,6 @@ target_link_libraries(tomograph PRIVATE 
                                          ${ICONV_LIBRARIES} 
${CRYPTO_LIBRARIES})
 
 install(TARGETS mclient msqldump stethoscope tachograph tomograph DESTINATION 
${BINDIR})
-install(FILES mclient.1 msqldump.1 DESTINATION ${DATADIR}/man/man1)
+if(NOT WIN32)
+       install(FILES mclient.1 msqldump.1 DESTINATION ${MANDIR}/man1)
+endif()
diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt
--- a/testing/CMakeLists.txt
+++ b/testing/CMakeLists.txt
@@ -31,12 +31,6 @@ string(REPLACE "\\" "\\\\" QXPYTHON2_LIB
 string(REPLACE "\\" "\\\\" QXPYTHON3 "${PYTHON3_INTERPRETER}")
 string(REPLACE "\\" "\\\\" QXPYTHON3_LIBDIR "${PYTHON3_LIBDIR}")
 
-find_program(SH sh)
-if(NOT SH)
-       message(FATAL_ERROR "A shell interpreter was not found")
-endif()
-set(BASH "${SH}")
-
 if(CMAKE_SIZEOF_VOID_P EQUAL 4)
        set(BITS32_FALSE "#")
 else()
@@ -75,6 +69,11 @@ install(FILES Mfilter.py process.py ${CM
 if(WIN32)
        install(FILES Mlog.bat Mtest.py.bat DESTINATION ${BINDIR})
 else()
+       find_program(SH sh)
+       if(NOT SH)
+               message(FATAL_ERROR "A shell interpreter was not found")
+       endif()
+       set(BASH "${SH}")
        configure_file(Mlog.in ${CMAKE_CURRENT_BINARY_DIR}/Mlog @ONLY)
        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Mlog PERMISSIONS 
${PROGRAM_PERMISSIONS_DEFAULT} DESTINATION ${BINDIR})
        install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E 
make_directory ${BINDIR})")
diff --git a/tools/merovingian/client/CMakeLists.txt 
b/tools/merovingian/client/CMakeLists.txt
--- a/tools/merovingian/client/CMakeLists.txt
+++ b/tools/merovingian/client/CMakeLists.txt
@@ -13,4 +13,4 @@ target_link_libraries(monetdb PRIVATE me
                                          ${SOCKET_LIBRARIES} ${ZLIB_LIBRARIES} 
${BZIP2_LIBRARIES} ${SNAPPY_LIBRARIES} ${LZ4_LIBRARIES}
                                          ${LIBLZMA_LIBRARIES} 
${CURL_LIBRARIES} ${ICONV_LIBRARIES})
 install(TARGETS monetdb DESTINATION ${BINDIR})
-install(FILES monetdb.1 DESTINATION ${DATADIR}/man/man1)
+install(FILES monetdb.1 DESTINATION ${MANDIR}/man1)
diff --git a/tools/merovingian/daemon/CMakeLists.txt 
b/tools/merovingian/daemon/CMakeLists.txt
--- a/tools/merovingian/daemon/CMakeLists.txt
+++ b/tools/merovingian/daemon/CMakeLists.txt
@@ -21,4 +21,4 @@ target_link_libraries(monetdbd PRIVATE m
 install(TARGETS monetdbd DESTINATION ${BINDIR})
 
 configure_file(monetdbd.1.in ${CMAKE_CURRENT_BINARY_DIR}/monetdbd.1 @ONLY)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/monetdbd.1 DESTINATION 
${DATADIR}/man/man1)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/monetdbd.1 DESTINATION 
${MANDIR}/man1)
diff --git a/tools/mserver/CMakeLists.txt b/tools/mserver/CMakeLists.txt
--- a/tools/mserver/CMakeLists.txt
+++ b/tools/mserver/CMakeLists.txt
@@ -15,23 +15,25 @@ configure_file(monet_version.c.in ${CMAK
 
 add_executable(mserver5 mserver5.c monet_version.h 
${CMAKE_CURRENT_BINARY_DIR}/monet_version.c)
 target_link_libraries(mserver5 PRIVATE monetdb5 mal gdk stream mapi 
${UUID_LIBRARIES} ${MATH_LIBRARIES} ${SOCKET_LIBRARIES}
-                                         ${MALLOC_LIBRARIES} 
${PTHREAD_LIBRARIES} ${PTHREAD_LIBRARIES} ${DL_LIBRARIES} ${CRYPTO_LIBRARIES}
-                                         ${PCRE_LIBRARIES} 
${LIBXML2_LIBRARIES} ${PSAPILIB_LIBS} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES}
+                                         ${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})
 install(TARGETS mserver5 DESTINATION ${BINDIR})
 
 install(FILES tomographintro.docx tomographintro.pdf DESTINATION 
${DATADIR}/doc/MonetDB-client-tools)
 install(FILES monetdblogo.png DESTINATION ${DATADIR}/doc/MonetDB)
 
-set(localstatedir "${LOCALSTATEDIR}")
-configure_file(mserver5.1.in ${CMAKE_CURRENT_BINARY_DIR}/mserver5.1 @ONLY)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mserver5.1 DESTINATION 
${DATADIR}/man/man1)
+if(NOT WIN32)
+       set(localstatedir "${LOCALSTATEDIR}")
+       configure_file(mserver5.1.in ${CMAKE_CURRENT_BINARY_DIR}/mserver5.1 
@ONLY)
+       install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mserver5.1 DESTINATION 
${MANDIR}/man1)
+endif()
 
 if(HAVE_TESTING)
        add_executable(shutdowntest shutdowntest.c)
        target_link_libraries(shutdowntest PRIVATE monetdb5 mal gdk stream mapi 
${UUID_LIBRARIES} ${MATH_LIBRARIES}
-                                                 ${SOCKET_LIBRARIES} 
${MALLOC_LIBRARIES} ${PTHREAD_LIBRARIES} ${PTHREAD_LIBRARIES} ${DL_LIBRARIES}
-                                                 ${CRYPTO_LIBRARIES} 
${PCRE_LIBRARIES} ${LIBXML2_LIBRARIES} ${PSAPILIB_LIBS} ${ZLIB_LIBRARIES}
+                                                 ${SOCKET_LIBRARIES} 
${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})
        install(TARGETS shutdowntest DESTINATION ${BINDIR})
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to