Skip to content

Commit d772fde

Browse files
committed
More CMake modernization
1 parent 3fda582 commit d772fde

7 files changed

Lines changed: 207 additions & 1192 deletions

File tree

.github/workflows/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ jobs:
167167
- name: setup
168168
run: |
169169
brew update -q
170-
brew upgrade -f -q
171170
brew bundle install -q
172171
brew cleanup -q -s
173172
rm -rf $(brew --cache)
@@ -463,7 +462,6 @@ jobs:
463462
- name: setup
464463
run: |
465464
brew update -q
466-
brew upgrade -f -q
467465
brew bundle install -q
468466
brew cleanup -q -s
469467
rm -rf $(brew --cache)

.reuse/dep5

Lines changed: 0 additions & 1049 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 108 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ endif()
6565
include(GNUInstallDirs)
6666

6767
set(AVO_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
68-
set(AVO_CPS_DIR ${CMAKE_INSTALL_LIBDIR}/cps/${PROJECT_NAME})
6968
set(AVO_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME})
7069
set(AVO_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR})
7170
set(AVO_LIBRARY AVO)
@@ -75,7 +74,7 @@ set(AVO_NAME "AVO2 Library")
7574
set(CMAKE_CXX_STANDARD 98)
7675
set(CMAKE_CXX_STANDARD_REQUIRED OFF)
7776
set(CMAKE_CXX_EXTENSIONS OFF)
78-
set(CMAKE_CXX_STANDARD_REQUIRED OFF)
77+
set(CMAKE_CXX_EXTENSIONS_REQUIRED OFF)
7978
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
8079

8180
option(BUILD_DOCUMENTATION "Build documentation" OFF)
@@ -112,15 +111,15 @@ include(CheckCXXCompilerFlag)
112111
include(CheckLinkerFlag)
113112

114113
option(ENABLE_HARDENING
115-
"Enable hardening compiler and linker flags if supported" OFF)
114+
"Enable hardening compiler and linker flags if supported" ON)
116115

117116
if(ENABLE_HARDENING)
118117
if(MSVC)
119118
check_cxx_compiler_flag(/GS AVO_COMPILER_SUPPORTS_GS)
120119
check_cxx_compiler_flag(/guard:cf AVO_COMPILER_SUPPORTS_GUARD_CF)
121120

122121
if(AVO_COMPILER_SUPPORTS_GS)
123-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GS")
122+
add_compile_options(/GS)
124123
endif()
125124

126125
check_linker_flag(CXX /DYNAMICBASE AVO_LINKER_SUPPORTS_DYNAMICBASE)
@@ -130,18 +129,20 @@ if(ENABLE_HARDENING)
130129
if(AVO_COMPILER_SUPPORTS_GUARD_CF
131130
AND AVO_LINKER_SUPPORTS_DYNAMICBASE
132131
AND AVO_LINKER_SUPPORTS_GUARD_CF)
133-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /guard:cf")
134-
set(CMAKE_EXE_LINKER_FLAGS
135-
"${CMAKE_EXE_LINKER_FLAGS} /DYNAMICBASE /GUARD:CF")
136-
set(CMAKE_SHARED_LINKER_FLAGS
137-
"${CMAKE_SHARED_LINKER_FLAGS} /DYNAMICBASE /GUARD:CF")
132+
add_compile_options(/guard:cf)
133+
add_link_options(/DYNAMICBASE /GUARD:CF)
138134
endif()
139135

