summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2019-12-22 11:30:18 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2020-01-02 22:58:05 -0700
commitb6c73d8b5c23000b1c548a01db4019e0a3a53c02 (patch)
tree5be686c83a8fb081888ac1656f15aae6dbca77d0 /src
parent57a8094934ea2b73acce831fe2ffb030496020f7 (diff)
build: use target properties for include paths
This configures the target to setup the include paths publicly for the library targets in the build interface. This enables uses of the targets in the build tree without having to specify the include directories. This is particularly useful for use in the export targets, but also simplifies the rules for the API tests. The install interface does not need the include directories as `cmark.h` is installed into `include` which is a default include path.
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 257fbe0..c315bca 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -72,6 +72,10 @@ if (CMARK_SHARED)
# Include minor version and patch level in soname for now.
SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
VERSION ${PROJECT_VERSION})
+ target_include_directories(${LIBRARY} INTERFACE
+ $<INSTALL_INTERFACE:include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
generate_export_header(${LIBRARY}
BASE_NAME ${PROJECT_NAME})
@@ -86,6 +90,10 @@ if (CMARK_STATIC)
OUTPUT_NAME "cmark$<$<BOOL:MSVC>:_static>"
POSITION_INDEPENDENT_CODE ON
VERSION ${PROJECT_VERSION})
+ target_include_directories(${STATICLIBRARY} INTERFACE
+ $<INSTALL_INTERFACE:include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
if (NOT CMARK_SHARED)
generate_export_header(${STATICLIBRARY}