Changeset: e6d797cbd7f2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e6d797cbd7f2
Added Files:
        sql/CMakeLists.txt
        sql/backends/CMakeLists.txt
        sql/backends/monet5/CMakeLists.txt
        sql/common/CMakeLists.txt
        sql/include/CMakeLists.txt
        sql/scripts/CMakeLists.txt
        sql/server/CMakeLists.txt
        sql/storage/CMakeLists.txt
        sql/storage/bat/CMakeLists.txt
        tools/mserver/monet_version.c.in
Removed Files:
        tools/mserver/monet_version.c
Modified Files:
        CMakeLists.txt
        clients/mapilib/monetdb-mapi.pc.in
        cmake/monetdb_config.h.in
        common/options/CMakeLists.txt
        common/stream/CMakeLists.txt
        common/stream/monetdb-stream.pc.in
        gdk/CMakeLists.txt
        gdk/monetdb-gdk.pc.in
        monetdb5/extras/mal_optimizer_template/CMakeLists.txt
        monetdb5/mal/CMakeLists.txt
        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
        monetdb5/tools/monetdb5.pc.in
        sql/server/rel_exp.c
        sql/server/rel_exp.h
        sql/server/rel_select.c
        sql/storage/bat/bat_storage.c
Branch: cmake-fun
Log Message:

Compiles SQL layer and installs some of the libraries, include files and 
scripts.


