55 lines
1.5 KiB
CMake
55 lines
1.5 KiB
CMake
#
|
|
# Copyright Kitware, Inc.
|
|
# Distributed under the OSI-approved BSD 3-Clause License.
|
|
# See accompanying file Copyright.txt for details.
|
|
#
|
|
if(NOT KWIML_TEST_PREFIX)
|
|
set(KWIML_TEST_PREFIX kwiml)
|
|
endif()
|
|
|
|
# Suppress printf/scanf format warnings; we test if the sizes match.
|
|
foreach(lang C CXX)
|
|
if(KWIML_LANGUAGE_${lang} AND CMAKE_${lang}_COMPILER_ID STREQUAL "GNU")
|
|
set(CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS} -Wno-format")
|
|
endif()
|
|
endforeach()
|
|
|
|
if(KWIML_LANGUAGE_C)
|
|
set(test_srcs test.c)
|
|
else()
|
|
set(test_srcs test.cxx)
|
|
endif()
|
|
if(KWIML_LANGUAGE_C)
|
|
list(APPEND test_defs KWIML_LANGUAGE_C)
|
|
list(APPEND test_srcs
|
|
test_abi_C.c
|
|
test_int_C.c
|
|
test_include_C.c
|
|
)
|
|
endif()
|
|
if(KWIML_LANGUAGE_CXX)
|
|
list(APPEND test_defs KWIML_LANGUAGE_CXX)
|
|
list(APPEND test_srcs
|
|
test_abi_CXX.cxx
|
|
test_int_CXX.cxx
|
|
test_include_CXX.cxx
|
|
)
|
|
endif()
|
|
|
|
add_executable(kwiml_test ${test_srcs})
|
|
set_property(TARGET kwiml_test PROPERTY COMPILE_DEFINITIONS ${test_defs})
|
|
set_property(TARGET kwiml_test PROPERTY
|
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
add_test(NAME ${KWIML_TEST_PREFIX}.test COMMAND kwiml_test)
|
|
set_property(TEST ${KWIML_TEST_PREFIX}.test PROPERTY LABELS ${KWIML_TEST_LABELS})
|
|
|
|
# Xcode 2.x forgets to create the output directory before linking
|
|
# the individual architectures.
|
|
if(CMAKE_OSX_ARCHITECTURES AND XCODE
|
|
AND NOT "${XCODE_VERSION}" MATCHES "^[^12]")
|
|
add_custom_command(
|
|
TARGET kwiml_test
|
|
PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CFG_INTDIR}"
|
|
)
|
|
endif()
|