mirror of
https://github.com/joel16/VitaShell.git
synced 2024-11-26 21:30:45 +00:00
Fix build fault with new [buildtool patch][1] (#562)
- partialy support building with ninja; need to fix `release` and `send` - detection module path using CMAKE_BINARY_DIR; but dirty hack [1]: https://github.com/vitasdk/vita-toolchain/commit/4545e75e6
This commit is contained in:
parent
d5d756eeca
commit
680dd60080
@ -39,14 +39,22 @@ link_directories(
|
|||||||
# Builds
|
# Builds
|
||||||
FUNCTION(ADD_RESOURCES out_var)
|
FUNCTION(ADD_RESOURCES out_var)
|
||||||
SET(result)
|
SET(result)
|
||||||
FOREACH(in_f ${ARGN})
|
FOREACH(ref_f ${ARGN})
|
||||||
SET(out_f "${CMAKE_CURRENT_BINARY_DIR}/${in_f}.o")
|
if (IS_ABSOLUTE "${ref_f}")
|
||||||
|
SET(out_f "${ref_f}.o")
|
||||||
|
STRING(REPLACE "${CMAKE_CURRENT_BINARY_DIR}/" "" in_f "${ref_f}")
|
||||||
|
SET(work_dir "${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
|
else()
|
||||||
|
SET(out_f "${CMAKE_CURRENT_BINARY_DIR}/${ref_f}.o")
|
||||||
|
SET(in_f "${ref_f}")
|
||||||
|
SET(work_dir "${CMAKE_SOURCE_DIR}")
|
||||||
|
endif()
|
||||||
GET_FILENAME_COMPONENT(out_dir ${out_f} DIRECTORY)
|
GET_FILENAME_COMPONENT(out_dir ${out_f} DIRECTORY)
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT ${out_f}
|
ADD_CUSTOM_COMMAND(OUTPUT ${out_f}
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${out_dir}
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${out_dir}
|
||||||
COMMAND ${CMAKE_LINKER} -r -b binary -o ${out_f} ${in_f}
|
COMMAND ${CMAKE_LINKER} -r -b binary -o ${out_f} ${in_f}
|
||||||
DEPENDS ${in_f}
|
DEPENDS ${ref_f}
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
WORKING_DIRECTORY ${work_dir}
|
||||||
COMMENT "Building resource ${out_f}"
|
COMMENT "Building resource ${out_f}"
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
@ -70,10 +78,10 @@ file(GLOB res_files RELATIVE
|
|||||||
# ugly hack
|
# ugly hack
|
||||||
add_resources(vitashell_res
|
add_resources(vitashell_res
|
||||||
${res_files}
|
${res_files}
|
||||||
build/modules/kernel/kernel.skprx
|
${CMAKE_CURRENT_BINARY_DIR}/modules/kernel/kernel.skprx
|
||||||
build/modules/user/user.suprx
|
${CMAKE_CURRENT_BINARY_DIR}/modules/user/user.suprx
|
||||||
build/modules/patch/patch.skprx
|
${CMAKE_CURRENT_BINARY_DIR}/modules/patch/patch.skprx
|
||||||
build/modules/usbdevice/usbdevice.skprx
|
${CMAKE_CURRENT_BINARY_DIR}/modules/usbdevice/usbdevice.skprx
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(VitaShell
|
add_executable(VitaShell
|
||||||
@ -146,7 +154,7 @@ add_dependencies(VitaShell patch.skprx)
|
|||||||
add_dependencies(VitaShell usbdevice.skprx)
|
add_dependencies(VitaShell usbdevice.skprx)
|
||||||
|
|
||||||
target_link_libraries(VitaShell
|
target_link_libraries(VitaShell
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/modules/user/vitashell_user_stubs/libVitaShellUser_stub_weak.a
|
${CMAKE_CURRENT_BINARY_DIR}/modules/user/libVitaShellUser_stub_weak.a
|
||||||
ftpvita
|
ftpvita
|
||||||
vita2d
|
vita2d
|
||||||
vorbisfile
|
vorbisfile
|
||||||
|
32
init.c
32
init.c
@ -82,14 +82,14 @@ INCLUDE_EXTERN_RESOURCE(electron_settings_png);
|
|||||||
|
|
||||||
INCLUDE_EXTERN_RESOURCE(umass_skprx);
|
INCLUDE_EXTERN_RESOURCE(umass_skprx);
|
||||||
|
|
||||||
extern unsigned char _binary_build_modules_kernel_kernel_skprx_start;
|
extern unsigned char _binary_modules_kernel_kernel_skprx_start;
|
||||||
extern unsigned char _binary_build_modules_kernel_kernel_skprx_size;
|
extern unsigned char _binary_modules_kernel_kernel_skprx_size;
|
||||||
extern unsigned char _binary_build_modules_user_user_suprx_start;
|
extern unsigned char _binary_modules_user_user_suprx_start;
|
||||||
extern unsigned char _binary_build_modules_user_user_suprx_size;
|
extern unsigned char _binary_modules_user_user_suprx_size;
|
||||||
extern unsigned char _binary_build_modules_patch_patch_skprx_start;
|
extern unsigned char _binary_modules_patch_patch_skprx_start;
|
||||||
extern unsigned char _binary_build_modules_patch_patch_skprx_size;
|
extern unsigned char _binary_modules_patch_patch_skprx_size;
|
||||||
extern unsigned char _binary_build_modules_usbdevice_usbdevice_skprx_start;
|
extern unsigned char _binary_modules_usbdevice_usbdevice_skprx_start;
|
||||||
extern unsigned char _binary_build_modules_usbdevice_usbdevice_skprx_size;
|
extern unsigned char _binary_modules_usbdevice_usbdevice_skprx_size;
|
||||||
|
|
||||||
#define DEFAULT_FILE(path, name, replace) { path, (void *)&_binary_resources_##name##_start, (int)&_binary_resources_##name##_size, replace }
|
#define DEFAULT_FILE(path, name, replace) { path, (void *)&_binary_resources_##name##_start, (int)&_binary_resources_##name##_size, replace }
|
||||||
|
|
||||||
@ -149,14 +149,14 @@ static DefaultFile default_files[] = {
|
|||||||
|
|
||||||
DEFAULT_FILE("ux0:VitaShell/module/umass.skprx", umass_skprx, 1),
|
DEFAULT_FILE("ux0:VitaShell/module/umass.skprx", umass_skprx, 1),
|
||||||
|
|
||||||
{ "ux0:VitaShell/module/kernel.skprx", (void *)&_binary_build_modules_kernel_kernel_skprx_start,
|
{ "ux0:VitaShell/module/kernel.skprx", (void *)&_binary_modules_kernel_kernel_skprx_start,
|
||||||
(int)&_binary_build_modules_kernel_kernel_skprx_size, 1 },
|
(int)&_binary_modules_kernel_kernel_skprx_size, 1 },
|
||||||
{ "ux0:VitaShell/module/user.suprx", (void *)&_binary_build_modules_user_user_suprx_start,
|
{ "ux0:VitaShell/module/user.suprx", (void *)&_binary_modules_user_user_suprx_start,
|
||||||
(int)&_binary_build_modules_user_user_suprx_size, 1 },
|
(int)&_binary_modules_user_user_suprx_size, 1 },
|
||||||
{ "ux0:VitaShell/module/patch.skprx", (void *)&_binary_build_modules_patch_patch_skprx_start,
|
{ "ux0:VitaShell/module/patch.skprx", (void *)&_binary_modules_patch_patch_skprx_start,
|
||||||
(int)&_binary_build_modules_patch_patch_skprx_size, 1 },
|
(int)&_binary_modules_patch_patch_skprx_size, 1 },
|
||||||
{ "ux0:VitaShell/module/usbdevice.skprx", (void *)&_binary_build_modules_usbdevice_usbdevice_skprx_start,
|
{ "ux0:VitaShell/module/usbdevice.skprx", (void *)&_binary_modules_usbdevice_usbdevice_skprx_start,
|
||||||
(int)&_binary_build_modules_usbdevice_usbdevice_skprx_size, 1 },
|
(int)&_binary_modules_usbdevice_usbdevice_skprx_size, 1 },
|
||||||
};
|
};
|
||||||
|
|
||||||
char vitashell_titleid[12];
|
char vitashell_titleid[12];
|
||||||
|
@ -25,7 +25,7 @@ add_executable(user
|
|||||||
add_dependencies(user vitashell_kernel_stubs)
|
add_dependencies(user vitashell_kernel_stubs)
|
||||||
|
|
||||||
target_link_libraries(user
|
target_link_libraries(user
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/../kernel/vitashell_kernel_stubs/libVitaShellKernel2_stub.a
|
${CMAKE_CURRENT_BINARY_DIR}/../kernel/libVitaShellKernel2_stub.a
|
||||||
SceLibKernel_stub
|
SceLibKernel_stub
|
||||||
SceIofilemgr_stub
|
SceIofilemgr_stub
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user