-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt.template
More file actions
30 lines (19 loc) · 1.02 KB
/
Copy pathCMakeLists.txt.template
File metadata and controls
30 lines (19 loc) · 1.02 KB
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
cmake_minimum_required(VERSION 3.0)
SET(CMAKE_EXPORT_COMPILE_COMMANDS ON)
project(cecie)
SET(TOOLCHAIN $ENV{OO_PS4_TOOLCHAIN})
SET(CMAKE_C_COMPILER /usr/bin/clang)
SET(CMAKE_CXX_COMPILER /usr/bin/clang++)
add_compile_options(--target=x86_64-pc-freebsd12-elf -fPIC -funwind-tables)
SET(EXEC_NAME "${CMAKE_PROJECT_NAME}.elf")
SET(EXEC_DIR "${CMAKE_SOURCE_DIR}${CMAKE_FILES_DIRECTORY}/${EXEC_NAME}.dir/")
SET(LIBS "-lc -lkernel -lc++ -lSceUserService -lSceSaveData")
include_directories(SYSTEM ${TOOLCHAIN}/include ${TOOLCHAIN}/include/c++/v1)
include_directories(include)
set(SOURCES <py:dofile('get_sources'):py>)
add_executable(${EXEC_NAME} ${SOURCES})
SET(OBJ_FILES "<py:dofile("get_objects"):py>")
SET(LD_INIT_FLAGS "${OBJ_FILES} -o ${EXEC_NAME}")
SET(LD_FLAGS "-v -m elf_x86_64 -pie --script ${TOOLCHAIN}/link.x --eh-frame-hdr -L${TOOLCHAIN}/lib ${LIBS} ${TOOLCHAIN}/lib/crt1.o")
SET(CMAKE_C_LINK_EXECUTABLE "/usr/bin/ld.lld ${LD_INIT_FLAGS} ${LD_FLAGS}")
SET(CMAKE_CXX_LINK_EXECUTABLE "/usr/bin/ld.lld ${LD_INIT_FLAGS} ${LD_FLAGS}")