2017-05-20 23:21:59 +00:00
|
|
|
enable_testing()
|
|
|
|
add_custom_target(unittests)
|
2023-05-14 02:49:22 +00:00
|
|
|
add_custom_command(TARGET unittests POST_BUILD COMMAND ${CMAKE_CTEST_COMMAND} "--output-on-failure")
|
2017-05-20 23:21:59 +00:00
|
|
|
|
2017-05-22 07:05:13 +00:00
|
|
|
string(APPEND CMAKE_RUNTIME_OUTPUT_DIRECTORY "/Tests")
|
|
|
|
|
2023-01-12 21:28:42 +00:00
|
|
|
add_library(unittests_main OBJECT UnitTestsMain.cpp)
|
2024-04-18 10:58:08 +00:00
|
|
|
|
|
|
|
target_link_libraries(unittests_main PUBLIC fmt::fmt gtest::gtest)
|
2017-05-22 06:56:35 +00:00
|
|
|
# Since this is a Core dependency, it can't be linked as a normal library.
|
|
|
|
# Otherwise CMake inserts the library after core, but before other core
|
|
|
|
# dependencies like videocommon which also use Host_ functions, which makes the
|
|
|
|
# GNU linker complain.
|
2017-05-20 23:08:50 +00:00
|
|
|
add_library(unittests_stubhost OBJECT StubHost.cpp)
|
2017-05-22 06:56:35 +00:00
|
|
|
|
2017-05-20 23:06:19 +00:00
|
|
|
macro(add_dolphin_test target)
|
|
|
|
add_executable(${target} EXCLUDE_FROM_ALL
|
|
|
|
${ARGN}
|
|
|
|
$<TARGET_OBJECTS:unittests_stubhost>
|
|
|
|
)
|
2017-05-22 07:05:13 +00:00
|
|
|
set_target_properties(${target} PROPERTIES FOLDER Tests)
|
2023-01-12 21:28:42 +00:00
|
|
|
target_link_libraries(${target} PRIVATE core uicommon unittests_main)
|
2017-05-20 23:00:55 +00:00
|
|
|
add_dependencies(unittests ${target})
|
2017-05-20 23:01:59 +00:00
|
|
|
add_test(NAME ${target} COMMAND ${target})
|
2017-01-25 05:29:30 +00:00
|
|
|
endmacro()
|
2014-03-02 03:44:56 +00:00
|
|
|
|
2014-03-09 13:27:04 +00:00
|
|
|
add_subdirectory(Common)
|
2014-03-02 03:44:56 +00:00
|
|
|
add_subdirectory(Core)
|
2014-08-02 06:42:36 +00:00
|
|
|
add_subdirectory(VideoCommon)
|