Skip to content

Commit 92a8ab8

Browse files
committed
fix #233
install preserving directory structure unfortunately to fix it using cmake-native mechanics it required to bump cmake version to 3.23.0
1 parent 9463670 commit 92a8ab8

File tree

2 files changed

+27
-27
lines changed

2 files changed

+27
-27
lines changed

CMakeLists.txt

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
cmake_minimum_required(VERSION 3.0.1)
2-
project(Jinja2Cpp VERSION 1.1.0)
1+
cmake_minimum_required(VERSION 3.23.0)
2+
project(Jinja2Cpp VERSION 1.2.2)
33

44
if (${CMAKE_VERSION} VERSION_GREATER "3.12")
55
cmake_policy(SET CMP0074 OLD)
@@ -148,6 +148,12 @@ add_library(${LIB_TARGET_NAME} ${LIB_LINK_TYPE}
148148
${PublicHeaders}
149149
)
150150

151+
target_sources(${LIB_TARGET_NAME}
152+
PUBLIC FILE_SET HEADERS
153+
FILES ${PublicHeaders}
154+
BASE_DIRS include
155+
)
156+
151157
string(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_CFG_NAME)
152158
set(CURRENT_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BUILD_CFG_NAME}}")
153159

@@ -156,17 +162,17 @@ set(JINJA2CPP_PUBLIC_LIBS "${JINJA2CPP_EXTRA_LIBS}")
156162
separate_arguments(JINJA2CPP_PUBLIC_LIBS)
157163
if (JINJA2CPP_WITH_COVERAGE)
158164
target_compile_options(
159-
${JINJA2CPP_COVERAGE_TARGET}
160-
INTERFACE
161-
-g -O0
165+
${JINJA2CPP_COVERAGE_TARGET}
166+
INTERFACE
167+
-g -O0
162168
)
163169
list(APPEND JINJA2CPP_PUBLIC_LIBS ${JINJA2CPP_COVERAGE_TARGET})
164170
endif()
165171
if (NOT JINJA2CPP_WITH_SANITIZERS STREQUAL "none")
166172
target_compile_options(
167-
${JINJA2CPP_SANITIZE_TARGET}
168-
INTERFACE
169-
-g -O2
173+
${JINJA2CPP_SANITIZE_TARGET}
174+
INTERFACE
175+
-g -O2
170176
)
171177
list(APPEND JINJA2CPP_PUBLIC_LIBS ${JINJA2CPP_SANITIZE_TARGET})
172178
endif()
@@ -186,7 +192,7 @@ target_include_directories(${LIB_TARGET_NAME}
186192
PUBLIC
187193
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
188194
$<INSTALL_INTERFACE:include>
189-
)
195+
)
190196

191197
if (JINJA2CPP_STRICT_WARNINGS)
192198
if (UNIX)
@@ -211,16 +217,14 @@ if (JINJA2CPP_BUILD_SHARED)
211217
endif ()
212218

213219
set_target_properties(${LIB_TARGET_NAME} PROPERTIES
214-
VERSION ${PROJECT_VERSION}
215-
SOVERSION 1
216-
)
220+
VERSION ${PROJECT_VERSION}
221+
SOVERSION 1
222+
)
217223

218224
set_target_properties(${LIB_TARGET_NAME} PROPERTIES
219-
CXX_STANDARD ${JINJA2CPP_CXX_STANDARD}
220-
CXX_STANDARD_REQUIRED ON
221-
)
222-
223-
set_property(TARGET ${LIB_TARGET_NAME} PROPERTY PUBLIC_HEADER ${PublicHeaders} ${JINJA2CPP_EXTRA_PUBLIC_HEADERS})
225+
CXX_STANDARD ${JINJA2CPP_CXX_STANDARD}
226+
CXX_STANDARD_REQUIRED ON
227+
)
224228

225229
configure_file(jinja2cpp.pc.in ${CMAKE_BINARY_DIR}/jinja2cpp.pc @ONLY)
226230

@@ -241,14 +245,14 @@ if (JINJA2CPP_BUILD_TESTS)
241245
endif ()
242246

243247
add_custom_command(
244-
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/test_data/simple_template1.j2tpl
245-
COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/test/test_data ${CMAKE_CURRENT_BINARY_DIR}/test_data
246-
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/test/test_data/simple_template1.j2tpl
247-
COMMENT "Copy test data to the destination dir"
248+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/test_data/simple_template1.j2tpl
249+
COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/test/test_data ${CMAKE_CURRENT_BINARY_DIR}/test_data
250+
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/test/test_data/simple_template1.j2tpl
251+
COMMENT "Copy test data to the destination dir"
248252
)
249253

250254
add_custom_target(CopyTestData ALL
251-
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/test_data/simple_template1.j2tpl
255+
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/test_data/simple_template1.j2tpl
252256
)
253257

254258
add_dependencies(jinja2cpp_tests CopyTestData)
@@ -289,7 +293,7 @@ install(
289293
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
290294
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
291295
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/static
292-
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/jinja2cpp
296+
FILE_SET HEADERS
293297
)
294298

295299
install(

thirdparty/internal_deps.cmake

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,16 @@ add_subdirectory(thirdparty/nonstd/expected-lite EXCLUDE_FROM_ALL)
33

44
update_submodule(nonstd/variant-lite)
55
add_subdirectory(thirdparty/nonstd/variant-lite EXCLUDE_FROM_ALL)
6-
add_library(variant-lite ALIAS variant-lite)
76

87
update_submodule(nonstd/optional-lite)
98
add_subdirectory(thirdparty/nonstd/optional-lite EXCLUDE_FROM_ALL)
10-
add_library(optional-lite ALIAS optional-lite)
119

1210
update_submodule(nonstd/string-view-lite)
1311
add_subdirectory(thirdparty/nonstd/string-view-lite EXCLUDE_FROM_ALL)
14-
add_library(string-view-lite ALIAS string-view-lite)
1512

1613
update_submodule(fmtlib)
1714
set (FMT_INSTALL ON CACHE BOOL "" FORCE)
1815
add_subdirectory(thirdparty/fmtlib EXCLUDE_FROM_ALL)
19-
add_library(fmt ALIAS fmt-header-only)
2016

2117
update_submodule(json/rapid)
2218
set (RAPIDJSON_BUILD_DOC OFF CACHE BOOL "" FORCE)

0 commit comments

Comments
 (0)