vcpkg/ports/libodb-mysql/CMakeLists.txt
Marco Craveiro 52390cf481 [libodb] Assorted fixes to get ODB v2.4 libraries to compile on x64 Linux (#5260)
* [libodb] Add configure headers to all libs for Linux

* [libodb] Include options files in install
2019-02-01 12:25:28 -08:00

47 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.0)
project(libodb-mysql VERSION 2.4.0 LANGUAGES CXX)
find_package(odb 2.4.0 REQUIRED COMPONENTS libodb)
configure_file(config.unix.h.in
${CMAKE_CURRENT_SOURCE_DIR}/odb/mysql/details/config.h COPYONLY)
INCLUDE_DIRECTORIES(${MYSQL_INCLUDE_DIR})
set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)")
file(GLOB_RECURSE libodb_src
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
*.cxx)
add_library(libodb-mysql ${libodb_src})
target_include_directories(libodb-mysql
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)
target_link_libraries(libodb-mysql PRIVATE odb::libodb ${MYSQL_LIB})
if(BUILD_SHARED_LIBS)
target_compile_definitions(libodb-mysql PRIVATE
-DLIBODB_MYSQL_DYNAMIC_LIB
-DLIBODB_MYSQL_HAVE_UNLOCK_NOTIFY)
else()
target_compile_definitions(libodb-mysql PRIVATE
-DLIBODB_MYSQL_STATIC_LIB
-DLIBODB_MYSQL_HAVE_UNLOCK_NOTIFY)
endif()
install(TARGETS libodb-mysql EXPORT odb_mysqlConfig
COMPONENT mysql
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
if(LIBODB_INSTALL_HEADERS)
install(DIRECTORY odb DESTINATION include/
COMPONENT mysql
FILES_MATCHING
PATTERN "*.h"
PATTERN "*.hxx"
PATTERN "*.ixx"
PATTERN "*.txx"
)
endif()
install(EXPORT odb_mysqlConfig NAMESPACE odb:: COMPONENT mysql DESTINATION share/odb)
export(TARGETS libodb-mysql NAMESPACE odb:: FILE odb_mysqlConfig.cmake)