Skip to content

Commit c7e8862

Browse files
authored
Merge pull request #6 from cropsinsilico/bug_fixes
Bug fixes
2 parents 47e8f08 + 11ae388 commit c7e8862

19 files changed

Lines changed: 376 additions & 338 deletions

.github/workflows/conda_recipe.yml

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ jobs:
1717
matrix:
1818
os: [ubuntu-latest, macos-latest, windows-latest]
1919
python-version: ["3.11"]
20-
builder: [conda, rattler]
20+
builder: [rattler]
2121
fail-fast: false
2222
steps:
2323
- name: Check out repository code
24-
uses: actions/checkout@v5
24+
uses: actions/checkout@v6
2525
with:
2626
submodules: true
2727

@@ -40,12 +40,6 @@ jobs:
4040
channels: conda-forge
4141
channel-priority: strict
4242
miniforge-version: latest
43-
- name: Install conda-build
44-
if: matrix.builder == 'conda'
45-
run: |
46-
conda info
47-
conda list
48-
conda install conda-build cmake numpy -y
4943
- name: Install rattler-build
5044
if: matrix.builder == 'rattler'
5145
run: |
@@ -57,10 +51,6 @@ jobs:
5751
conda info
5852
conda list
5953
mkdir -p $HOME/local_channel
60-
- name: Build conda recipe (using conda-build)
61-
if: matrix.builder == 'conda'
62-
run: |
63-
conda-build --no-anaconda-upload --output-folder $HOME/local_channel/ --python ${{ matrix.python-version }} recipe/
6454
- name: Build conda recipe (using rattler-build)
6555
if: matrix.builder == 'rattler'
6656
run: |

.github/workflows/test-suite.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@ jobs:
3232
fail-fast: false
3333
steps:
3434
- name: Check out repository code
35-
uses: actions/checkout@v5
35+
uses: actions/checkout@v6
3636
with:
3737
submodules: true
38+
fetch-tags: true
3839
# - name: Patch gtest
3940
# run: |
4041
# cd thirdparty/gtest
@@ -113,9 +114,10 @@ jobs:
113114
shell: bash -l {0}
114115
steps:
115116
- name: Check out repository code
116-
uses: actions/checkout@v5
117+
uses: actions/checkout@v6
117118
with:
118119
submodules: true
120+
fetch-tags: true
119121
# - name: Patch gtest
120122
# run: |
121123
# cd thirdparty/gtest

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,20 @@ Because YggdrasilRapidJSON continues to merge updates from RapidJSON, the RapidJ
55

66
## X.X.X.X - XXXX-XX-XX
77

8+
## 1.1.0.4 - 2026-06-XX
9+
10+
### Bug fixes
11+
* Fix bug where version could not be set in the conda recipe build since it is created from a tar instead of the git repo
12+
* Fix bug where asan flags were added to list that could be used for Fortran, but are only valid for C or CXX
13+
* Fix bug where string without encoding specified did not validate against a schema specifying ASCII encoding
14+
* Fix bug in ObjWavefront get_int_array where dec parameter was not passed at the correct position resulting in arrays that were 1 indexed even when dec was true
15+
16+
### Maintenance
17+
* Update names of flag/library lists set based on options to adhere to pattern of <PREFIX>_PUBLIC/PRIVATE_<SUFFIX>
18+
* Check for ASAN library and store it in <PREFIX>_ASAN_LIB when using clang ASAN/UBSAN so it can be used via DYLD_INSERT_LIBRARIES for Python tests
19+
* Added cmake macros yggdrasil_rapidjson_target_config and yggdrasil_rapidjson_global_config for adding option based flags to a target or the current scope (and subscopes)
20+
* Remove conda build version of conda recipe build and associated test jobs (only rattler build will be used from now on as that is the version available on conda-forge)
21+
822
## 1.1.0.3 - 2026-05-29
923

1024
### Maintenance

CMakeLists.txt

Lines changed: 60 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,15 @@ endif()
1616

1717
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)
1818
include(${CMAKE_CURRENT_SOURCE_DIR}/YggdrasilRapidJSONMacros.cmake)
19-
gitversion(LIB_VERSION_STRING "1.1.0.2")
2019

