diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libodb-sqlite | |
Diffstat (limited to 'vcpkg/ports/libodb-sqlite')
| -rw-r--r-- | vcpkg/ports/libodb-sqlite/CMakeLists.txt | 56 | ||||
| -rw-r--r-- | vcpkg/ports/libodb-sqlite/config.unix.h.in | 15 | ||||
| -rw-r--r-- | vcpkg/ports/libodb-sqlite/portfile.cmake | 35 | ||||
| -rw-r--r-- | vcpkg/ports/libodb-sqlite/vcpkg.json | 15 |
4 files changed, 121 insertions, 0 deletions
diff --git a/vcpkg/ports/libodb-sqlite/CMakeLists.txt b/vcpkg/ports/libodb-sqlite/CMakeLists.txt new file mode 100644 index 0000000..4f9fd45 --- /dev/null +++ b/vcpkg/ports/libodb-sqlite/CMakeLists.txt @@ -0,0 +1,56 @@ +cmake_minimum_required(VERSION 3.0) +project(libodb-sqlite VERSION 2.4.0 LANGUAGES CXX) +set(CMAKE_CXX_STANDARD 11) # 17 removes 'auto_ptr' +find_package(odb 2.4.0 REQUIRED COMPONENTS libodb) +find_package(unofficial-sqlite3 CONFIG) +configure_file(config.unix.h.in odb/sqlite/details/config.h COPYONLY) + +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-sqlite ${libodb_src}) +target_include_directories(libodb-sqlite + PUBLIC + $<INSTALL_INTERFACE:include> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> + $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> +) + +target_link_libraries(libodb-sqlite PRIVATE odb::libodb unofficial::sqlite3::sqlite3) +if(BUILD_SHARED_LIBS) + target_compile_definitions(libodb-sqlite PRIVATE + -DLIBODB_SQLITE_DYNAMIC_LIB + -DLIBODB_SQLITE_HAVE_UNLOCK_NOTIFY) +else() + target_compile_definitions(libodb-sqlite PRIVATE + -DLIBODB_SQLITE_STATIC_LIB + -DLIBODB_SQLITE_HAVE_UNLOCK_NOTIFY) +endif() +install(TARGETS libodb-sqlite EXPORT odb_sqliteConfig + COMPONENT sqlite + 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" + ) + install( + FILES config.unix.h.in + DESTINATION include/odb/sqlite/details + COMPONENT sqlite + RENAME config.h + ) +endif() +install(EXPORT odb_sqliteConfig NAMESPACE odb:: COMPONENT sqlite DESTINATION share/odb) +export(TARGETS libodb-sqlite NAMESPACE odb:: FILE odb_sqliteConfig.cmake)
\ No newline at end of file diff --git a/vcpkg/ports/libodb-sqlite/config.unix.h.in b/vcpkg/ports/libodb-sqlite/config.unix.h.in new file mode 100644 index 0000000..f5af346 --- /dev/null +++ b/vcpkg/ports/libodb-sqlite/config.unix.h.in @@ -0,0 +1,15 @@ +/* odb/sqlite/details/config.h. Generated from config.h.in by configure. */ +/* file : odb/sqlite/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_SQLITE_DETAILS_CONFIG_H +#define ODB_SQLITE_DETAILS_CONFIG_H + +/* #undef LIBODB_SQLITE_STATIC_LIB */ +#define LIBODB_SQLITE_HAVE_UNLOCK_NOTIFY 1 + +#endif /* ODB_SQLITE_DETAILS_CONFIG_H */ diff --git a/vcpkg/ports/libodb-sqlite/portfile.cmake b/vcpkg/ports/libodb-sqlite/portfile.cmake new file mode 100644 index 0000000..ca52964 --- /dev/null +++ b/vcpkg/ports/libodb-sqlite/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_download_distfile(ARCHIVE + URLS "http://www.codesynthesis.com/download/odb/2.4/libodb-sqlite-2.4.0.tar.gz" + FILENAME "libodb-sqlite-2.4.0.tar.gz" + SHA512 af16da7c82cf8845ca3b393fbd8957a92b05ebc925a5191f20d414ab558345850073cd9c46457d0ef0edfb12ebcb27f267b934c9c69ef598380242fe920c8577 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" +) +file(REMOVE "${SOURCE_PATH}/version") + +file(COPY + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in" + DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DLIBODB_INSTALL_HEADERS=OFF +) + +vcpkg_cmake_install() + +if(NOT VCPKG_BUILD_TYPE) + file(READ "${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_sqliteConfig-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_sqliteConfig-debug.cmake" "${LIBODB_DEBUG_TARGETS}") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +endif() + +vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/vcpkg/ports/libodb-sqlite/vcpkg.json b/vcpkg/ports/libodb-sqlite/vcpkg.json new file mode 100644 index 0000000..0cb9c9a --- /dev/null +++ b/vcpkg/ports/libodb-sqlite/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "libodb-sqlite", + "version": "2.4.0", + "port-version": 13, + "description": "Sqlite support for the ODB ORM library", + "homepage": "https://www.codesynthesis.com/products/odb/", + "dependencies": [ + "libodb", + "sqlite3", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} |