Skip to content

Commit

Permalink
Merge pull request #322 from barcharcraz/libpq-postgres
Browse files Browse the repository at this point in the history
added libodb-pgsql support
  • Loading branch information
alexkaratarakis committed Nov 24, 2016
2 parents d6c6818 + bbf853d commit 7f73ac8
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 1 deletion.
43 changes: 43 additions & 0 deletions ports/libodb-pgsql/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
cmake_minimum_required(VERSION 3.0)
project(libodb-pgsql VERSION 2.4.0 LANGUAGES CXX)
find_package(odb 2.4.0 REQUIRED COMPONENTS libodb)
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)
list(FILTER libodb_src EXCLUDE REGEX /posix/.*)
add_library(libodb-pgsql ${libodb_src})
target_include_directories(libodb-pgsql
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>

)

target_link_libraries(libodb-pgsql PRIVATE odb::libodb ${PostgreSQL_LIBRARY})
if(BUILD_SHARED_LIBS)
target_compile_definitions(libodb-pgsql PRIVATE
-DLIBODB_PGSQL_DYNAMIC_LIB)
else()
target_compile_definitions(libodb-pgsql PRIVATE
-DLIBODB_PGSQL_STATIC_LIB)
endif()
install(TARGETS libodb-pgsql EXPORT odb_pgsqlConfig
COMPONENT pgsql
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"
)
endif()
install(EXPORT odb_pgsqlConfig NAMESPACE odb:: COMPONENT pgsql DESTINATION share/odb)
export(TARGETS libodb-pgsql NAMESPACE odb:: FILE odb_pgsqlConfig.cmake)
4 changes: 4 additions & 0 deletions ports/libodb-pgsql/CONTROL
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Source: libodb-pgsql
Version: 2.4.0
Description: Description: PostgreSQL support for the ODB ORM library
Build-Depends: libodb, libpq
25 changes: 25 additions & 0 deletions ports/libodb-pgsql/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libodb-pgsql-2.4.0)
vcpkg_download_distfile(ARCHIVE
URLS "http://www.codesynthesis.com/download/odb/2.4/libodb-pgsql-2.4.0.tar.gz"
FILENAME "libodb-pgsql-2.4.0.tar.gz"
SHA512 535515356233b815f144c0098940174f7a530e7fa4e930c0a9ebdc255fdb8bac8cdcceac31f25be4864105323e00bfe50808efa648e7c8ffb5a944e52f514b69
)
vcpkg_extract_source_archive(${ARCHIVE})

file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt 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_pgsqlConfig-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_pgsqlConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb-pgsql)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb-pgsql/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb-pgsql/copyright)
vcpkg_copy_pdbs()
2 changes: 1 addition & 1 deletion ports/libodb/odbConfig.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
set(_supported_components libodb sqlite)
set(_supported_components libodb sqlite pgsql)

foreach(_comp ${odb_FIND_COMPONENTS})
if(NOT ";${_supported_components};" MATCHES _comp)
Expand Down

0 comments on commit 7f73ac8

Please sign in to comment.