Changeset View
Changeset View
Standalone View
Standalone View
build_files/cmake/Modules/GTestTesting.cmake
| Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | if(WITH_GTESTS) | ||||
| add_definitions(-DBLENDER_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE}) | add_definitions(-DBLENDER_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE}) | ||||
| add_definitions(${GFLAGS_DEFINES}) | add_definitions(${GFLAGS_DEFINES}) | ||||
| add_definitions(${GLOG_DEFINES}) | add_definitions(${GLOG_DEFINES}) | ||||
| add_executable(${TARGET_NAME} ${ARG_SRC} ${MANIFEST}) | add_executable(${TARGET_NAME} ${ARG_SRC} ${MANIFEST}) | ||||
| setup_platform_linker_flags(${TARGET_NAME}) | setup_platform_linker_flags(${TARGET_NAME}) | ||||
| target_include_directories(${TARGET_NAME} PUBLIC "${TEST_INC}") | target_include_directories(${TARGET_NAME} PUBLIC "${TEST_INC}") | ||||
| target_include_directories(${TARGET_NAME} SYSTEM PUBLIC "${TEST_INC_SYS}") | target_include_directories(${TARGET_NAME} SYSTEM PUBLIC "${TEST_INC_SYS}") | ||||
| target_link_libraries(${TARGET_NAME} ${ARG_EXTRA_LIBS} ${PLATFORM_LINKLIBS}) | blender_link_libraries(${TARGET_NAME} "${ARG_EXTRA_LIBS};${PLATFORM_LINKLIBS}") | ||||
| if(WITH_TBB) | if(WITH_TBB) | ||||
| # Force TBB libraries to be in front of MKL (part of OpenImageDenoise), so | # Force TBB libraries to be in front of MKL (part of OpenImageDenoise), so | ||||
| # that it is initialized before MKL and static library initialization order | # that it is initialized before MKL and static library initialization order | ||||
| # issues are avoided. | # issues are avoided. | ||||
| target_link_libraries(${TARGET_NAME} ${TBB_LIBRARIES}) | target_link_libraries(${TARGET_NAME} PRIVATE ${TBB_LIBRARIES}) | ||||
| if(WITH_OPENIMAGEDENOISE) | if(WITH_OPENIMAGEDENOISE) | ||||
| target_link_libraries(${TARGET_NAME} ${OPENIMAGEDENOISE_LIBRARIES}) | target_link_libraries(${TARGET_NAME} PRIVATE ${OPENIMAGEDENOISE_LIBRARIES}) | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| target_link_libraries(${TARGET_NAME} | target_link_libraries(${TARGET_NAME} PRIVATE | ||||
| bf_testing_main | bf_testing_main | ||||
| bf_intern_eigen | bf_intern_eigen | ||||
| bf_intern_guardedalloc | bf_intern_guardedalloc | ||||
| extern_gtest | extern_gtest | ||||
| extern_gmock | extern_gmock | ||||
| # needed for glog | # needed for glog | ||||
| ${PTHREADS_LIBRARIES} | ${PTHREADS_LIBRARIES} | ||||
| ${GLOG_LIBRARIES} | ${GLOG_LIBRARIES} | ||||
| ${GFLAGS_LIBRARIES}) | ${GFLAGS_LIBRARIES}) | ||||
| if(WITH_OPENMP_STATIC) | if(WITH_OPENMP_STATIC) | ||||
| target_link_libraries(${TARGET_NAME} ${OpenMP_LIBRARIES}) | target_link_libraries(${TARGET_NAME} PRIVATE ${OpenMP_LIBRARIES}) | ||||
| endif() | endif() | ||||
| if(UNIX AND NOT APPLE) | if(UNIX AND NOT APPLE) | ||||
| target_link_libraries(${TARGET_NAME} bf_intern_libc_compat) | target_link_libraries(${TARGET_NAME} PRIVATE bf_intern_libc_compat) | ||||
| endif() | endif() | ||||
| if(WITH_TBB) | if(WITH_TBB) | ||||
| target_link_libraries(${TARGET_NAME} ${TBB_LIBRARIES}) | target_link_libraries(${TARGET_NAME} PRIVATE ${TBB_LIBRARIES}) | ||||
| endif() | endif() | ||||
| if(WITH_GMP) | if(WITH_GMP) | ||||
| target_link_libraries(${TARGET_NAME} ${GMP_LIBRARIES}) | target_link_libraries(${TARGET_NAME} PRIVATE ${GMP_LIBRARIES}) | ||||
| endif() | endif() | ||||
| GET_BLENDER_TEST_INSTALL_DIR(TEST_INSTALL_DIR) | GET_BLENDER_TEST_INSTALL_DIR(TEST_INSTALL_DIR) | ||||
| 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) | ||||
| Show All 12 Lines | if(WIN32) | ||||
| set_target_properties(${TARGET_NAME} PROPERTIES VS_GLOBAL_VcpkgEnabled "false") | set_target_properties(${TARGET_NAME} PROPERTIES VS_GLOBAL_VcpkgEnabled "false") | ||||
| unset(MANIFEST) | unset(MANIFEST) | ||||
| endif() | endif() | ||||
| unset(TEST_INC) | unset(TEST_INC) | ||||
| unset(TEST_INC_SYS) | unset(TEST_INC_SYS) | ||||
| unset(TARGET_NAME) | unset(TARGET_NAME) | ||||
| endif() | endif() | ||||
| endmacro() | endmacro() | ||||
| macro(BLENDER_SRC_GTEST NAME SRC EXTRA_LIBS) | |||||
| BLENDER_SRC_GTEST_EX( | |||||
| NAME "${NAME}" | |||||
| SRC "${SRC}" | |||||
| EXTRA_LIBS "${EXTRA_LIBS}") | |||||
| endmacro() | |||||
| macro(BLENDER_TEST NAME EXTRA_LIBS) | |||||
| BLENDER_SRC_GTEST_EX( | |||||
| NAME "${NAME}" | |||||
| SRC "${NAME}_test.cc" | |||||
| EXTRA_LIBS "${EXTRA_LIBS}") | |||||
| endmacro() | |||||
| macro(BLENDER_TEST_PERFORMANCE NAME EXTRA_LIBS) | |||||
| BLENDER_SRC_GTEST_EX( | |||||
| NAME "${NAME}" | |||||
| SRC "${NAME}_test.cc" | |||||
| EXTRA_LIBS "${EXTRA_LIBS}" | |||||
| SKIP_ADD_TEST) | |||||
| endmacro() | |||||