fix(libs): fix nid patching after libs build

This commit is contained in:
boykopovar 2026-08-20 17:32:00 +03:00
parent 9e21a054e0
commit aba18915ba
2 changed files with 34 additions and 30 deletions

View File

@ -1,4 +1,4 @@
add_executable(nid_patcher EXCLUDE_FROM_ALL
add_executable(nid_patcher
${CMAKE_CURRENT_SOURCE_DIR}/nid/src/Sha1.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nid/src/NidCompute.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nid/src/main.cpp
@ -8,7 +8,7 @@ target_compile_features(nid_patcher PRIVATE cxx_std_20)
file(GLOB LIBS_DIRS LIST_DIRECTORIES true ${CMAKE_CURRENT_SOURCE_DIR}/lib*)
set(LIB_TARGETS)
set(PATCHED_STAMPS)
foreach(LIB_DIR ${LIBS_DIRS})
if(IS_DIRECTORY ${LIB_DIR})
@ -16,21 +16,25 @@ foreach(LIB_DIR ${LIBS_DIRS})
add_library(${LIB_NAME} SHARED EXCLUDE_FROM_ALL ${LIB_DIR}/Export.cpp)
set_target_properties(${LIB_NAME} PROPERTIES
PREFIX ""
SUFFIX .rpx
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libs
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libs
PREFIX ""
SUFFIX .rpx
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libs
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/libs
)
add_dependencies(${LIB_NAME} nid_patcher)
set(RPX_FILE ${CMAKE_CURRENT_BINARY_DIR}/libs/${LIB_NAME}.rpx)
set(STAMP_FILE ${CMAKE_CURRENT_BINARY_DIR}/libs/${LIB_NAME}.patched)
add_custom_command(TARGET ${LIB_NAME} POST_BUILD
COMMAND $<TARGET_FILE:nid_patcher> ${LIB_NAME} $<TARGET_FILE:${LIB_NAME}>
COMMENT "Patching NIDs"
add_custom_command(
OUTPUT ${STAMP_FILE}
COMMAND $<TARGET_FILE:nid_patcher> ${LIB_NAME} ${RPX_FILE}
COMMAND ${CMAKE_COMMAND} -E touch ${STAMP_FILE}
DEPENDS nid_patcher ${LIB_NAME}
COMMENT "Patching NIDs for ${LIB_NAME}"
)
list(APPEND LIB_TARGETS ${LIB_NAME})
list(APPEND PATCHED_STAMPS ${STAMP_FILE})
endif()
endforeach()
add_custom_target(libs DEPENDS nid_patcher ${LIB_TARGETS})
add_custom_target(libs DEPENDS ${PATCHED_STAMPS})

View File

@ -2,28 +2,28 @@
extern "C" {
using SceAudioOutPortId = std::int32_t;
using SceAudioOutPortId = std::int32_t;
std::int32_t sceAudioOutInit(void) { return 0; }
std::int32_t sceAudioOutInit(void) { return 0; }
SceAudioOutPortId sceAudioOutOpen(std::int32_t userId, std::int32_t type, std::int32_t index, std::uint32_t len, std::uint32_t freq, std::uint32_t param) {
(void)userId; (void)type; (void)index; (void)len; (void)freq; (void)param;
return 0;
}
SceAudioOutPortId sceAudioOutOpen(std::int32_t userId, std::int32_t type, std::int32_t index, std::uint32_t len, std::uint32_t freq, std::uint32_t param) {
(void)userId; (void)type; (void)index; (void)len; (void)freq; (void)param;
return 0;
}
std::int32_t sceAudioOutOutput(SceAudioOutPortId handle, const void* ptr) {
(void)handle; (void)ptr;
return 0;
}
std::int32_t sceAudioOutOutput(SceAudioOutPortId handle, const void* ptr) {
(void)handle; (void)ptr;
return 0;
}
std::int32_t sceAudioOutSetVolume(SceAudioOutPortId handle, std::int32_t flag, std::int32_t* vol) {
(void)handle; (void)flag; (void)vol;
return 0;
}
std::int32_t sceAudioOutSetVolume(SceAudioOutPortId handle, std::int32_t flag, std::int32_t* vol) {
(void)handle; (void)flag; (void)vol;
return 0;
}
std::int32_t sceAudioOutClose(SceAudioOutPortId handle) {
(void)handle;
return 0;
}
std::int32_t sceAudioOutClose(SceAudioOutPortId handle) {
(void)handle;
return 0;
}
}