140136
if(AVO_LINKER_SUPPORTS_NXCOMPAT)
141-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NXCOMPAT")
142-
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NXCOMPAT")
137+
add_link_options(/NXCOMPAT)
143138
endif()
144139
else()
140+
if(APPLE)
141+
set(AVO_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
142+
set(CMAKE_REQUIRED_FLAGS
143+
"${CMAKE_REQUIRED_FLAGS} -Werror=unused-command-line-argument")
144+
endif()
145+
145146
check_cxx_compiler_flag(-D_FORTIFY_SOURCE=2
146147
AVO_COMPILER_SUPPORTS_D_FORTIFY_SOURCE_2)
147148
check_cxx_compiler_flag(-fcf-protection
@@ -162,21 +163,21 @@ if(ENABLE_HARDENING)
162163
endif()
163164

164165
if(AVO_COMPILER_SUPPORTS_D_FORTIFY_SOURCE_2)
165-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORTIFY_SOURCE=2")
166+
add_compile_options(-D_FORTIFY_SOURCE=2)
166167
endif()
167168
if(AVO_COMPILER_SUPPORTS_FCF_PROTECTION)
168-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcf-protection")
169+
add_compile_options(-fcf-protection)
169170
endif()
170171
if(AVO_COMPILER_SUPPORTS_FNO_COMMON)
171-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common")
172+
add_compile_options(-fno-common)
172173
endif()
173174
if(AVO_COMPILER_SUPPORTS_FSTACK_CLASH_PROTECTION)
174-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-clash-protection")
175+
add_compile_options(-fstack-clash-protection)
175176
endif()
176177
if(AVO_COMPILER_SUPPORTS_FSTACK_PROTECTOR_STRONG)
177-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector-strong")
178+
add_compile_options(-fstack-protector-strong)
178179
elseif(AVO_COMPILER_SUPPORTS_FSTACK_PROTECTOR)
179-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector")
180+
add_compile_options(-fstack-protector)
180181
endif()
181182

182183
check_linker_flag(CXX -Wl,-Bsymbolic-functions
@@ -189,42 +190,38 @@ if(ENABLE_HARDENING)
189190
AVO_LINKER_SUPPORTS_Z_NOEXECSTACK)
190191
check_linker_flag(CXX -Wl,-z,now AVO_LINKER_SUPPORTS_Z_NOW)
191192
check_linker_flag(CXX -Wl,-z,relro AVO_LINKER_SUPPORTS_Z_RELRO)
193+
check_linker_flag(CXX -Wl,-z,separate-code AVO_LINKER_SUPPORTS_Z_SEPARATE_CODE)
192194

193195
if(AVO_LINKER_SUPPORTS_BSYMBOLIC_FUNCTIONS)
194-
set(CMAKE_EXE_LINKER_FLAGS
195-
"${CMAKE_EXE_LINKER_FLAGS} -Wl,-Bsymbolic-functions")
196-
set(CMAKE_SHARED_LINKER_FLAGS
197-
"${CMAKE_SHARED_LINKER_FLAGS} -Wl,-Bsymbolic-functions")
196+
add_link_options(-Wl,-Bsymbolic-functions)
198197
endif()
199198
if(AVO_COMPILER_SUPPORTS_FSANITIZE_SAFE_STACK
200199
AND AVO_LINKER_SUPPORTS_FSANITIZE_SAFE_STACK)
201-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=safe-stack")
202-
set(CMAKE_EXE_LINKER_FLAGS
203-
"${CMAKE_EXE_LINKER_FLAGS} -fsanitize=safe-stack")
204-
set(CMAKE_SHARED_LINKER_FLAGS
205-
"${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=safe-stack")
200+
add_compile_options(-fsanitize=safe-stack)
201+
add_link_options(-fsanitize=safe-stack)
206202
endif()
207203
if(AVO_LINKER_SUPPORTS_Z_DEFS)
208-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,defs")
209-
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,defs")
204+
add_link_options(-Wl,-z,defs)
210205
endif()
211206
if(AVO_LINKER_SUPPORTS_Z_NOEXECHEAP)
212-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,noexecheap")
213-
set(CMAKE_SHARED_LINKER_FLAGS
214-
"${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,noexecheap")
207+
add_link_options(-Wl,-z,noexecheap)
215208
endif()
216209
if(AVO_LINKER_SUPPORTS_Z_NOEXECSTACK)
217-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,noexecstack")
218-
set(CMAKE_SHARED_LINKER_FLAGS
219-
"${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,noexecstack")
210+
add_link_options(-Wl,-z,noexecstack)
220211
endif()
221212
if(AVO_LINKER_SUPPORTS_Z_NOW)
222-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,now")
223-
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,now")
213+
add_link_options(-Wl,-z,now)
224214
endif()
225215
if(AVO_LINKER_SUPPORTS_Z_RELRO)
226-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro")
227-
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro")
216+
add_link_options(-Wl,-z,relro)
217+
endif()
218+
if(AVO_LINKER_SUPPORTS_Z_SEPARATE_CODE)
219+
add_link_options(-Wl,-z,separate-code)
220+
endif()
221+
222+
if(APPLE)
223+
set(CMAKE_REQUIRED_FLAGS "${AVO_REQUIRED_FLAGS}")
224+
unset(AVO_REQUIRED_FLAGS)
228225
endif()
229226
endif()
230227
endif()
@@ -233,7 +230,7 @@ if(MSVC)
233230
check_cxx_compiler_flag(/W4 AVO_COMPILER_SUPPORTS_W4)
234231

235232
if(AVO_COMPILER_SUPPORTS_W4)
236-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
233+
add_compile_options(/W4)
237234
endif()
238235
else()
239236
check_cxx_compiler_flag(-Wall AVO_COMPILER_SUPPORTS_WALL)
@@ -245,26 +242,24 @@ else()
245242
AVO_COMPILER_SUPPORTS_WNO_UNUSED)
246243

247244
if(AVO_COMPILER_SUPPORTS_WALL)
248-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
245+
add_compile_options(-Wall)
249246
endif()
250247
if(AVO_COMPILER_SUPPORTS_WFORMAT_SECURITY)
251-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-security")
248+
add_compile_options(-Wformat-security)
252249
endif()
253250
if(AVO_COMPILER_SUPPORTS_WERROR_FORMAT_SECURITY)
254-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=format-security")
251+
add_compile_options(-Werror=format-security)
255252
endif()
256253
if(AVO_COMPILER_SUPPORTS_WNO_UNUSED)
257-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused")
254+
add_compile_options(-Wno-unused)
258255
endif()
259256
endif()
260257

261258
if(NOT MSVC)
262259
check_linker_flag(CXX -Wl,--as-needed AVO_LINKER_SUPPORTS__AS_NEEDED)
263260

264261
if(AVO_LINKER_SUPPORTS__AS_NEEDED)
265-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed")
266-
set(CMAKE_SHARED_LINKER_FLAGS
267-
"${CMAKE_SHARED_LINKER_FLAGS} -Wl,--as-needed")
262+
add_link_options(-Wl,--as-needed)
268263
endif()
269264
endif()
270265

@@ -275,83 +270,91 @@ if(WARNINGS_AS_ERRORS)
275270
check_cxx_compiler_flag(/WX AVO_COMPILER_SUPPORTS_WX)
276271

277272
if(AVO_COMPILER_SUPPORTS_WX)
278-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
273+
add_compile_options(/WX)
279274
endif()
280275
else()
281276
check_cxx_compiler_flag(-Werror AVO_COMPILER_SUPPORTS_WERROR)
282277

283278
if(AVO_COMPILER_SUPPORTS_WERROR)
284-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
279+
add_compile_options(-Werror)
285280
endif()
286281
endif()
287282
endif()
288283

284+
option(ENABLE_INSTALLATION "Enable installation" ${PROJECT_IS_TOP_LEVEL})
285+
289286
add_subdirectory(src)
290287
add_subdirectory(examples)
291288
add_subdirectory(doc)
292289

293-
install(FILES LICENSE
294-
COMPONENT runtime
295-
DESTINATION ${CMAKE_INSTALL_DOCDIR})
290+
if(ENABLE_INSTALLATION)
291+
install(FILES LICENSE
292+
COMPONENT runtime
293+
TYPE DOC)
296294

297-
include(CMakePackageConfigHelpers)
295+
include(CMakePackageConfigHelpers)
298296

299-
configure_package_config_file(
300-
${PROJECT_NAME}Config.cmake.in ${PROJECT_NAME}Config.cmake
301-
INSTALL_DESTINATION ${AVO_DIR}
302-
PATH_VARS AVO_INCLUDE_DIR AVO_LIBRARY_DIR)
297+
configure_package_config_file(
298+
${PROJECT_NAME}Config.cmake.in ${PROJECT_NAME}Config.cmake
299+
INSTALL_DESTINATION ${AVO_DIR}
300+
PATH_VARS AVO_INCLUDE_DIR AVO_LIBRARY_DIR)
303301

304-
write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake
305-
COMPATIBILITY SameMajorVersion)
302+
write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake
303+
COMPATIBILITY SameMajorVersion)
306304

