Skip to content

Commit

Permalink
Merge pull request #337 from dg0yt/cmake
Browse files Browse the repository at this point in the history
Export and install CMake targets
  • Loading branch information
PJK authored Dec 7, 2024
2 parents 5369727 + 04c852c commit 34cf74b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,13 @@ if(NOT DEFINED CMAKE_MACOSX_RPATH)
endif()

add_library(cbor ${SOURCES})
target_include_directories(cbor PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(cbor PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
set_target_properties(cbor PROPERTIES EXPORT_NAME libcbor)
# For vendored builds
add_library(libcbor::libcbor ALIAS cbor)

# Explicitly link math.h if necessary
check_function_exists(ldexp LDEXP_AVAILABLE)
Expand All @@ -40,7 +46,6 @@ endif()
include(GenerateExportHeader)
generate_export_header(cbor EXPORT_FILE_NAME
${CMAKE_CURRENT_BINARY_DIR}/cbor/cbor_export.h)
target_include_directories(cbor PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cbor/cbor_export.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cbor)

Expand All @@ -65,6 +70,7 @@ configure_file(libcbor.pc.in libcbor.pc @ONLY)
# http://www.cmake.org/Wiki/CMake:Install_Commands
install(
TARGETS cbor
EXPORT libcborTargets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
Expand Down Expand Up @@ -92,3 +98,6 @@ write_basic_package_version_file(
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcborConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/libcborConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libcbor)
install(EXPORT libcborTargets
NAMESPACE libcbor::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libcbor)
3 changes: 3 additions & 0 deletions src/libcborConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ set(CBOR_VERSION @CBOR_VERSION@)

@PACKAGE_INIT@

include("${CMAKE_CURRENT_LIST_DIR}/libcborTargets.cmake")

# legacy
set_and_check(CBOR_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
set_and_check(CBOR_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")

Expand Down

0 comments on commit 34cf74b

Please sign in to comment.