1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #
- # 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 -Wno-format-security")
- 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 C_INCLUDE_WHAT_YOU_USE "")
- set_property(TARGET kwiml_test PROPERTY CXX_INCLUDE_WHAT_YOU_USE "")
- 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()
|