Skip to content

Commit 63cfa4b

Browse files
authored
Merge pull request #98 from d3m3vilurr/use-vitasdk-cmake
Use vitasdk cmake rules
2 parents 3df974e + 51cf01c commit 63cfa4b

File tree

2 files changed

+30
-36
lines changed

2 files changed

+30
-36
lines changed

CMakeLists.txt

+29-35
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
11
cmake_minimum_required(VERSION 2.8)
22

3-
set(CMAKE_SYSTEM_NAME "Generic")
4-
set(CMAKE_C_COMPILER "arm-vita-eabi-gcc")
3+
# VitaSDK defines
4+
if( NOT DEFINED CMAKE_TOOLCHAIN_FILE )
5+
if( DEFINED ENV{VITASDK} )
6+
set(CMAKE_TOOLCHAIN_FILE "$ENV{VITASDK}/share/vita.toolchain.cmake" CACHE PATH "toolchain file")
7+
else()
8+
message(FATAL_ERROR "Please define VITASDK to point to your SDK path!")
9+
endif()
10+
endif()
11+
12+
include(${CMAKE_TOOLCHAIN_FILE})
13+
include("${VITASDK}/share/vita.cmake" REQUIRED)
514

615
project(savemgr)
716
set(TITLE_ID "SAVEMGR00")
817
set(TITLE "Save Manager")
918
set(VERSION "2.0.0")
1019

20+
add_subdirectory(extern/vitashell/modules/kernel)
21+
add_subdirectory(extern/vitashell/modules/user)
22+
1123
execute_process(COMMAND
1224
python -c "print ('%02d.%02d' % tuple(map(lambda x: int(x), '${VERSION}'.split('.')[:2])))"
1325
OUTPUT_VARIABLE APP_VER
@@ -33,22 +45,6 @@ add_definitions(-DVERSION=\"${VERSION}\")
3345

3446
set(CMAKE_C_FLAGS "-Wl,-q -Wall -O3 -std=c99")
3547

36-
add_custom_target(vitashell_kernel_module
37-
COMMAND ${CMAKE_COMMAND} .
38-
COMMAND make
39-
COMMAND cp kernel.skprx ${CMAKE_SOURCE_DIR}/sce_sys/kernel.skprx
40-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/extern/vitashell/modules/kernel)
41-
42-
add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/extern/vitashell/modules/user/vitashell_user_stubs/libVitaShellUser_stub_weak.a
43-
DEPENDS vitashell_kernel_module
44-
COMMAND ${CMAKE_COMMAND} .
45-
COMMAND make
46-
COMMAND cp user.suprx ${CMAKE_SOURCE_DIR}/sce_sys/user.suprx
47-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/extern/vitashell/modules/user)
48-
49-
add_custom_target(vitashell_user_lib ALL DEPENDS ${CMAKE_SOURCE_DIR}/extern/vitashell/modules/user/vitashell_user_stubs/libVitaShellUser_stub_weak.a)
50-
add_custom_target(vitashell_user_module ALL DEPENDS vitashell_user_lib)
51-
5248
include_directories(
5349
extern/sqlite3
5450
extern/inih
@@ -92,27 +88,25 @@ target_link_libraries(${PROJECT_NAME}.elf
9288
-lSceShellSvc_stub
9389
-lSceRegistryMgr_stub
9490
-ltaihen_stub
95-
${CMAKE_SOURCE_DIR}/extern/vitashell/modules/user/vitashell_user_stubs/libVitaShellUser_stub_weak.a
91+
${CMAKE_CURRENT_BINARY_DIR}/extern/vitashell/modules/user/libVitaShellUser_stub_weak.a
9692

9793
-ldebugnet
9894
-lSceNetCtl_stub
9995
-lSceNet_stub
10096
)
10197

102-
add_dependencies(${PROJECT_NAME}.elf vitashell_kernel_module vitashell_user_module)
103-
104-
add_custom_target(${PROJECT_NAME}.vpk ALL
105-
COMMAND vita-elf-create ${PROJECT_NAME}.elf ${PROJECT_NAME}.velf
106-
COMMAND vita-make-fself -c ${PROJECT_NAME}.velf eboot.bin
107-
COMMAND vita-mksfoex -s TITLE_ID=${TITLE_ID} -s APP_VER=${APP_VER} "${TITLE}" param.sfo
108-
COMMAND vita-pack-vpk -s param.sfo -b eboot.bin
109-
--add ../sce_sys/icon0.png=sce_sys/icon0.png
110-
--add ../sce_sys/kernel.skprx=sce_sys/kernel.skprx
111-
--add ../sce_sys/user.suprx=sce_sys/user.suprx
112-
--add ../sce_sys/livearea/contents/bg.png=sce_sys/livearea/contents/bg.png
113-
--add ../sce_sys/livearea/contents/startup.png=sce_sys/livearea/contents/startup.png
114-
--add ../sce_sys/livearea/contents/template.xml=sce_sys/livearea/contents/template.xml
115-
${PROJECT_NAME}.vpk
98+
add_dependencies(${PROJECT_NAME}.elf libVitaShellUser_stub_weak.a)
99+
add_dependencies(${PROJECT_NAME}.elf kernel.skprx)
100+
add_dependencies(${PROJECT_NAME}.elf user.suprx)
101+
102+
vita_create_self(eboot.bin ${PROJECT_NAME}.elf UNSAFE)
103+
vita_create_vpk(${PROJECT_NAME}.vpk ${TITLE_ID} eboot.bin
104+
VERSION ${APP_VER}
105+
NAME ${TITLE}
106+
FILE ${CMAKE_SOURCE_DIR}/sce_sys/icon0.png sce_sys/icon0.png
107+
${CMAKE_CURRENT_BINARY_DIR}/extern/vitashell/modules/kernel/kernel.skprx sce_sys/kernel.skprx
108+
${CMAKE_CURRENT_BINARY_DIR}/extern/vitashell/modules/user/user.suprx sce_sys/user.suprx
109+
${CMAKE_SOURCE_DIR}/sce_sys/livearea/contents/bg.png sce_sys/livearea/contents/bg.png
110+
${CMAKE_SOURCE_DIR}/sce_sys/livearea/contents/startup.png sce_sys/livearea/contents/startup.png
111+
${CMAKE_SOURCE_DIR}/sce_sys/livearea/contents/template.xml sce_sys/livearea/contents/template.xml
116112
)
117-
118-
add_dependencies(${PROJECT_NAME}.vpk ${PROJECT_NAME}.elf)

0 commit comments

Comments
 (0)