307-
install(FILES
308-
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
309-
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
310-
COMPONENT development
311-
DESTINATION ${AVO_DIR})
305+
install(FILES
306+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
307+
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
308+
COMPONENT development
309+
DESTINATION ${AVO_DIR})
312310

313-
find_package(PkgConfig MODULE)
311+
find_package(PkgConfig MODULE)
314312

315-
if(PkgConfig_FOUND)
316-
configure_file(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
317-
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc"
318-
COMPONENT development
319-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
313+
if(PkgConfig_FOUND)
314+
configure_file(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
315+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc"
316+
COMPONENT development
317+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
318+
endif()
320319
endif()
321320

322-
include(InstallRequiredSystemLibraries)
323-
324-
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
325-
set(CPACK_PACKAGE_CONTACT "Jamie Snape")
326-
set(CPACK_PACKAGE_VENDOR "University of North Carolina at Chapel Hill")
327-
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
328-
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
329-
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
330-
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}")
331-
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
332-
set(CPACK_STRIP_FILES ON)
333-
334-
set(CPACK_SOURCE_IGNORE_FILES
335-
_build/ \\\\.git/ \\\\.gitattributes \\\\.github/ \\\\.gitignore bazel-
336-
Brewfile)
337-
set(CPACK_SOURCE_STRIP_FILES ON)
338-
339-
set(CPACK_DEBIAN_COMPRESSION_TYPE zstd)
340-
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
341-
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/triggers")
342-
set(CPACK_DEBIAN_PACKAGE_DEPENDS)
343-
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${PROJECT_HOMEPAGE_URL})
344-
set(CPACK_DEBIAN_PACKAGE_SECTION contrib/libdevel)
345-
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
346-
347-
set(CPACK_FREEBSD_PACKAGE_DEPS)
348-
set(CPACK_FREEBSD_PACKAGE_LICENSE APACHE20)
349-
set(CPACK_FREEBSD_PACKAGE_WWW ${PROJECT_HOMEPAGE_URL})
350-
351-
set(CPACK_RPM_FILE_NAME RPM-DEFAULT)
352-
set(CPACK_RPM_PACKAGE_AUTOREQPROV ON)
353-
set(CPACK_RPM_PACKAGE_LICENSE "ASL 2.0")
354-
set(CPACK_RPM_PACKAGE_REQUIRES)
355-
set(CPACK_RPM_PACKAGE_URL ${PROJECT_HOMEPAGE_URL})
356-
357-
include(CPack)
321+
option(ENABLE_PACKAGING "Enable packaging" ${PROJECT_IS_TOP_LEVEL})
322+
323+
if(ENABLE_PACKAGING)
324+
include(InstallRequiredSystemLibraries)
325+
326+
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
327+
set(CPACK_PACKAGE_CONTACT "Jamie Snape")
328+
set(CPACK_PACKAGE_VENDOR "University of North Carolina at Chapel Hill")
329+
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
330+
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
331+
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
332+
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}")
333+
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
334+
set(CPACK_STRIP_FILES ON)
335+
336+
set(CPACK_SOURCE_IGNORE_FILES
337+
_build/ \\\\.git/ \\\\.gitattributes \\\\.github/ \\\\.gitignore bazel-
338+
Brewfile)
339+
set(CPACK_SOURCE_STRIP_FILES ON)
340+
341+
set(CPACK_DEBIAN_COMPRESSION_TYPE zstd)
342+
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
343+
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/triggers")
344+
set(CPACK_DEBIAN_PACKAGE_DEPENDS)
345+
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${PROJECT_HOMEPAGE_URL})
346+
set(CPACK_DEBIAN_PACKAGE_SECTION contrib/libdevel)
347+
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
348+
349+
set(CPACK_FREEBSD_PACKAGE_DEPS)
350+
set(CPACK_FREEBSD_PACKAGE_LICENSE APACHE20)
351+
set(CPACK_FREEBSD_PACKAGE_WWW ${PROJECT_HOMEPAGE_URL})
352+
353+
set(CPACK_RPM_FILE_NAME RPM-DEFAULT)
354+
set(CPACK_RPM_PACKAGE_AUTOREQPROV ON)
355+
set(CPACK_RPM_PACKAGE_LICENSE "ASL 2.0")
356+
set(CPACK_RPM_PACKAGE_REQUIRES)
357+
set(CPACK_RPM_PACKAGE_URL ${PROJECT_HOMEPAGE_URL})
358+
359+
include(CPack)
360+
endif()

