76 lines
2.7 KiB
Text
76 lines
2.7 KiB
Text
if(UNIX)
|
|
add_executable(aegisub-lua EXCLUDE_FROM_ALL
|
|
automation/tests/aegisub.cpp
|
|
)
|
|
target_link_libraries(aegisub-lua PRIVATE libaegisub luabins luajit "Boost::locale")
|
|
add_custom_target(test-automation
|
|
COMMAND sh -c "$(luarocks path); ${PROJECT_BINARY_DIR}/aegisub-lua tests/busted.lua -p moon tests/modules"
|
|
VERBATIM
|
|
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/automation"
|
|
)
|
|
add_dependencies(test-automation aegisub-lua)
|
|
else()
|
|
add_custom_target(test-automation)
|
|
endif()
|
|
|
|
find_package(GTest)
|
|
if(GTEST_FOUND)
|
|
add_executable(gtest-run EXCLUDE_FROM_ALL
|
|
tests/tests/access.cpp
|
|
tests/tests/audio.cpp
|
|
tests/tests/cajun.cpp
|
|
tests/tests/calltip_provider.cpp
|
|
tests/tests/character_count.cpp
|
|
tests/tests/color.cpp
|
|
tests/tests/dialogue_lexer.cpp
|
|
tests/tests/format.cpp
|
|
tests/tests/fs.cpp
|
|
tests/tests/hotkey.cpp
|
|
tests/tests/iconv.cpp
|
|
tests/tests/ifind.cpp
|
|
tests/tests/karaoke_matcher.cpp
|
|
tests/tests/keyframe.cpp
|
|
tests/tests/line_iterator.cpp
|
|
tests/tests/line_wrap.cpp
|
|
tests/tests/mru.cpp
|
|
tests/tests/option.cpp
|
|
tests/tests/path.cpp
|
|
tests/tests/signals.cpp
|
|
tests/tests/split.cpp
|
|
tests/tests/syntax_highlight.cpp
|
|
tests/tests/thesaurus.cpp
|
|
tests/tests/time.cpp
|
|
tests/tests/type_name.cpp
|
|
tests/tests/util.cpp
|
|
tests/tests/uuencode.cpp
|
|
tests/tests/vfr.cpp
|
|
tests/tests/word_split.cpp
|
|
tests/support/main.cpp
|
|
tests/support/util.cpp
|
|
)
|
|
target_compile_definitions(gtest-run PRIVATE CMAKE_BUILD)
|
|
target_include_directories(gtest-run PRIVATE "${PROJECT_SOURCE_DIR}/tests/support")
|
|
target_link_libraries(gtest-run PRIVATE libaegisub "Boost::filesystem" "GTest::GTest" "Iconv::Iconv")
|
|
if(MSVC)
|
|
set_target_properties(gtest-run PROPERTIES COMPILE_FLAGS "/Yu${PROJECT_SOURCE_DIR}/tests/support/tests_pre.h" COMPILE_FLAGS "/FI${PROJECT_SOURCE_DIR}/tests/support/tests_pre.h")
|
|
else()
|
|
target_compile_options(gtest-run PRIVATE -include "${PROJECT_SOURCE_DIR}/tests/support/tests_pre.h")
|
|
endif()
|
|
if(WIN32)
|
|
add_custom_target(test-aegisub
|
|
COMMAND "${PROJECT_SOURCE_DIR}/tests/setup.bat"
|
|
COMMAND gtest-run
|
|
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/tests"
|
|
)
|
|
else()
|
|
add_custom_target(test-aegisub
|
|
COMMAND "${PROJECT_SOURCE_DIR}/tests/setup.sh"
|
|
COMMAND gtest-run
|
|
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/tests"
|
|
)
|
|
endif()
|
|
else()
|
|
add_custom_target(test-aegisub)
|
|
endif()
|
|
|
|
add_custom_target(test DEPENDS test-automation test-aegisub)
|