Changeset View
Changeset View
Standalone View
Standalone View
build_files/cmake/Modules/GTestTesting.cmake
| #============================================================================= | #============================================================================= | ||||
| # Copyright 2014 Blender Foundation. | # Copyright 2014 Blender Foundation. | ||||
| # | # | ||||
| # Distributed under the OSI-approved BSD 3-Clause License, | # Distributed under the OSI-approved BSD 3-Clause License, | ||||
| # see accompanying file BSD-3-Clause-license.txt for details. | # see accompanying file BSD-3-Clause-license.txt for details. | ||||
| # | # | ||||
| # Inspired on the Testing.cmake from Libmv | # Inspired on the Testing.cmake from Libmv | ||||
| # | # | ||||
| #============================================================================= | #============================================================================= | ||||
| function(GET_BLENDER_TEST_INSTALL_DIR VARIABLE_NAME) | |||||
| get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) | |||||
| if(GENERATOR_IS_MULTI_CONFIG) | |||||
| string(REPLACE "\${BUILD_TYPE}" "$<CONFIG>" TEST_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) | |||||
| else() | |||||
| string(REPLACE "\${BUILD_TYPE}" "" TEST_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) | |||||
| endif() | |||||
| set(${VARIABLE_NAME} "${TEST_INSTALL_DIR}" PARENT_SCOPE) | |||||
| endfunction() | |||||
| macro(BLENDER_SRC_GTEST_EX) | macro(BLENDER_SRC_GTEST_EX) | ||||
| if(WITH_GTESTS) | if(WITH_GTESTS) | ||||
| set(options SKIP_ADD_TEST) | set(options SKIP_ADD_TEST) | ||||
| set(oneValueArgs NAME) | set(oneValueArgs NAME) | ||||
| set(multiValueArgs SRC EXTRA_LIBS COMMAND_ARGS) | set(multiValueArgs SRC EXTRA_LIBS COMMAND_ARGS) | ||||
| cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) | cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) | ||||
| set(TARGET_NAME ${ARG_NAME}_test) | set(TARGET_NAME ${ARG_NAME}_test) | ||||
| ▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | if(WITH_GTESTS) | ||||
| endif() | endif() | ||||
| if(WITH_TBB) | if(WITH_TBB) | ||||
| target_link_libraries(${TARGET_NAME} ${TBB_LIBRARIES}) | target_link_libraries(${TARGET_NAME} ${TBB_LIBRARIES}) | ||||
| endif() | endif() | ||||
| if(WITH_GMP) | if(WITH_GMP) | ||||
| target_link_libraries(${TARGET_NAME} ${GMP_LIBRARIES}) | target_link_libraries(${TARGET_NAME} ${GMP_LIBRARIES}) | ||||
| endif() | endif() | ||||
| get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) | GET_BLENDER_TEST_INSTALL_DIR(TEST_INSTALL_DIR) | ||||
| if(GENERATOR_IS_MULTI_CONFIG) | |||||
| string(REPLACE "\${BUILD_TYPE}" "$<CONFIG>" TEST_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) | |||||
| else() | |||||
| string(REPLACE "\${BUILD_TYPE}" "" TEST_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) | |||||
| endif() | |||||
| set_target_properties(${TARGET_NAME} PROPERTIES | set_target_properties(${TARGET_NAME} PROPERTIES | ||||
| RUNTIME_OUTPUT_DIRECTORY "${TESTS_OUTPUT_DIR}" | RUNTIME_OUTPUT_DIRECTORY "${TESTS_OUTPUT_DIR}" | ||||
| RUNTIME_OUTPUT_DIRECTORY_RELEASE "${TESTS_OUTPUT_DIR}" | RUNTIME_OUTPUT_DIRECTORY_RELEASE "${TESTS_OUTPUT_DIR}" | ||||
| RUNTIME_OUTPUT_DIRECTORY_DEBUG "${TESTS_OUTPUT_DIR}") | RUNTIME_OUTPUT_DIRECTORY_DEBUG "${TESTS_OUTPUT_DIR}") | ||||
| if(NOT ARG_SKIP_ADD_TEST) | if(NOT ARG_SKIP_ADD_TEST) | ||||
| add_test( | add_test( | ||||
| NAME ${TARGET_NAME} | NAME ${TARGET_NAME} | ||||
| COMMAND ${TESTS_OUTPUT_DIR}/${TARGET_NAME} ${ARG_COMMAND_ARGS} | COMMAND ${TESTS_OUTPUT_DIR}/${TARGET_NAME} ${ARG_COMMAND_ARGS} | ||||
| Show All 37 Lines | |||||