21-
PROJECT(YggdrasilRapidJSON VERSION "${LIB_VERSION_STRING}" LANGUAGES C CXX)
20+
set(YGGDRASIL_RAPIDJSON_VERSION "" CACHE STRING "Version to use instead of the git tag version")
21+
22+
if(NOT YGGDRASIL_RAPIDJSON_VERSION)
23+
yggdrasil_rapidjson_gitversion(YGGDRASIL_RAPIDJSON_VERSION "1.1.0.2")
24+
endif()
25+
message(STATUS "YGGDRASIL_RAPIDJSON_VERSION = ${YGGDRASIL_RAPIDJSON_VERSION}")
26+
27+
PROJECT(YggdrasilRapidJSON VERSION "${YGGDRASIL_RAPIDJSON_VERSION}" LANGUAGES C CXX)
2228
set(PROJECT_NAME_UPPER "YGGDRASIL_RAPIDJSON")
2329
set(PROJECT_NAME_LOWER "yggdrasil_rapidjson")
2430
set(PROJECT_INCLUDE_DIR "include/yggdrasil_rapidjson")
@@ -36,15 +42,45 @@ option(YGGDRASIL_RAPIDJSON_NEST_HEADERS "Nest the headers during install under t
3642
option(YGGDRASIL_RAPIDJSON_CREATE_METASCHEMA "Re-create the metaschema" OFF)
3743
option(YGGDRASIL_RAPIDJSON_CREATE_METASCHEMA_FULL "Re-create the metaschema and the full_schema.yaml file" OFF)
3844
option(YGGDRASIL_RAPIDJSON_SCHEMA_TESTS "Build tests using the yggdrasil schema" OFF)
45+
option(YGGDRASIL_RAPIDJSON_BUILD_DOC "Build yggdrasil_rapidjson documentation." ON)
46+
option(YGGDRASIL_RAPIDJSON_BUILD_EXAMPLES "Build yggdrasil_rapidjson examples." ON)
47+
option(YGGDRASIL_RAPIDJSON_BUILD_TESTS "Build yggdrasil_rapidjson perftests and unittests." ON)
48+
option(YGGDRASIL_RAPIDJSON_BUILD_UNITTESTS "Build yggdrasil_rapidjson unittests." ON)
49+
option(YGGDRASIL_RAPIDJSON_BUILD_PERFTESTS "Build yggdrasil_rapidjson perftests." ON)
50+
option(YGGDRASIL_RAPIDJSON_BUILD_THIRDPARTY_GTEST
51+
"Use gtest installation in `thirdparty/gtest` by default if available" OFF)
3952

40-
set(INTERFACE_PUBLIC_COMPILE_FLAGS -D_USE_MATH_DEFINES)
41-
set(INTERFACE_PUBLIC_LINK_FLAGS)
42-
set(INTERFACE_INCLUDE_DIRS)
43-
set(INTERFACE_LIBRARIES)
44-
set(LOCAL_PUBLIC_COMPILE_FLAGS)
45-
set(LOCAL_PUBLIC_LINK_FLAGS)
46-
set(LOCAL_INCLUDE_DIRS)
47-
set(LOCAL_LIBRARIES)
53+
option(YGGDRASIL_RAPIDJSON_BUILD_CXXMIN "Build yggdrasil_rapidjson with minimum C++ standard" OFF)
54+
option(YGGDRASIL_RAPIDJSON_BUILD_CXX11 "Build yggdrasil_rapidjson with C++11" ON)
55+
option(YGGDRASIL_RAPIDJSON_BUILD_CXX17 "Build yggdrasil_rapidjson with C++17" OFF)
56+
option(YGGDRASIL_RAPIDJSON_BUILD_CXX20 "Build yggdrasil_rapidjson with C++20" OFF)
57+
if(YGGDRASIL_RAPIDJSON_BUILD_CXX11)
58+
set(CMAKE_CXX_STANDARD 11)
59+
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
60+
endif()
61+
if(YGGDRASIL_RAPIDJSON_BUILD_CXXMIN)
62+
set(YGGDRASIL_RAPIDJSON_BUILD_CXX11 OFF)
63+
set(YGGDRASIL_RAPIDJSON_BUILD_CXX17 OFF)
64+
set(CMAKE_CXX_STANDARD 98)
65+
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
66+
endif()
67+
68+
yggdrasil_rapidjson_config_init(INTERFACE)
69+
yggdrasil_rapidjson_config_init(LOCAL)
70+
list(
71+
APPEND INTERFACE_PUBLIC_COMPILE_FLAGS
72+
-D_USE_MATH_DEFINES
73+
)
74+
if(WIN32)
75+
list(
76+
APPEND INTERFACE_PUBLIC_COMPILE_FLAGS
77+
$<$<COMPILE_LANG_AND_ID:C,MSVC>:-D_CRT_SECURE_NO_WARNINGS=1;-DNOMINMAX;/EHsc;/bigobj> # /EHsc /Zm10
78+
$<$<COMPILE_LANG_AND_ID:CXX,MSVC>:-D_CRT_SECURE_NO_WARNINGS=1;-DNOMINMAX;/EHsc;/bigobj> # /EHsc /Zm10
79+
$<$<COMPILE_LANG_AND_ID:C,GNU>:-Wa,-mbig-obj>
80+
$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wa,-mbig-obj>
81+
$<$<COMPILE_LANG_AND_ID:Fortran,GNU>:-Wa,-mbig-obj>
82+
)
83+
endif()
4884

4985
if(DISABLE_YGGDRASIL_RAPIDJSON)
5086
set(RAPIDJSON_CREATE_METASCHEMA OFF)
@@ -68,9 +104,6 @@ if(NOT (YGGDRASIL_DISABLE_PYTHON_C_API OR DISABLE_YGGDRASIL_RAPIDJSON))
68104
message(STATUS "Python executable is ${Python3_EXECUTABLE}")
69105
set(CONDA_PREFIX "$ENV{CONDA_PREFIX}")
70106
message(STATUS "CONDA_PREFIX = ${CONDA_PREFIX}")
71-
if(FOR_CONDA_RECIPE AND NOT CONDA_PREFIX)
72-
message(FATAL_ERROR "CONDA_PREFIX is not set, but FOR_CONDA_RECIPE is")
73-
endif()
74107
if(CONDA_PREFIX AND NOT Python3_ROOT_DIR)
75108
set(Python3_ROOT_DIR "${CONDA_PREFIX}")
76109
endif()
@@ -117,6 +150,14 @@ if(NOT (YGGDRASIL_DISABLE_PYTHON_C_API OR DISABLE_YGGDRASIL_RAPIDJSON))
117150
endif()
118151
endif()
119152

153+
# compile in release with debug info mode by default
154+
if(NOT CMAKE_BUILD_TYPE)
155+
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
156+
endif()
157+
158+
# Build all binaries in a separate directory
159+
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
160+
120161
# Handle option dependencies and set compilation options for tests
121162
yggdrasil_rapidjson_options_config(LOCAL)
122163

@@ -139,51 +180,10 @@ if(YGGDRASIL_RAPIDJSON_CREATE_METASCHEMA)
139180
ARGS "${CMAKE_CURRENT_SOURCE_DIR}/create_metaschema.py ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_INCLUDE_DIR}/metaschema.h ${YGGDRASIL_RAPIDJSON_METASCHEMA_FLAGS}")
140181
endif()
141182

