From b6c73d8b5c23000b1c548a01db4019e0a3a53c02 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Sun, 22 Dec 2019 11:30:18 -0800 Subject: 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. --- api_test/CMakeLists.txt | 4 ---- src/CMakeLists.txt | 8 ++++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/api_test/CMakeLists.txt b/api_test/CMakeLists.txt index b1c8499..f868d01 100644 --- a/api_test/CMakeLists.txt +++ b/api_test/CMakeLists.txt @@ -4,10 +4,6 @@ add_executable(api_test harness.h main.c ) -include_directories( - ${PROJECT_SOURCE_DIR}/src - ${PROJECT_BINARY_DIR}/src -) if(CMARK_SHARED) target_link_libraries(api_test libcmark) else() 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 + $ + $ + $) generate_export_header(${LIBRARY} BASE_NAME ${PROJECT_NAME}) @@ -86,6 +90,10 @@ if (CMARK_STATIC) OUTPUT_NAME "cmark$<$:_static>" POSITION_INDEPENDENT_CODE ON VERSION ${PROJECT_VERSION}) + target_include_directories(${STATICLIBRARY} INTERFACE + $ + $ + $) if (NOT CMARK_SHARED) generate_export_header(${STATICLIBRARY} -- cgit v1.2.3