Mercurial > malikania
diff cmake/function/MalikaniaDefineTest.cmake @ 183:387f6b0a5420
CMake: remove vera until we get clang-tidy, #903
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 19 Oct 2018 20:27:02 +0200 |
parents | 3107ce017c3a |
children | 74afc5a41c83 |
line wrap: on
line diff
--- a/cmake/function/MalikaniaDefineTest.cmake Fri Oct 19 20:18:19 2018 +0200 +++ b/cmake/function/MalikaniaDefineTest.cmake Fri Oct 19 20:27:02 2018 +0200 @@ -21,11 +21,11 @@ # --------------------- # # malikania_create_test( -# NAME Test name (must be lowercase) -# SOURCES Test sources files -# LIBRARIES (Optional) Libraries to link to -# RESOURCES (Optional) Resources files to copy verbatim -# FLAGS (Optional) Add list of compile definitions +# NAME Test name (must be lowercase) +# SOURCES Test sources files +# LIBRARIES (Optional) Libraries to link to +# RESOURCES (Optional) Resources files to copy verbatim +# FLAGS (Optional) Add list of compile definitions # ) # # This will generate a target named test-<name> where name is the parameter NAME. The test is created @@ -34,81 +34,75 @@ include(CMakeParseArguments) -include(${CMAKE_CURRENT_LIST_DIR}/MalikaniaVeraCheck.cmake) +function(malikania_create_test) + set(singleArgs NAME) + set(multiArgs FLAGS LIBRARIES SOURCES RESOURCES) -function(malikania_create_test) - set(singleArgs NAME) - set(multiArgs FLAGS LIBRARIES SOURCES RESOURCES) - - cmake_parse_arguments(TEST "" "${singleArgs}" "${multiArgs}" ${ARGN}) + cmake_parse_arguments(TEST "" "${singleArgs}" "${multiArgs}" ${ARGN}) - if (NOT TEST_NAME) - message(FATAL_ERROR "Missing NAME parameter") - endif () - if (NOT TEST_SOURCES) - message(FATAL_ERROR "Missing SOURCES parameter") - endif () + if (NOT TEST_NAME) + message(FATAL_ERROR "Missing NAME parameter") + endif () + if (NOT TEST_SOURCES) + message(FATAL_ERROR "Missing SOURCES parameter") + endif () - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/test/${TEST_NAME}) + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/test/${TEST_NAME}) - if (UNIX) - list(APPEND TEST_LIBRARIES pthread) - endif () + if (UNIX) + list(APPEND TEST_LIBRARIES pthread) + endif () - # Resources files added before as custom output - foreach (f ${TEST_RESOURCES}) - get_filename_component(absolute ${f} ABSOLUTE) - file(RELATIVE_PATH basename ${CMAKE_CURRENT_SOURCE_DIR} ${absolute}) - set(output ${CMAKE_BINARY_DIR}/test/${TEST_NAME}/${basename}) + # Resources files added before as custom output + foreach (f ${TEST_RESOURCES}) + get_filename_component(absolute ${f} ABSOLUTE) + file(RELATIVE_PATH basename ${CMAKE_CURRENT_SOURCE_DIR} ${absolute}) + set(output ${CMAKE_BINARY_DIR}/test/${TEST_NAME}/${basename}) - add_custom_command( - OUTPUT ${output} - COMMAND ${CMAKE_COMMAND} -E copy ${absolute} ${output} - DEPENDS ${absolute} - ) + add_custom_command( + OUTPUT ${output} + COMMAND ${CMAKE_COMMAND} -E copy ${absolute} ${output} + DEPENDS ${absolute} + ) - list(APPEND TEST_SOURCES ${absolute}) - list(APPEND outputs ${output}) - endforeach () + list(APPEND TEST_SOURCES ${absolute}) + list(APPEND outputs ${output}) + endforeach () - add_executable(test-${TEST_NAME} ${TEST_SOURCES} ${outputs}) - source_group(private\\Resources FILES ${outputs}) - target_compile_definitions( - test-${TEST_NAME} - PRIVATE - BOOST_TEST_DYN_LINK - CMAKE_CURRENT_BINARY_DIR="${CMAKE_CURRENT_BINARY_DIR}" - CMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}" - ${TEST_FLAGS} - ) + add_executable(test-${TEST_NAME} ${TEST_SOURCES} ${outputs}) + source_group(private\\Resources FILES ${outputs}) + target_compile_definitions( + test-${TEST_NAME} + PRIVATE + BOOST_TEST_DYN_LINK + CMAKE_CURRENT_BINARY_DIR="${CMAKE_CURRENT_BINARY_DIR}" + CMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}" + ${TEST_FLAGS} + ) - set_target_properties( - test-${TEST_NAME} - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin - ) - foreach (c ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER ${c} cu) - set_target_properties( - test-${TEST_NAME} - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_${cu} ${CMAKE_BINARY_DIR}/bin/${c} - ) - endforeach () - add_test( - NAME ${TEST_NAME} - COMMAND $<TARGET_FILE:test-${TEST_NAME}> - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/test/${TEST_NAME} - ) + set_target_properties( + test-${TEST_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin + ) + foreach (c ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${c} cu) + set_target_properties( + test-${TEST_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY_${cu} ${CMAKE_BINARY_DIR}/bin/${c} + ) + endforeach () + add_test( + NAME ${TEST_NAME} + COMMAND $<TARGET_FILE:test-${TEST_NAME}> + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/test/${TEST_NAME} + ) - target_link_libraries( - test-${TEST_NAME} - ${TEST_LIBRARIES} - Boost::boost - Boost::unit_test_framework - ) - - add_dependencies(tests test-${TEST_NAME}) - - malikania_vera_check(test-${TEST_NAME} "${TEST_SOURCES}") + target_link_libraries( + test-${TEST_NAME} + ${TEST_LIBRARIES} + Boost::boost + Boost::unit_test_framework + ) endfunction()