Skip to content

Commit 66b4abb

Browse files
add find_package support.
1 parent 1dffab5 commit 66b4abb

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

CMakeLists.txt

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,12 @@ option(CROW_ENABLE_COMPRESSION "Enable compression capabilities (ZLIB)" OFF)
3434
#####################################
3535
add_library(Crow INTERFACE)
3636
add_library(Crow::Crow ALIAS Crow)
37-
target_include_directories(Crow INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
37+
38+
target_include_directories(Crow
39+
INTERFACE
40+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
41+
$<INSTALL_INTERFACE:include>
42+
)
3843

3944
find_package(Boost 1.64 COMPONENTS system date_time REQUIRED)
4045
find_package(Threads REQUIRED)
@@ -86,7 +91,25 @@ endif()
8691
# Install Files
8792
#####################################
8893
if(CROW_INSTALL)
94+
install(TARGETS Crow EXPORT CrowTargets)
8995
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include)
96+
97+
install(EXPORT CrowTargets
98+
FILE CrowTargets.cmake
99+
NAMESPACE Crow::
100+
DESTINATION lib/cmake/Crow
101+
)
102+
103+
include(CMakePackageConfigHelpers)
104+
configure_package_config_file(
105+
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/CrowConfig.cmake.in"
106+
"${CMAKE_CURRENT_BINARY_DIR}/CrowConfig.cmake"
107+
INSTALL_DESTINATION lib/cmake/Crow
108+
)
109+
install(FILES
110+
"${CMAKE_CURRENT_BINARY_DIR}/CrowConfig.cmake"
111+
DESTINATION lib/cmake/Crow
112+
)
90113
endif()
91114

92115
set(CPACK_GENERATOR "DEB")

cmake/CrowConfig.cmake.in

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
@PACKAGE_INIT@
2+
3+
set(CROW_ENABLE_COMPRESSION @CROW_ENABLE_COMPRESSION@)
4+
set(CROW_ENABLE_SSL @CROW_ENABLE_SSL@)
5+
6+
include(CMakeFindDependencyMacro)
7+
find_dependency(Boost 1.64 COMPONENTS system date_time)
8+
find_dependency(Threads)
9+
10+
if(CROW_ENABLE_COMPRESSION)
11+
find_dependency(ZLIB)
12+
endif()
13+
14+
if(CROW_ENABLE_SSL)
15+
find_dependency(OpenSSL)
16+
endif()
17+
18+
include("${CMAKE_CURRENT_LIST_DIR}/CrowTargets.cmake")
19+
check_required_components("@PROJECT_NAME@")

0 commit comments

Comments
 (0)