Skip to content

Commit 9c4907d

Browse files
committed
Support configurable include install dir
This is useful for split-output packaging, where the development headers are separate from the runtime libraries.
1 parent 9cc3c40 commit 9c4907d

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

CMakeLists.txt

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,13 @@ endif()
1616

1717
if (UNIX AND NOT APPLE)
1818
include(GNUInstallDirs)
19-
elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
20-
set(CMAKE_INSTALL_LIBDIR "lib")
19+
else()
20+
if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
21+
set(CMAKE_INSTALL_INCLUDEDIR "include")
22+
endif()
23+
if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
24+
set(CMAKE_INSTALL_LIBDIR "lib")
25+
endif()
2126
endif()
2227

2328
# This is required in order to append /lib/cmake to each element in CMAKE_PREFIX_PATH
@@ -86,18 +91,18 @@ set_target_properties(${PROJECT_NAME} PROPERTIES VERSION 1.0.0)
8691

8792
target_include_directories(${PROJECT_NAME} PUBLIC
8893
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
89-
$<INSTALL_INTERFACE:include>)
94+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
9095

9196
aws_use_package(aws-c-http)
9297

9398
target_link_libraries(${PROJECT_NAME} PUBLIC ${DEP_AWS_LIBS})
9499
aws_prepare_shared_lib_exports(${PROJECT_NAME})
95100

96-
install(FILES ${AWS_MQTT_HEADERS} DESTINATION "include/aws/mqtt" COMPONENT Development)
97-
install(FILES ${AWS_MQTT5_HEADERS} DESTINATION "include/aws/mqtt/v5" COMPONENT Development)
98-
install(FILES ${AWS_MQTT_RR_HEADERS} DESTINATION "include/aws/mqtt/request-response" COMPONENT Development)
99-
install(FILES ${AWS_MQTT_TESTING_HEADERS} DESTINATION "include/aws/testing/mqtt" COMPONENT Development)
100-
install(FILES ${AWS_MQTT_PRIV_EXPOSED_HEADERS} DESTINATION "include/aws/mqtt/private" COMPONENT Development)
101+
install(FILES ${AWS_MQTT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/mqtt" COMPONENT Development)
102+
install(FILES ${AWS_MQTT5_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/mqtt/v5" COMPONENT Development)
103+
install(FILES ${AWS_MQTT_RR_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/mqtt/request-response" COMPONENT Development)
104+
install(FILES ${AWS_MQTT_TESTING_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/testing/mqtt" COMPONENT Development)
105+
install(FILES ${AWS_MQTT_PRIV_EXPOSED_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/mqtt/private" COMPONENT Development)
101106

102107
if (BUILD_SHARED_LIBS)
103108
set (TARGET_DIR "shared")

0 commit comments

Comments
 (0)