aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libodb-sqlite
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libodb-sqlite')
-rw-r--r--vcpkg/ports/libodb-sqlite/CMakeLists.txt56
-rw-r--r--vcpkg/ports/libodb-sqlite/config.unix.h.in15
-rw-r--r--vcpkg/ports/libodb-sqlite/portfile.cmake35
-rw-r--r--vcpkg/ports/libodb-sqlite/vcpkg.json15
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
+ }
+ ]
+}