Skip to content

Commit d74314e

Browse files
authored
Merge pull request #56 from georg-emg/emg-schwab/cmake_install_targets
added cmake install targets
2 parents 6c27435 + 0d33df5 commit d74314e

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

CMakeLists.txt

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ endif()
2626

2727

2828
add_library(fast_float INTERFACE)
29-
target_include_directories(fast_float INTERFACE include/)
29+
target_include_directories(
30+
fast_float
31+
INTERFACE
32+
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
33+
$<INSTALL_INTERFACE:include>
34+
)
3035
if(FASTFLOAT_SANITIZE)
3136
target_compile_options(fast_float INTERFACE -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined -fno-sanitize-recover=all)
3237
target_link_libraries(fast_float INTERFACE -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined -fno-sanitize-recover=all)
@@ -35,4 +40,24 @@ if(FASTFLOAT_SANITIZE)
3540
endif()
3641
endif()
3742

43+
include(CMakePackageConfigHelpers)
3844

45+
set(FASTFLOAT_VERSION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/module/FastFloatConfigVersion.cmake")
46+
set(FASTFLOAT_PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/module/FastFloatConfig.cmake")
47+
set(FASTFLOAT_INSTALL_DIR "share/FastFloat")
48+
49+
write_basic_package_version_file("${FASTFLOAT_VERSION_CONFIG}" VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion)
50+
configure_package_config_file("cmake/config.cmake.in"
51+
"${FASTFLOAT_PROJECT_CONFIG}"
52+
INSTALL_DESTINATION "${FASTFLOAT_INSTALL_DIR}")
53+
54+
install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/fast_float" DESTINATION "include")
55+
install(FILES "${FASTFLOAT_PROJECT_CONFIG}" "${FASTFLOAT_VERSION_CONFIG}" DESTINATION "${FASTFLOAT_INSTALL_DIR}")
56+
install(EXPORT ${PROJECT_NAME}-targets NAMESPACE FastFloat:: DESTINATION "${FASTFLOAT_INSTALL_DIR}")
57+
58+
install(TARGETS fast_float
59+
EXPORT ${PROJECT_NAME}-targets
60+
RUNTIME DESTINATION bin
61+
ARCHIVE DESTINATION lib
62+
LIBRARY DESTINATION lib
63+
)

cmake/config.cmake.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
@PACKAGE_INIT@
2+
3+
include("${CMAKE_CURRENT_LIST_DIR}/@[email protected]")
4+
check_required_components("@PROJECT_NAME@")

0 commit comments

Comments
 (0)