mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-30 12:25:49 +00:00
39 lines
1.6 KiB
CMake
39 lines
1.6 KiB
CMake
function(add_sce_ngs2_library target)
|
|
set(ngs2Dir ${CMAKE_CURRENT_FUNCTION_LIST_DIR})
|
|
add_library(${target} SHARED EXCLUDE_FROM_ALL
|
|
${ngs2Dir}/src/Atrac9.cpp
|
|
${ngs2Dir}/src/Custom.cpp
|
|
${ngs2Dir}/src/Geom.cpp
|
|
${ngs2Dir}/src/Pan.cpp
|
|
${ngs2Dir}/src/Pcm.cpp
|
|
${ngs2Dir}/src/Rack.cpp
|
|
${ngs2Dir}/src/Render.cpp
|
|
${ngs2Dir}/src/Reverb.cpp
|
|
${ngs2Dir}/src/System.cpp
|
|
${ngs2Dir}/src/Voice.cpp
|
|
)
|
|
target_include_directories(${target} PRIVATE ${LIBS_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/3rdparty/LibAtrac9/C/src)
|
|
target_link_libraries(${target} PRIVATE atrac9 libc libkernel)
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
target_link_options(${target} PRIVATE LINKER:--exclude-libs,ALL)
|
|
endif()
|
|
set_target_properties(${target} PROPERTIES
|
|
CXX_EXTENSIONS OFF
|
|
CXX_VISIBILITY_PRESET hidden
|
|
VISIBILITY_INLINES_HIDDEN ON
|
|
)
|
|
configure_windows_unwind(${target})
|
|
endfunction()
|
|
|
|
function(add_sce_ngs2_test library name source)
|
|
add_test_executable(${name}_tests ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/tests/${source})
|
|
target_include_directories(${name}_tests PRIVATE ${LIBS_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/3rdparty/LibAtrac9/C/src)
|
|
target_link_libraries(${name}_tests PRIVATE ${library} atrac9 libkernel libc)
|
|
configure_windows_unwind(${name}_tests)
|
|
add_test(NAME ${name} COMMAND ${name}_tests)
|
|
if(WIN32)
|
|
set_tests_properties(${name} PROPERTIES ENVIRONMENT_MODIFICATION
|
|
"PATH=path_list_prepend:$<TARGET_FILE_DIR:${library}>")
|
|
endif()
|
|
endfunction()
|