Files
Xenia-Canary/src/xenia/cpu/ppc/testing/CMakeLists.txt

44 lines
1.3 KiB
CMake

if(NOT XENIA_BUILD_TESTS)
return()
endif()
add_executable(xenia-cpu-ppc-tests
${CMAKE_CURRENT_SOURCE_DIR}/ppc_testing_main.cc
)
target_compile_definitions(xenia-cpu-ppc-tests PRIVATE
XE_SOURCE_ROOT="${PROJECT_SOURCE_DIR}")
# Add platform-specific console app main
if(WIN32)
target_sources(xenia-cpu-ppc-tests PRIVATE
${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_win.cc)
else()
target_sources(xenia-cpu-ppc-tests PRIVATE
${PROJECT_SOURCE_DIR}/src/xenia/base/console_app_main_posix.cc)
endif()
# Add .s files but exclude from build (they're test data)
file(GLOB _ppc_asm "${CMAKE_CURRENT_SOURCE_DIR}/*.s")
target_sources(xenia-cpu-ppc-tests PRIVATE ${_ppc_asm})
set_source_files_properties(${_ppc_asm} PROPERTIES HEADER_FILE_ONLY TRUE)
target_link_libraries(xenia-cpu-ppc-tests PRIVATE
xenia-apu xenia-apu-nop
xenia-base xenia-core xenia-cpu
xenia-gpu xenia-gpu-null
xenia-hid xenia-hid-nop
xenia-kernel xenia-patcher xenia-ui xenia-vfs
capstone fmt imgui mspack
)
# Architecture-specific backend
if(XE_TARGET_X86_64)
target_link_libraries(xenia-cpu-ppc-tests PRIVATE xenia-cpu-backend-x64)
elseif(XE_TARGET_AARCH64)
target_link_libraries(xenia-cpu-ppc-tests PRIVATE xenia-cpu-backend-a64)
endif()
xe_target_defaults(xenia-cpu-ppc-tests)
add_test(NAME xenia-cpu-ppc-tests COMMAND xenia-cpu-ppc-tests)