1 cmake_minimum_required(VERSION 3.0)
2 project(libodb VERSION 2.4.0 LANGUAGES CXX)
3 set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)")
4 configure_file(config.unix.h.in
5 ${CMAKE_CURRENT_SOURCE_DIR}/odb/details/config.h COPYONLY)
7 file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False
8 RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
11 list(FILTER libodb_src EXCLUDE REGEX /posix/.*)
13 list(FILTER libodb_src EXCLUDE REGEX /win32/.*)
16 add_library(libodb ${libodb_src})
17 target_include_directories(libodb
19 $<INSTALL_INTERFACE:include>
20 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
24 target_compile_definitions(libodb PRIVATE
27 target_compile_definitions(libodb PRIVATE
30 install(TARGETS libodb EXPORT odb_libodbConfig
32 ARCHIVE DESTINATION lib
33 LIBRARY DESTINATION lib
34 RUNTIME DESTINATION bin
36 if(LIBODB_INSTALL_HEADERS)
37 install(DIRECTORY odb DESTINATION include/
46 install(EXPORT odb_libodbConfig NAMESPACE odb:: COMPONENT libodb DESTINATION share/odb)
47 export(TARGETS libodb NAMESPACE odb:: FILE odb_libodbConfig.cmake)