diff options
| author | Marco Craveiro <mcraveiro@users.noreply.github.com> | 2019-02-01 20:25:28 +0000 |
|---|---|---|
| committer | Victor Romero <romerosanchezv@gmail.com> | 2019-02-01 12:25:28 -0800 |
| commit | 52390cf481f6fe3962bbbd2b84a62ab4d9702484 (patch) | |
| tree | f52f1f6259b2762ab8d2dcbe771e606999db560f /ports/libodb-boost | |
| parent | 9be25c17aaf1fc9a1cf2c86a9225879f5ee45f57 (diff) | |
| download | vcpkg-52390cf481f6fe3962bbbd2b84a62ab4d9702484.tar.gz vcpkg-52390cf481f6fe3962bbbd2b84a62ab4d9702484.zip | |
[libodb] Assorted fixes to get ODB v2.4 libraries to compile on x64 Linux (#5260)
* [libodb] Add configure headers to all libs for Linux
* [libodb] Include options files in install
Diffstat (limited to 'ports/libodb-boost')
| -rw-r--r-- | ports/libodb-boost/CMakeLists.txt | 47 | ||||
| -rw-r--r-- | ports/libodb-boost/CONTROL | 4 | ||||
| -rw-r--r-- | ports/libodb-boost/config.unix.h.in | 14 | ||||
| -rw-r--r-- | ports/libodb-boost/portfile.cmake | 29 |
4 files changed, 94 insertions, 0 deletions
diff --git a/ports/libodb-boost/CMakeLists.txt b/ports/libodb-boost/CMakeLists.txt new file mode 100644 index 000000000..5dd0eb9b8 --- /dev/null +++ b/ports/libodb-boost/CMakeLists.txt @@ -0,0 +1,47 @@ +cmake_minimum_required(VERSION 3.0) +project(libodb-boost VERSION 2.4.0 LANGUAGES CXX) +find_package(odb 2.4.0 REQUIRED COMPONENTS libodb) +configure_file(config.unix.h.in + ${CMAKE_CURRENT_SOURCE_DIR}/odb/boost/details/config.h COPYONLY) + +# FIXME: should we require boost? which packages? +# find_package(PostgreSQL REQUIRED) +set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)") +file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + *.cxx) +add_library(libodb-boost ${libodb_src}) +target_include_directories(libodb-boost + PUBLIC + $<INSTALL_INTERFACE:include> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> + +) + +target_link_libraries(libodb-boost PRIVATE odb::libodb) +if(BUILD_SHARED_LIBS) + target_compile_definitions(libodb-boost PRIVATE + -DLIBODB_BOOST_DYNAMIC_LIB) +else() + target_compile_definitions(libodb-boost PRIVATE + -DLIBODB_BOOST_STATIC_LIB) +endif() +install(TARGETS libodb-boost EXPORT odb_boostConfig + COMPONENT boost + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) +if(LIBODB_INSTALL_HEADERS) +install(DIRECTORY odb DESTINATION include/ + COMPONENT sqlite + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.hxx" + PATTERN "*.ixx" + PATTERN "*.txx" + PATTERN "*.options" +) +endif() +install(EXPORT odb_boostConfig NAMESPACE odb:: COMPONENT boost DESTINATION share/odb) +export(TARGETS libodb-boost NAMESPACE odb:: FILE odb_boostConfig.cmake) diff --git a/ports/libodb-boost/CONTROL b/ports/libodb-boost/CONTROL new file mode 100644 index 000000000..5913d752b --- /dev/null +++ b/ports/libodb-boost/CONTROL @@ -0,0 +1,4 @@ +Source: libodb-boost +Version: 2.4.0-1 +Description: Description: Boost support for the ODB ORM library +Build-Depends: libodb diff --git a/ports/libodb-boost/config.unix.h.in b/ports/libodb-boost/config.unix.h.in new file mode 100644 index 000000000..b049efd09 --- /dev/null +++ b/ports/libodb-boost/config.unix.h.in @@ -0,0 +1,14 @@ +/* odb/boost/details/config.h. Generated from config.h.in by configure. */ +/* file : odb/boost/details/config.h.in + * copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC + * license : GNU GPL v2; see accompanying LICENSE file + */ + +/* This file is automatically processed by configure. */ + +#ifndef ODB_BOOST_DETAILS_CONFIG_H +#define ODB_BOOST_DETAILS_CONFIG_H + +/* #undef LIBODB_BOOST_STATIC_LIB */ + +#endif /* ODB_BOOST_DETAILS_CONFIG_H */ diff --git a/ports/libodb-boost/portfile.cmake b/ports/libodb-boost/portfile.cmake new file mode 100644 index 000000000..3f8dfc061 --- /dev/null +++ b/ports/libodb-boost/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libodb-boost-2.4.0) +vcpkg_download_distfile(ARCHIVE + URLS "http://www.codesynthesis.com/download/odb/2.4/libodb-boost-2.4.0.tar.gz" + FILENAME "libodb-boost-2.4.0.tar.gz" + SHA512 af716b0385cf4ea18b20dcd5880c69c43cfc195eec4ff196a8e438833306489c39ab06a494e5d60cd08ba0d94caa05bd07e5f3fa836d835bad15c8a2ad7de306 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt + ${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in + DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_DEBUG + -DLIBODB_INSTALL_HEADERS=OFF +) +vcpkg_build_cmake() +vcpkg_install_cmake() + +file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_boostConfig-debug.cmake LIBODB_DEBUG_TARGETS) +string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/odb/odb_boostConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}") +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb-boost) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb-boost/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb-boost/copyright) +vcpkg_copy_pdbs() |
