1 cmake_minimum_required(VERSION 3.0)
2 project(libodb-sqlite VERSION 2.4.0 LANGUAGES CXX)
3 find_package(odb 2.4.0 REQUIRED COMPONENTS libodb)
4 find_package(unofficial-sqlite3 CONFIG)
5 configure_file(config.unix.h.in odb/sqlite/details/config.h COPYONLY)
7 set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)")
8 file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False
9 RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
11 list(FILTER libodb_src EXCLUDE REGEX /posix/.*)
12 add_library(libodb-sqlite ${libodb_src})
13 target_include_directories(libodb-sqlite
15 $<INSTALL_INTERFACE:include>
16 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
17 $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
20 target_link_libraries(libodb-sqlite PRIVATE odb::libodb unofficial::sqlite3::sqlite3)
22 target_compile_definitions(libodb-sqlite PRIVATE
23 -DLIBODB_SQLITE_DYNAMIC_LIB
24 -DLIBODB_SQLITE_HAVE_UNLOCK_NOTIFY)
26 target_compile_definitions(libodb-sqlite PRIVATE
27 -DLIBODB_SQLITE_STATIC_LIB
28 -DLIBODB_SQLITE_HAVE_UNLOCK_NOTIFY)
30 install(TARGETS libodb-sqlite EXPORT odb_sqliteConfig
32 ARCHIVE DESTINATION lib
33 LIBRARY DESTINATION lib
34 RUNTIME DESTINATION bin
36 if(LIBODB_INSTALL_HEADERS)
48 FILES config.unix.h.in
49 DESTINATION include/odb/sqlite/detail
54 install(EXPORT odb_sqliteConfig NAMESPACE odb:: COMPONENT sqlite DESTINATION share/odb)
55 export(TARGETS libodb-sqlite NAMESPACE odb:: FILE odb_sqliteConfig.cmake)