-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
56 lines (41 loc) · 1.77 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
cmake_minimum_required(VERSION 3.10)
project(TestUnity)
include(CTest)
set(PROGRAM Test)
add_executable(${PROGRAM}
test/AllTests.c
test/LedDriver/ledTests.c
test/CircularBuffer/CircularBuffer.c
test/CircularBuffer/CircularBufferRunner.c
test/LedDriver/ledTestsRunner.c
./Unity/extras/fixture/src/unity_fixture.c
./Unity/src/unity.c)
#add_executable(${PROGRAM} AllTests.c ledTests.c ledTestsRunner.c ./Unity/extras/fixture/src/unity_fixture.c ./Unity/src/unity.c)
#add_executable(Test AllTests.c ledTestsRunner.c ledTests.c)
include_directories(./Unity/extras/fixture/src)
include_directories(./Unity/extras/memory/src)
include_directories(./Unity/src)
#include_directories(./Modules/LedDriver/include)
add_subdirectory(Modules/LedDriver)
add_subdirectory(Modules/CircularBuffer)
target_link_libraries(${PROGRAM} PUBLIC LedDriver)
target_link_libraries(${PROGRAM} PUBLIC CircularBuffer)
target_include_directories(${PROGRAM} PUBLIC
"${PROJECT_SOURCE_DIR}/Modules/LedDriver/include"
)
add_test(NAME TestUnity COMMAND ./Test -v)
##############################################################
#SUPPORT for toolchain
##############################################################
# GENERATION of HEX file
if(GENERATE_HEX_FILE)
add_custom_command(TARGET ${PROGRAM}
POST_BUILD
COMMAND ${CMAKE_OBJCOPY} -j .text -j .data -O ihex ${PROGRAM} ${PROGRAM}.hex)
endif()
# Add feature to flash
if(ENABLE_FLASH)
add_custom_target(flash
COMMAND ${CMAKE_FLASH} -v -c ${PROGRAMMER} -p atmega328p -P ${PORT} -b 115200 -U flash:w:${PROGRAM}.hex:i
)
endif()