-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
178 lines (155 loc) · 5.17 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
cmake_minimum_required(VERSION 2.8)
# VitaSDK defines
if( NOT DEFINED CMAKE_TOOLCHAIN_FILE )
if( DEFINED ENV{VITASDK} )
set(CMAKE_TOOLCHAIN_FILE "$ENV{VITASDK}/share/vita.toolchain.cmake" CACHE PATH "toolchain file")
else()
message(FATAL_ERROR "Please define VITASDK to point to your SDK path!")
endif()
endif()
# Project start
project(PSVident)
include("${VITASDK}/share/vita.cmake" REQUIRED)
set(VITA_APP_NAME "PSVident")
set(VITA_TITLEID "PSVIDENT0")
set(VITA_VERSION "01.00")
# Flags and includes
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -Wno-format-truncation -fno-lto")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c+ + 11 -fno-rtti -fno-exceptions")
set(VITA_MKSFOEX_FLAGS "${VITA_MKSFOEX_FLAGS} -d PARENTAL_LEVEL=1")
set(VITA_MAKE_FSELF_FLAGS "${VITA_MAKE_FSELF_FLAGS} -a 0x2808000000000000")
include_directories(
)
link_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_BINARY_DIR}/kernel_stubs
${CMAKE_BINARY_DIR}/user_stubs
${CMAKE_BINARY_DIR}/nids/add_nids
)
add_executable(${PROJECT_NAME}
src/main.c
src/utils/aes.c
src/utils/utils.c
src/utils/registry.c
src/print/scr_printf.c
src/print/font.c
src/psvident.c
)
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_kernel.skprx)
target_link_libraries(${PROJECT_NAME}
SceSysmodule_stub
SceVshBridge_stub
SceCtrl_stub
SceDisplay_stub
SceNet_stub
SceNetCtl_stub
SceRtc_stub
SceApputil_stub
SceSysmem_stub
ScePower_stub
SceRegistryMgr_stub
SceSysrootForKernel_stub
SceSysrootForDriver_stub
SceSblSsMgr_stub
SceNotificationUtil_stub
SceMotionDev_stub
taihen_stub
psvident_user_stub_weak
)
vita_create_self(${PROJECT_NAME}.self ${PROJECT_NAME} UNSAFE)
### ### ### ### ### ### ### ### ###
add_executable(${PROJECT_NAME}_kernel
src/plugin/kernel.c
)
set_target_properties(${PROJECT_NAME}_kernel
PROPERTIES LINK_FLAGS
-nostdlib
)
target_link_libraries(${PROJECT_NAME}_kernel
SceAppMgrForDriver_stub
SceCtrlForDriver_stub
SceCpuForDriver_stub
SceIofilemgrForDriver_stub
SceKernelUtilsForDriver_stub
SceModulemgrForDriver_stub
SceSblSsMgrForDriver_stub
SceSysclibForDriver_stub
SceSysmemForDriver_stub
SceSysrootForKernel_stub
SceThreadmgrForDriver_stub
SceSysrootForDriver_stub
SceSysconForDriver_stub
ScePervasiveForDriver_stub
SceKernelSuspendForDriver_stub
taihenForKernel_stub
taihenModuleUtils_stub
)
vita_create_self(${PROJECT_NAME}_kernel.skprx ${PROJECT_NAME}_kernel
CONFIG ${CMAKE_SOURCE_DIR}/src/plugin/kernel_exports.yml
UNSAFE
)
vita_create_stubs(kernel_stubs ${PROJECT_NAME}_kernel ${CMAKE_SOURCE_DIR}/src/plugin/kernel_exports.yml KERNEL)
### ### ### ### ### ### ### ### ### ###
add_executable(${PROJECT_NAME}_user
src/plugin/user.c
)
set_target_properties(${PROJECT_NAME}_user
PROPERTIES LINK_FLAGS
-nostartfiles
)
target_link_libraries(${PROJECT_NAME}_user
SceAppMgr_stub
SceShellSvc_stub
ScePower_stub
taihen_stub
psvident_kernel_stub
)
vita_create_self(${PROJECT_NAME}_user.suprx ${PROJECT_NAME}_user
CONFIG ${CMAKE_SOURCE_DIR}/src/plugin/user_exports.yml
UNSAFE
)
vita_create_stubs(user_stubs ${PROJECT_NAME}_user ${CMAKE_SOURCE_DIR}/src/plugin/user_exports.yml)
### ### ### ### ### ### ### ### ### ###
add_dependencies(${PROJECT_NAME}_user kernel_stubs)
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_kernel.skprx)
add_dependencies(${PROJECT_NAME} user_stubs)
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_user.suprx)
vita_create_vpk(${PROJECT_NAME}.vpk ${VITA_TITLEID} ${PROJECT_NAME}.self
VERSION ${VITA_VERSION}
NAME ${VITA_APP_NAME}
FILE ${PROJECT_NAME}_kernel.skprx ${PROJECT_NAME}_kernel.skprx
FILE ${PROJECT_NAME}_user.suprx ${PROJECT_NAME}_user.suprx
FILE livearea/icon0.png sce_sys/icon0.png
FILE livearea/bg0.png sce_sys/livearea/contents/bg0.png
FILE livearea/startup.png sce_sys/livearea/contents/startup.png
FILE livearea/template.xml sce_sys/livearea/contents/template.xml
)
set(VITA_IP "192.168.178.28")
add_custom_target(vpksend
COMMAND curl -T ${PROJECT_NAME}.vpk ftp://${VITA_IP}:1337/ux0:/VPK/
DEPENDS ${PROJECT_NAME}.vpk
)
add_custom_target(send
COMMAND curl -T ${PROJECT_NAME}.self ftp://${VITA_IP}:1337/ux0:/app/${VITA_TITLEID}/eboot.bin #$(PSVITAIP)
DEPENDS ${PROJECT_NAME}.self
)
add_custom_target(skprxsend
COMMAND curl -T ${PROJECT_NAME}_kernel.skprx ftp://${VITA_IP}:1337/ux0:/app/${VITA_TITLEID}/${PROJECT_NAME}_kernel.skprx
DEPENDS ${PROJECT_NAME}_kernel.skprx
)
add_custom_target(suprxsend
COMMAND curl -T ${PROJECT_NAME}_user.suprx ftp://${VITA_IP}:1337/ux0:/app/${VITA_TITLEID}/${PROJECT_NAME}_user.suprx
DEPENDS ${PROJECT_NAME}_user.suprx
)
add_custom_target(sendall
COMMAND curl -T ${PROJECT_NAME}.self ftp://${VITA_IP}:1337/ux0:/app/${VITA_TITLEID}/eboot.bin #$(PSVITAIP)
DEPENDS ${PROJECT_NAME}.self
COMMAND curl -T ${PROJECT_NAME}_user.suprx ftp://${VITA_IP}:1337/ux0:/app/${VITA_TITLEID}/${PROJECT_NAME}_user.suprx
DEPENDS ${PROJECT_NAME}_user.suprx
COMMAND curl -T ${PROJECT_NAME}_kernel.skprx ftp://${VITA_IP}:1337/ux0:/app/${VITA_TITLEID}/${PROJECT_NAME}_kernel.skprx
DEPENDS ${PROJECT_NAME}_kernel.skprx
)
add_custom_target(copy
COMMAND cp ${PROJECT_NAME}.self G:/app/${VITA_TITLEID}/eboot.bin
DEPENDS ${PROJECT_NAME}.self
)