forked from EXL/P2kElfs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
67 lines (60 loc) · 2.44 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
########################################################################################################################
# CMake build script for Motorola P2K ELFs: 02-Oct-2023
#
cmake_minimum_required(VERSION 3.16)
if(NOT ELFPACK)
set(ELFPACK "EP1")
endif()
if(NOT ARM_MODE)
set(ARM_MODE "Thumb")
endif()
if(ELFPACK STREQUAL "EP1") # Motorola P2K, ARM/Thumb, ElfPack v1.x, ADS1.2 [Build 848] on Windows and Linux.
if (WIN32)
set(CMAKE_TOOLCHAIN_FILE "C:/ARM/cmake/P2K_EP1_Toolchain.cmake")
else()
set(CMAKE_TOOLCHAIN_FILE "/opt/arm/cmake/P2K_EP1_Toolchain.cmake")
endif()
elseif(ELFPACK STREQUAL "EP2") # ElfPack v2.x, ARM/Thumb, devkitARM release 26 (GCC 4.4.0) on Windows.
set(CMAKE_TOOLCHAIN_FILE "C:/devkitARM/cmake/P2K_EP2_Toolchain.cmake")
elseif(ELFPACK STREQUAL "EM1") # ElfPack v1.x, M*CORE, mcore-elf-gcc (GCC) 3.4.6 on Windows.
set(CMAKE_TOOLCHAIN_FILE "C:/MCORE_EM1/cmake/P2K_EM1_Toolchain.cmake")
elseif(ELFPACK STREQUAL "EM2") # ElfPack v2.x, M*CORE, mcore-elf-gcc (GCC) 3.4.6 on Windows.
set(CMAKE_TOOLCHAIN_FILE "C:/MCORE_EM2/cmake/P2K_EM2_Toolchain.cmake")
endif()
########################################################################################################################
# Project section: Yeti3D
#
project(Yeti3D LANGUAGES C VERSION "1.0.0")
include_directories(${PROJECT_SOURCE_DIR})
add_definitions("-DROT_90")
add_definitions("-DFPS_30")
#add_definitions("-DFTR_V600")
#add_definitions("-DJAVA_HEAP")
#add_definitions("-DDEBUG")
#add_definitions("-DG_DEFAULT")
#add_definitions("-DFPS_METER")
#add_definitions("-DMEMORY_MANUAL_ALLOCATION")
#add_definitions("-DSEARCH_LONG_RANGE")
set(SOURCE_FILES
draw.c
game.c
yeti.c)
if(TASKS)
list(APPEND SOURCE_FILES main_p2k_task.c)
else()
list(APPEND SOURCE_FILES main_p2k.c)
endif()
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
########################################################################################################################
# Linking and postlinking section
#
if(ELFPACK STREQUAL "EP1")
target_link_libraries(${PROJECT_NAME} "${P2K_DIRECTORY_LIBRARIES}/armlib/armlib.o")
elseif(ELFPACK STREQUAL "EP2")
#target_link_libraries(${PROJECT_NAME} "${P2K_DIRECTORY_LIBRARIES}/libgfx.a")
include("${P2K_EP2_TOOLCHAIN_ROOT}/cmake/PostLink.cmake")
elseif(ELFPACK STREQUAL "EM1")
#target_link_libraries(${PROJECT_NAME} "${P2K_DIRECTORY_LIBRARIES}/libc.a")
elseif(ELFPACK STREQUAL "EM2")
#target_link_libraries(${PROJECT_NAME} "${P2K_DIRECTORY_LIBRARIES}/libc.a")
endif()