142-
# compile in release with debug info mode by default
143-
if(NOT CMAKE_BUILD_TYPE)
144-
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
145-
endif()
146-
147-
# Build all binaries in a separate directory
148-
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
149-
150-
option(YGGDRASIL_RAPIDJSON_BUILD_DOC "Build yggdrasil_rapidjson documentation." ON)
151-
option(YGGDRASIL_RAPIDJSON_BUILD_EXAMPLES "Build yggdrasil_rapidjson examples." ON)
152-
option(YGGDRASIL_RAPIDJSON_BUILD_TESTS "Build yggdrasil_rapidjson perftests and unittests." ON)
153-
option(YGGDRASIL_RAPIDJSON_BUILD_UNITTESTS "Build yggdrasil_rapidjson unittests." ON)
154-
option(YGGDRASIL_RAPIDJSON_BUILD_PERFTESTS "Build yggdrasil_rapidjson perftests." ON)
155-
option(YGGDRASIL_RAPIDJSON_BUILD_THIRDPARTY_GTEST
156-
"Use gtest installation in `thirdparty/gtest` by default if available" OFF)
157-
158-
option(YGGDRASIL_RAPIDJSON_BUILD_CXXMIN "Build yggdrasil_rapidjson with minimum C++ standard" OFF)
159-
option(YGGDRASIL_RAPIDJSON_BUILD_CXX11 "Build yggdrasil_rapidjson with C++11" ON)
160-
option(YGGDRASIL_RAPIDJSON_BUILD_CXX17 "Build yggdrasil_rapidjson with C++17" OFF)
161-
option(YGGDRASIL_RAPIDJSON_BUILD_CXX20 "Build yggdrasil_rapidjson with C++20" OFF)
162-
if(YGGDRASIL_RAPIDJSON_BUILD_CXX11)
163-
set(CMAKE_CXX_STANDARD 11)
164-
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
165-
endif()
166-
if(YGGDRASIL_RAPIDJSON_BUILD_CXXMIN)
167-
set(YGGDRASIL_RAPIDJSON_BUILD_CXX11 OFF)
168-
set(YGGDRASIL_RAPIDJSON_BUILD_CXX17 OFF)
169-
set(CMAKE_CXX_STANDARD 98)
170-
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
171-
endif()
172-
173-
find_program(CCACHE_FOUND ccache)
174-
if(CCACHE_FOUND)
175-
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
176-
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
177-
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
178-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
179-
endif()
180-
endif(CCACHE_FOUND)
181-
182-
find_program(VALGRIND_FOUND valgrind)
183+
yggdrasil_rapidjson_global_compiler_flags(CXX)
183184