doc/CMakeLists.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ if(BUILD_DOCUMENTATION AND Doxygen_FOUND)
6767
ALL
6868
USE_STAMP_FILE)
6969

70-
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html"
71-
COMPONENT documentation
72-
DESTINATION ${CMAKE_INSTALL_DOCDIR})
70+
if(ENABLE_INSTALLATION)
71+
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html"
72+
COMPONENT documentation
73+
TYPE DOC)
74+
endif()
7375
endif()

examples/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434
# <https://gamma.cs.unc.edu/AVO/>
3535
#
3636

37-
if(BUILD_TESTING)
37+
option(BUILD_EXAMPLES "Build examples" ${PROJECT_IS_TOP_LEVEL})
38+
39+
if(BUILD_EXAMPLES)
3840
option(OUTPUT_TIME_AND_POSITIONS "Output time and positions" ON)
3941

4042
if(OUTPUT_TIME_AND_POSITIONS)
@@ -58,6 +60,10 @@ if(BUILD_TESTING)
5860
endif()
5961
set_target_properties(Circle PROPERTIES
6062
INTERPROCEDURAL_OPTIMIZATION ${AVO_EXAMPLES_INTERPROCEDURAL_OPTIMIZATION})
63+
if(CMAKE_VERSION VERSION_GREATER_EQUAL 4.1)
64+
set_target_properties(Circle PROPERTIES
65+
SPDX_LICENSE Apache-2.0)
66+
endif()
6167
add_test(NAME Circle COMMAND Circle)
6268
set_tests_properties(Circle PROPERTIES
6369
LABELS medium

0 commit comments

Comments
 (0)