Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Utilities/KWIML/test/CMakeLists.txt
3153 views
1
#
2
# Copyright Kitware, Inc.
3
# Distributed under the OSI-approved BSD 3-Clause License.
4
# See accompanying file Copyright.txt for details.
5
#
6
if(NOT KWIML_TEST_PREFIX)
7
set(KWIML_TEST_PREFIX kwiml)
8
endif()
9
10
# Suppress printf/scanf format warnings; we test if the sizes match.
11
foreach(lang C CXX)
12
if(KWIML_LANGUAGE_${lang} AND CMAKE_${lang}_COMPILER_ID STREQUAL "GNU")
13
set(CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS} -Wno-format -Wno-format-security")
14
endif()
15
endforeach()
16
17
if(KWIML_LANGUAGE_C)
18
set(test_srcs test.c)
19
else()
20
set(test_srcs test.cxx)
21
endif()
22
if(KWIML_LANGUAGE_C)
23
list(APPEND test_defs KWIML_LANGUAGE_C)
24
list(APPEND test_srcs
25
test_abi_C.c
26
test_int_C.c
27
test_include_C.c
28
)
29
endif()
30
if(KWIML_LANGUAGE_CXX)
31
list(APPEND test_defs KWIML_LANGUAGE_CXX)
32
list(APPEND test_srcs
33
test_abi_CXX.cxx
34
test_int_CXX.cxx
35
test_include_CXX.cxx
36
)
37
endif()
38
39
add_executable(kwiml_test ${test_srcs})
40
set_property(TARGET kwiml_test PROPERTY COMPILE_DEFINITIONS ${test_defs})
41
set_property(TARGET kwiml_test PROPERTY C_INCLUDE_WHAT_YOU_USE "")
42
set_property(TARGET kwiml_test PROPERTY CXX_INCLUDE_WHAT_YOU_USE "")
43
set_property(TARGET kwiml_test PROPERTY
44
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
45
add_test(NAME ${KWIML_TEST_PREFIX}.test COMMAND kwiml_test)
46
set_property(TEST ${KWIML_TEST_PREFIX}.test PROPERTY LABELS ${KWIML_TEST_LABELS})
47
48
# Xcode 2.x forgets to create the output directory before linking
49
# the individual architectures.
50
if(CMAKE_OSX_ARCHITECTURES AND XCODE
51
AND NOT "${XCODE_VERSION}" MATCHES "^[^12]")
52
add_custom_command(
53
TARGET kwiml_test
54
PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CFG_INTDIR}"
55
)
56
endif()
57
58