185+
# Set flags based on CXX version options
184186
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
185-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
186-
set(EXTRA_CXX_FLAGS -Weffc++ -Wswitch-default -Wfloat-equal -Wconversion -Wsign-conversion)
187187
if (YGGDRASIL_RAPIDJSON_BUILD_CXXMIN)
188188
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03 -Wc++0x-compat -Werror=unused-parameter")
189189
elseif (YGGDRASIL_RAPIDJSON_BUILD_CXX11 AND CMAKE_VERSION VERSION_LESS 3.1)
@@ -198,20 +198,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
198198
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
199199
endif()
200200
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
201-
if(NOT CMAKE_CROSSCOMPILING)
202-
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
203-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
204-
else()
205-
if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64")
206-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=apple-m1")
207-
else()
208-
#FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
209-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
210-
endif()
211-
endif()
212-
endif()
213-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wno-missing-field-initializers")
214-
set(EXTRA_CXX_FLAGS -Weffc++ -Wswitch-default -Wfloat-equal -Wconversion -Wimplicit-fallthrough)
215201
if (YGGDRASIL_RAPIDJSON_BUILD_CXXMIN)
216202
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03 -Wc++0x-compat -Werror=unused-parameter")
217203
elseif (YGGDRASIL_RAPIDJSON_BUILD_CXX11 AND CMAKE_VERSION VERSION_LESS 3.1)
@@ -222,9 +208,6 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
222208
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
223209
endif()
224210
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
225-
list(APPEND INTERFACE_PUBLIC_COMPILE_FLAGS
226-
-D_CRT_SECURE_NO_WARNINGS=1 -DNOMINMAX)
227-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /bigobj /Zm10")
228211
# CMake >= 3.10 should handle the above CMAKE_CXX_STANDARD fine, otherwise use /std:c++XX with MSVC >= 19.10
229212
if (YGGDRASIL_RAPIDJSON_BUILD_CXXMIN)
230213
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++03 /Wc++0x-compat")
@@ -235,14 +218,6 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
235218
elseif (YGGDRASIL_RAPIDJSON_BUILD_CXX20 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.29")
236219
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++20")
237220
endif()
238-
# Always compile with /WX
239-
if(CMAKE_CXX_FLAGS MATCHES "/WX-")
240-
string(REGEX REPLACE "/WX-" "/WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
241-
else()
242-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
243-
endif()
244-
elseif (CMAKE_CXX_COMPILER_ID MATCHES "XL")
245-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qarch=auto")
246221
endif()
247222

248223
#add extra search paths for libraries and includes
@@ -262,7 +237,7 @@ SET(CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" CACHE PATH "The directory cmake fi
262237
# ===============================
263238

264239
# Version header
265-
generate_version_header(
240+
yggdrasil_rapidjson_version_header(
266241
${PROJECT_NAME_UPPER}
267242
${PROJECT_VERSION}
268243
${CMAKE_CURRENT_SOURCE_DIR}/include/${PROJECT_NAME_LOWER}/${PROJECT_NAME_LOWER}_version.h.in
@@ -284,26 +259,11 @@ else()
284259
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
285260
)
286261
endif()
287-
target_compile_options(
288-
${PROJECT_NAME} INTERFACE ${INTERFACE_PUBLIC_COMPILE_FLAGS}
289-
)
290-
target_link_options(
291-
${PROJECT_NAME} INTERFACE ${INTERFACE_PUBLIC_LINK_FLAGS}
292-
)
293-
target_include_directories(
294-
${PROJECT_NAME} INTERFACE ${INTERFACE_INCLUDE_DIRS}
295-
)
296-
target_link_libraries(
297-
${PROJECT_NAME} INTERFACE ${INTERFACE_LIBRARIES}
298-
)
299262

300-
# Set after interface library created
263+
yggdrasil_rapidjson_target_config(${PROJECT_NAME} INTERFACE INTERFACE)
301264

302-
list(APPEND EXTRA_CXX_FLAGS ${LOCAL_PUBLIC_COMPILE_FLAGS})
303-
add_compile_options(${LOCAL_PUBLIC_COMPILE_FLAGS})
304-
add_link_options(${LOCAL_PUBLIC_LINK_FLAGS})
305-
include_directories(${LOCAL_INCLUDE_DIRS})
306-
link_libraries(${PROJECT_NAME} ${LOCAL_LIBRARIES})
265+
link_libraries(${PROJECT_NAME})
266+
yggdrasil_rapidjson_global_config(CXX LOCAL)
307267

308268
if(YGGDRASIL_RAPIDJSON_BUILD_DOC)
309269
add_subdirectory(doc)

YggdrasilRapidJSONConfig.cmake.in

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake")
44
include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Macros.cmake")
5+
yggdrasil_rapidjson_options_create()
56

67
################################################################################
78
# @PROJECT_NAME@ source dir
@@ -27,26 +28,16 @@ get_target_property(
2728
)
2829
list(GET @PROJECT_NAME@_INCLUDE_DIR 0 @PROJECT_NAME@_INCLUDE_DIR)
2930

30-
set(INTERFACE_LIBRARIES)
31-
set(INTERFACE_COMPILATION_OPTIONS)
32-
3331
if(NOT (YGGDRASIL_DISABLE_PYTHON_C_API OR DISABLE_YGGDRASIL_RAPIDJSON))
3432
include(CMakeFindDependencyMacro)
3533
find_dependency(Python3 COMPONENTS Interpreter Development NumPy)
3634
endif()
3735

38-
yggdrasil_rapidjson_options_config(INTERFACE)
39-
40-
if(INTERFACE_LIBRARIES)
41-
target_link_libraries(
42-
@PROJECT_NAME@ INTERFACE ${INTERFACE_LIBRARIES}
43-
)
44-
endif()
45-
if(INTERFACE_COMPILATION_OPTIONS)
46-
target_compile_options(
47-
@PROJECT_NAME@ INTERFACE ${INTERFACE_COMPILATION_OPTIONS}
48-
)
49-
endif()
36+
yggdrasil_rapidjson_config_init(@PROJECT_NAME@_INTERFACE)
37+
yggdrasil_rapidjson_options_config(@PROJECT_NAME@_INTERFACE)
38+
yggdrasil_rapidjson_target_config(
39+
@PROJECT_NAME@ INTERFACE @PROJECT_NAME@_INTERFACE
40+
)
5041

5142
set_and_check(
5243
@PROJECT_NAME@_INCLUDE_DIRS "${@PROJECT_NAME@_INCLUDE_DIR}"

0 commit comments

Comments
 (0)