mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 15:00:17 +02:00
I may have gotten carried away. - I missed some stuff for end parenthesis because I accidentally searched within project files instead of the entire directory (so some thunk/test/windows stuff was missed), cleaned those up. - `INTERFACE`, `PUBLIC`, `PRIVATE`, `RUNTIME`, `LIBRARY` should be on the same line as the target name. (I should really invest in making a style guide...) - Some short statements were unnecessarily split across multiple lines--cleaned those up - Made a common `LinkerGC` module that applies gc-sections etc. to a target in Release mode - Usually for functions you want to have something on the first line, e.g. `FILES`/`DIRECTORY` for install, or the target/a positional argument, etc etc. Not always though, notably for some custom_command calls TODO: - What's with the `list(APPEND LIBS...)` stuff? It's used really inconsistently, sometimes not at all, sometimes it looks like there're duplicates? A more thorough cleanup is in order there. Signed-off-by: crueter <crueter@eden-emu.dev>
48 lines
1.8 KiB
CMake
48 lines
1.8 KiB
CMake
set(FUNCTIONAL_DEPENDS "")
|
|
|
|
function(AddThunksTest Bin ThunksFile)
|
|
if (NOT ThunksFile)
|
|
set(TEST_NAME ThunkFunctionalTest-NoThunks-${Bin})
|
|
else()
|
|
set(TEST_NAME ThunkFunctionalTest-Thunks-${Bin})
|
|
endif()
|
|
|
|
add_test(NAME ${TEST_NAME}
|
|
COMMAND "$<TARGET_FILE:FEX>"
|
|
${Bin})
|
|
set_property(TEST ${TEST_NAME} APPEND PROPERTY DEPENDS "${Bin}")
|
|
set_property(TEST "${TEST_NAME}" APPEND PROPERTY ENVIRONMENT
|
|
"FEX_OUTPUTLOG=stderr;FEX_SILENTLOG=0;FEX_MAXINST=500;FEX_THUNKHOSTLIBS=${HOSTLIBS_DATA_DIRECTORY}/HostThunks;FEX_THUNKGUESTLIBS=${CMAKE_INSTALL_PREFIX}/share/fex-emu/GuestThunks")
|
|
|
|
if (ThunksFile)
|
|
set_property(TEST "${TEST_NAME}" APPEND PROPERTY ENVIRONMENT "FEX_THUNKCONFIG=${CMAKE_SOURCE_DIR}/Data/CI/${ThunksFile}")
|
|
endif()
|
|
list(APPEND FUNCTIONAL_DEPENDS "${TEST_NAME}")
|
|
endfunction()
|
|
|
|
function(AddTest Bin ThunksFile)
|
|
AddThunksTest("${Bin}" "")
|
|
AddThunksTest("${Bin}" "${ThunksFile}")
|
|
endfunction()
|
|
|
|
AddTest("/usr/bin/glxinfo" "GLThunks.json")
|
|
AddTest("/usr/bin/vulkaninfo" "VulkanThunks.json")
|
|
|
|
add_custom_target(thunk_functional_tests_nothunks
|
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
|
USES_TERMINAL
|
|
COMMAND "ctest" "--output-on-failure" "--timeout" "302" ${TEST_JOB_FLAG} "-R" "ThunkFunctionalTest-NoThunks-\.*"
|
|
DEPENDS "${FUNCTIONAL_DEPENDS}")
|
|
|
|
add_custom_target(thunk_functional_tests_thunks
|
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
|
USES_TERMINAL
|
|
COMMAND "ctest" "--output-on-failure" "--timeout" "302" ${TEST_JOB_FLAG} "-R" "ThunkFunctionalTest-Thunks-\.*"
|
|
DEPENDS "${FUNCTIONAL_DEPENDS}")
|
|
|
|
add_custom_target(thunk_functional_tests
|
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
|
USES_TERMINAL
|
|
COMMAND "ctest" "--output-on-failure" "--timeout" "302" ${TEST_JOB_FLAG} "-R" "ThunkFunctionalTest\.*"
|
|
DEPENDS "${FUNCTIONAL_DEPENDS}")
|