diffs (truncated from 773 to 300 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,7 +17,7 @@ set(PACKAGE "MonetDB" CACHE STRING "")
 find_package(PkgConfig)
 
 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" CACHE INTERNAL "Location of 
custom CMake modules.")
-include(GNUInstallDirs REQUIRED)
+include(CheckCCompilerFlag REQUIRED)
 include(CheckCSourceCompiles REQUIRED)
 include(CheckCSourceRuns REQUIRED)
 include(CheckIncludeFile REQUIRED)
@@ -27,7 +27,6 @@ include(CheckTypeSize REQUIRED)
 include(CheckStructHasMember REQUIRED)
 include(FindIconv REQUIRED)
 include(TestLargeFiles REQUIRED)
-include(CheckCCompilerFlag REQUIRED)
 include(TestBigEndian REQUIRED)
 
 cmake_policy(SET CMP0075 NEW)
@@ -202,14 +201,6 @@ else()
        message(FATAL_ERROR "PASSWORD_BACKEND invalid, choose one of MD5, SHA1, 
RIPEMD160, SHA224, SHA256, SHA384, SHA512")
 endif()
 
-# instalation directories
-set(LOGDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/monetdb" CACHE STRING 
"Where to put log files (LOCALSTATEDIR/log/monetdb)")
-set(RUNDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/monetdb" CACHE STRING 
"Where to put pid files (LOCALSTATEDIR/run/monetdb)")
-set(BINDIR "${CMAKE_INSTALL_FULL_BINDIR}")
-set(DATA_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
-set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
-set(LOCALSTATEDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}")
-
 opj_test_large_files(_LARGE_FILES)
 opj_test_large_files(_LARGEFILE_SOURCE)
 opj_test_large_files(_FILE_OFFSET_BITS)
@@ -758,12 +749,10 @@ if(NOT ${WITH_LZ4} STREQUAL "NO")
        endif()
 endif()
 
-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+find_library(M_LIBRARY NAMES m)
+if(M_LIBRARY)
        set(MATH_LIBS "m")
 endif()
-if(UNIX)
-       set(DL_LIBS "${CMAKE_DL_LIBS}")
-endif()
 
 # Malloc libs
 set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};umem")
@@ -1787,12 +1776,12 @@ if(NOT ${ENABLE_INT128} STREQUAL "NO")
                set(HAVE___UINT128_T ON)
        endif()
 
-       if(NOT HAVE_SIZEOF___INT128 AND NOT HAVE_SIZEOF___INT128_T AND NOT 
HAVE_SIZEOF___UINT128_T)
-               if(${ENABLE_INT128} STREQUAL "YES")
-                       message(FATAL_ERROR "128-bit integers not supported by 
platform")
-               else()
-                       message(WARN " 128-bit integers not supported by 
platform")
-               endif()
+       if(HAVE_SIZEOF___INT128 OR HAVE_SIZEOF___INT128_T OR 
HAVE_SIZEOF___UINT128_T)
+               set(HAVE_HGE ON)
+       elseif(${ENABLE_INT128} STREQUAL "YES")
+               message(FATAL_ERROR "128-bit integers not supported by 
platform")
+       else()
+               message(WARN " 128-bit integers not supported by platform")
        endif()
 endif()
 
@@ -1932,6 +1921,20 @@ set(BUILT_BY "$ENV{USER}@${BUILD_HOST}")
 set(COMPILER_CALL "${CMAKE_C_COMPILER}${CMAKE_C_FLAGS}")
 set(LINKER_CALL "${CMAKE_LINKER}${CMAKE_REQUIRED_FLAGS}")
 
+# instalation directories
+if(UNIX)
+       include(GNUInstallDirs REQUIRED)
+
+       set(LOGDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/monetdb" CACHE 
STRING "Where to put log files (LOCALSTATEDIR/log/monetdb)")
+       set(RUNDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/monetdb" CACHE 
STRING "Where to put pid files (LOCALSTATEDIR/run/monetdb)")
+       set(BINDIR "${CMAKE_INSTALL_FULL_BINDIR}")
+       set(DATA_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
+       set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
+       set(LOCALSTATEDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}")
+       set(INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}/monetdb")
+       set(PKGCONFIGDIR "${LIBDIR}/pkgconfig")
+endif()
+
 configure_file(${CMAKE_SOURCE_DIR}/cmake/monetdb_config.h.in 
${CMAKE_SOURCE_DIR}/monetdb_config.h)
 include_directories(${CMAKE_SOURCE_DIR})
 
diff --git a/clients/mapilib/monetdb-mapi.pc.in 
b/clients/mapilib/monetdb-mapi.pc.in
--- a/clients/mapilib/monetdb-mapi.pc.in
+++ b/clients/mapilib/monetdb-mapi.pc.in
@@ -5,9 +5,9 @@
 # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
 
 prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+exec_prefix=${exec_prefix}
+libdir=${libdir}
+includedir=${includedir}
 
 Name: monetdb-mapi
 Description: MonetDB MAPI C-client libary
diff --git a/cmake/monetdb_config.h.in b/cmake/monetdb_config.h.in
--- a/cmake/monetdb_config.h.in
+++ b/cmake/monetdb_config.h.in
@@ -77,15 +77,6 @@
 #include <ws2tcpip.h>
 #endif /* _MSC_VER */
 
-/* Build definitions */
-#cmakedefine BUILT_BY "@BUILT_BY@"
-
-/* Compiler call details */
-#cmakedefine COMPILER_CALL "@COMPILER_CALL@"
-
-/* Linker call details */
-#cmakedefine LINKER_CALL "@LINKER_CALL@"
-
 /* Mercurial repository version */
 #cmakedefine MERCURIAL_ID "@MERCURIAL_ID@"
 
diff --git a/common/options/CMakeLists.txt b/common/options/CMakeLists.txt
--- a/common/options/CMakeLists.txt
+++ b/common/options/CMakeLists.txt
@@ -7,3 +7,4 @@
 #]]
 
 add_library(moptions STATIC monet_options.c monet_options.h monet_getopt.h)
+install(FILES monet_options.h DESTINATION ${INCLUDEDIR})
diff --git a/common/stream/CMakeLists.txt b/common/stream/CMakeLists.txt
--- a/common/stream/CMakeLists.txt
+++ b/common/stream/CMakeLists.txt
@@ -13,3 +13,35 @@ add_library(stream SHARED stream.c strea
 target_link_libraries(stream ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} 
${SNAPPY_LIBRARIES} ${LZ4_LIBRARIES}
                                          ${LIBLZMA_LIBRARY} ${CURL_LIBRARY} 
${Iconv_LIBRARY})
 target_include_directories(stream PRIVATE ${Iconv_INCLUDE_DIR})
+install(TARGETS stream LIBRARY DESTINATION ${LIBDIR})
+
+install(FILES stream_socket.h stream.h DESTINATION ${INCLUDEDIR})
+
+if(NOT WIN32)
+       if(CURL_LIBRARY)
+               set(PKG_CURL "-lcurl")
+       endif()
+       if(ZLIB_LIBRARIES)
+               set(PKG_ZLIB "-lz")
+       endif()
+       if(LIBLZMA_LIBRARY)
+               set(PKG_LIBLZMA "-llzma")
+       endif()
+       if(LZ4_LIBRARIES)
+               set(PKG_LZ4 "-llz4")
+       endif()
+       if(BZIP2_LIBRARIES)
+               set(PKG_BZIP2 "-lbz2")
+       endif()
+       if(SNAPPY_LIBRARIES)
+               set(PKG_SNAPPY "-lsnappy")
+       endif()
+       if(SOCKET_LIBS)
+               set(PKG_SOCKET_LIBS "-l${SOCKET_LIBS}") #TODO fix this
+       endif()
+       if(Iconv_LIBRARY AND NOT Iconv_IS_BUILT_IN)
+               set(PKG_LIBICONV "-l${Iconv_LIBRARY}")
+       endif()
+       configure_file(monetdb-stream.pc.in monetdb-stream.pc @ONLY)
+       install(FILES monetdb-stream.pc DESTINATION ${PKGCONFIGDIR})
+endif()
diff --git a/common/stream/monetdb-stream.pc.in 
b/common/stream/monetdb-stream.pc.in
--- a/common/stream/monetdb-stream.pc.in
+++ b/common/stream/monetdb-stream.pc.in
@@ -4,15 +4,15 @@
 #
 # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
 
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${exec_prefix}
+libdir=${libdir}
+includedir=${includedir}
 
 Name: monetdb-stream
 Description: MonetDB streams libary
 Version: @PACKAGE_VERSION@
 Requires: @PKG_CURL@ @PKG_ZLIB@ @PKG_LIBLZMA@ @PKG_LZ4@ @PKG_BZIP2@ 
@PKG_SNAPPY@
 
-Libs: -L${libdir} -lstream @SOCKET_LIBS@ @LIBICONV@
+Libs: -L${libdir} -lstream @PKG_SOCKET_LIBS@ @PKG_LIBICONV@
 Cflags: -I${includedir}/monetdb
diff --git a/gdk/CMakeLists.txt b/gdk/CMakeLists.txt
--- a/gdk/CMakeLists.txt
+++ b/gdk/CMakeLists.txt
@@ -35,6 +35,39 @@ add_library(bat SHARED
                        gdk_analytic_func.c gdk_analytic.h)
 add_dependencies(bat moptions mutils stream)
 target_link_libraries(bat moptions mutils stream ${MATH_LIBS} 
${SOCKET_LIBRARIES} ${MALLOC_LIBS} ${PTHREAD_LIBRARIES}
-                                         ${DL_LIBS})
+                                         ${CMAKE_DL_LIBS})
 set_target_properties(bat PROPERTIES COMPILE_DEFINITIONS "LIBGDK")
 set_target_properties(bat PROPERTIES VERSION ${GDK_VERSION} SOVERSION 
${GDK_VERSION_MAJOR})
+install(TARGETS bat LIBRARY DESTINATION ${LIBDIR})
+
+install(FILES
+               gdk.h
+               gdk_analytic.h
+               gdk_atomic.h
+               gdk_atoms.h
+               gdk_bbp.h
+               gdk_calc.h
+               gdk_cand.h
+               gdk_delta.h
+               gdk_posix.h
+               gdk_hash.h
+               gdk_system.h
+               gdk_utils.h
+               DESTINATION ${INCLUDEDIR})
+
+if(NOT WIN32)
+       if(MATH_LIBS)
+               set(PKG_MATH_LIBS "-l${MATH_LIBS}")
+       endif()
+       if(MALLOC_LIBS)
+               set(PKG_MALLOC_LIBS "-l${MALLOC_LIBS}")
+       endif()
+       if(PTHREAD_LIBRARIES)
+               set(PKG_PTHREAD_LIBRARIES "-${PTHREAD_LIBRARIES}")
+       endif()
+       if(CMAKE_DL_LIBS)
+               set(PKG_DL_LIBS "-l${CMAKE_DL_LIBS}")
+       endif()
+       configure_file(monetdb-gdk.pc.in monetdb-gdk.pc @ONLY)
+       install(FILES monetdb-gdk.pc DESTINATION ${PKGCONFIGDIR})
+endif()
diff --git a/gdk/monetdb-gdk.pc.in b/gdk/monetdb-gdk.pc.in
--- a/gdk/monetdb-gdk.pc.in
+++ b/gdk/monetdb-gdk.pc.in
@@ -4,15 +4,15 @@
 #
 # Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
 
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${exec_prefix}
+libdir=${libdir}
+includedir=${includedir}
 
 Name: monetdb-gdk
 Description: MonetDB GDK libary
 Version: @PACKAGE_VERSION@
 Requires: monetdb-stream
 
-Libs: -L${libdir} -lbat @MATH_LIBS@ @MALLOC_LIBS@ @PTHREAD_LIBS@ @DL_LIBS@ 
@KVM_LIBS@
+Libs: -L${libdir} -lbat @PKG_MATH_LIBS@ @PKG_MALLOC_LIBS@ 
@PKG_PTHREAD_LIBRARIES@ @PKG_DL_LIBS@
 Cflags: -I${includedir}/monetdb
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,3 +11,7 @@ include_directories(../../optimizer ../.
 add_library(opt_sql_append MODULE opt_sql_append.c opt_sql_append.h)
 add_dependencies(opt_sql_append monetdb5 bat)
 target_link_libraries(opt_sql_append monetdb5 bat)
+
+install(FILES opt_sql_append.mal DESTINATION ${LIBDIR}/monetdb5)
+
+install(FILES 91_opt_sql_append.mal DESTINATION ${LIBDIR}/monetdb5/autoload)
diff --git a/monetdb5/mal/CMakeLists.txt b/monetdb5/mal/CMakeLists.txt
--- a/monetdb5/mal/CMakeLists.txt
+++ b/monetdb5/mal/CMakeLists.txt
@@ -41,5 +41,22 @@ add_library(mal STATIC
                        mal_type.c mal_type.h
                        mal_utils.c mal_utils.h
                        mal_private.h)
+set_target_properties(mal PROPERTIES COMPILE_DEFINITIONS "LIBMAL")
 
-set_target_properties(mal PROPERTIES COMPILE_DEFINITIONS "LIBMAL")
+install(FILES
+               mal.h
+               mal_client.h
+               mal_errors.h
+               mal_exception.h
+               mal_factory.h
+               mal_function.h
+               mal_instruction.h
+               mal_interpreter.h
+               mal_listing.h
+               mal_module.h
+               mal_namespace.h
+               mal_profiler.h
+               mal_resolve.h
+               mal_stack.h
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to