Skip to content

Commit 2da3e70

Browse files
hanazukisbarzowski
authored andcommitted
cmake: Specify INTERFACE include directories for libraries
Specify INTERFACE include directories for the libraries so that the libraries' dependent targets can use the proper include directory automatically.
1 parent 4082284 commit 2da3e70

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

Diff for: core/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ install(TARGETS libjsonnet
4848
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
4949
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
5050
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
51+
target_include_directories(libjsonnet INTERFACE
52+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>)
5153

5254
if (BUILD_STATIC_LIBS)
5355
# Static library for jsonnet command-line tool.
@@ -56,6 +58,8 @@ if (BUILD_STATIC_LIBS)
5658
target_link_libraries(libjsonnet_static md5 nlohmann_json::nlohmann_json)
5759
set_target_properties(libjsonnet_static PROPERTIES OUTPUT_NAME jsonnet)
5860
install(TARGETS libjsonnet_static DESTINATION "${CMAKE_INSTALL_LIBDIR}")
61+
target_include_directories(libjsonnet_static INTERFACE
62+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>)
5963
endif()
6064

6165
if (BUILD_SHARED_BINARIES OR NOT BUILD_STATIC_LIBS)

Diff for: cpp/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ install(TARGETS libjsonnet++
2222
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
2323
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
2424
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
25+
target_include_directories(libjsonnet++ INTERFACE
26+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>)
2527

2628
if (BUILD_STATIC_LIBS)
2729
# Static library for jsonnet command-line tool.
@@ -30,6 +32,8 @@ if (BUILD_STATIC_LIBS)
3032
target_link_libraries(libjsonnet++_static libjsonnet_static)
3133
set_target_properties(libjsonnet++_static PROPERTIES OUTPUT_NAME jsonnet++)
3234
install(TARGETS libjsonnet++_static DESTINATION "${CMAKE_INSTALL_LIBDIR}")
35+
target_include_directories(libjsonnet++_static INTERFACE
36+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>)
3337
endif()
3438

3539
if (BUILD_SHARED_BINARIES OR NOT BUILD_STATIC_LIBS)

0 commit comments

Comments
 (0)