cmake: Export cmake config for cmocka
For backwards compatibility use: find_package(cmocka REQUIRED) if (NOT TARGET cmocka) add_library(cmocka SHARED IMPORTED) set_target_properties(cmocka PROPERTIES IMPORTED_LOCATION "${CMOCKA_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES "${CMOCKA_INCLUDE_DIR}") endif() target_link_libraries(mylib cmocka)
This commit is contained in:
parent
28ce16b299
commit
e4c51ce9a4
|
@ -75,40 +75,13 @@ install(
|
|||
pkgconfig
|
||||
)
|
||||
|
||||
# cmake config files
|
||||
if (WIN32)
|
||||
set(CMOCKA_LIBRARY_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}${PROJECT_NAME}${CMAKE_IMPORT_LIBRARY_SUFFIX})
|
||||
else()
|
||||
set(CMOCKA_LIBRARY_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}${PROJECT_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
endif()
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmocka-build-tree-settings.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/cmocka-build-tree-settings.cmake
|
||||
@ONLY
|
||||
)
|
||||
|
||||
set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE INTERNAL "")
|
||||
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR} CACHE INTERNAL "")
|
||||
configure_package_config_file(${PROJECT_NAME}-config.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
|
||||
PATH_VARS
|
||||
INCLUDE_INSTALL_DIR LIB_INSTALL_DIR
|
||||
INSTALL_DESTINATION
|
||||
${CMAKE_INSTALL_FULL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||
|
||||
write_basic_package_version_file(${PROJECT_NAME}-config-version.cmake
|
||||
COMPATIBILITY
|
||||
AnyNewerVersion)
|
||||
|
||||
install(
|
||||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||
COMPONENT
|
||||
devel
|
||||
)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||
COMPONENT devel)
|
||||
|
||||
# Add 'make dist' target which makes sure to invoke cmake before
|
||||
add_custom_target(dist
|
||||
|
|
|
@ -26,8 +26,8 @@ target_include_directories(cmocka
|
|||
${CMOCKA_PLATFORM_INCLUDE}
|
||||
${cmocka_BINARY_DIR}
|
||||
PUBLIC
|
||||
${cmocka-header_SOURCE_DIR})
|
||||
|
||||
$<BUILD_INTERFACE:${cmocka-header_SOURCE_DIR}>
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
|
||||
target_compile_options(cmocka
|
||||
PRIVATE
|
||||
|
@ -67,16 +67,15 @@ set_property(TARGET
|
|||
|
||||
add_library(cmocka::cmocka ALIAS cmocka)
|
||||
|
||||
install(TARGETS
|
||||
cmocka
|
||||
ARCHIVE DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION
|
||||
${CMAKE_INSTALL_BINDIR}
|
||||
COMPONENT
|
||||
${PROJECT_NAME})
|
||||
install(TARGETS cmocka
|
||||
EXPORT cmocka-config
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
COMPONENT ${PROJECT_NAME})
|
||||
|
||||
install(EXPORT cmocka-config
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cmocka)
|
||||
|
||||
if (UNIT_TESTING)
|
||||
# Internal library
|
||||
|
|
Loading…
Reference in New Issue