-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
47 lines (40 loc) · 1.3 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
cmake_minimum_required(VERSION 3.22)
project(Blinky LANGUAGES C)
# List all files and subdirectories in Libraries and Configurations folders
file(GLOB_RECURSE libraries_headers LIST_DIRECTORIES true Libraries/*.h)
file(GLOB_RECURSE configurations_headers LIST_DIRECTORIES true Configurations/*.h)
# Create a "set" (actually, a list without duplicates) of subdirs by stripping filenames
set(header_dirs "")
foreach(header_path in items ${libraries_headers} ${configurations_headers})
get_filename_component(dir_path ${header_path} DIRECTORY)
set(header_dirs ${header_dirs} ${dir_path})
endforeach()
list(REMOVE_DUPLICATES header_dirs)
# Disable the following predicate to print include directories
# message(STATUS "Including: ${header_dirs}")
add_compile_definitions(__HIGHTEC__)
add_compile_options(
-fmessage-length=0
-fno-common
-fstrict-volatile-bitfields
-fdata-sections
-ffunction-sections
-mcpu=tc39xx
)
add_link_options(
-nocrt0
-Wl,--gc-sections
-mcpu=tc39xx
-T../Lcf_Gnuc_Tricore_Tc.lsl
)
file(GLOB_RECURSE source_dirs *.c)
add_executable(Blinky ${source_dirs})
include_directories(
${header_dirs}
/tricore-build-tools/tricore-elf/include
)
add_custom_command(
TARGET Blinky POST_BUILD
COMMAND tricore-elf-objcopy -O ihex Blinky Blinky.hex
COMMENT "Extracting HEX from ELF..."
)