summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2017-05-14 16:03:46 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2017-05-16 23:24:34 +0200
commitb502c816326908d04252ea3346f07811e8bdd42c (patch)
tree58fec07463d53c6b99632f2c09eec3e618277e62 /CMakeLists.txt
parent037d84bed61fb93a5292d0194bbf734fd2927378 (diff)
downloadradio-controller-b502c816326908d04252ea3346f07811e8bdd42c.tar.gz
radio-controller-b502c816326908d04252ea3346f07811e8bdd42c.tar.bz2
radio-controller-b502c816326908d04252ea3346f07811e8bdd42c.tar.xz
radio-controller-b502c816326908d04252ea3346f07811e8bdd42c.zip
wip, experimenting with kconfig in mcucpp.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt50
1 files changed, 8 insertions, 42 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 002e4c4..bf1aecd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,16 +7,7 @@ project(radio-controller C CXX ASM)
set(CMAKE_CXX_STANDARD 14)
-include(config.cmake)
-
-add_custom_target(kconfig DEPENDS config.cmake)
-
-add_custom_command(OUTPUT .config config.cmake
- COMMAND /home/trygvis/opt/kconfig/bin/kconfig-mconf Kconfig
- COMMAND cat .config | thirdparty/mcucpp/config-to-cmake > config.cmake
- COMMAND echo Generated config.cmake
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- USES_TERMINAL)
+include(thirdparty/mcucpp/cmake/mcucpp.cmake)
add_executable(firmware src/radio-controller.cpp include/radio-controller.h)
target_compile_definitions(firmware PUBLIC MCUCMAKE_USING_STM32CUBEMX=1)
@@ -24,48 +15,24 @@ target_include_directories(firmware PUBLIC include)
target_link_libraries(firmware PUBLIC gcc)
mcu_add_executable(TARGET firmware)
+mcucpp_configure_target(TARGET firmware)
+
# mcu.cmake sources
target_include_directories(firmware PUBLIC
thirdparty/mcu.cmake/stm32f103/include
-)
+ )
target_sources(firmware PUBLIC
-# thirdparty/mcu.cmake/stm32f103/src/default_handler.cpp
+ # thirdparty/mcu.cmake/stm32f103/src/default_handler.cpp
thirdparty/mcu.cmake/stm32f103/src/init_high.cpp
-# thirdparty/mcu.cmake/stm32f103/src/init_low.s
+ # thirdparty/mcu.cmake/stm32f103/src/init_low.s
thirdparty/mcu.cmake/stm32f103/src/init_stm32f103_ld.cpp
thirdparty/mcu.cmake/stm32f103/src/init_low_halt.s
thirdparty/mcu.cmake/stm32f103/src/init_low_Reset_Handler.s
thirdparty/mcu.cmake/stm32f103/src/breakpoint.s
$ENV{HOME}/opt/STM32CubeMX/Repository/STM32Cube_FW_F1_V1.4.0/Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/gcc/startup_stm32f103xb.s
-)
+ )
-# mcucpp sources
-target_include_directories(firmware PUBLIC
- thirdparty/mcucpp/include
- thirdparty/mcucpp/thirdparty/tinyprintf
-)
-target_sources(firmware PUBLIC
- thirdparty/mcucpp/include/mcu/arm/semihosting.h
- thirdparty/mcucpp/src/arm/semihosting.cpp
- thirdparty/mcucpp/src/arm/semihosting-puts.cpp
- thirdparty/mcucpp/src/arm/semihosting-putchar.cpp
-
- thirdparty/mcucpp/src/generic/tinyprintf-printf.cpp
- thirdparty/mcucpp/src/generic/tinyprintf-snprintf.cpp
-
- thirdparty/mcucpp/include/mcu/nonew/function.h
- thirdparty/mcucpp/include/mcu/nonew/queue.h
-
- thirdparty/mcucpp/include/mcu/io/output_stream.h
- thirdparty/mcucpp/src/io/output_stream.cpp
-
- thirdparty/mcucpp/include/mcu/stm32cubemx/debug.h
-
- thirdparty/mcucpp/include/mcu/stm32cubemx/uart.h
- thirdparty/mcucpp/src/stm32cubemx/uart.cpp
-
- thirdparty/mcucpp/thirdparty/tinyprintf/tinyprintf.c
-)
+mcucpp_process(TARGET firmware)
# stm32cubemx sources
mcu_include_directories_from_sources(
@@ -74,7 +41,6 @@ mcu_include_directories_from_sources(
EXCLUDE _template.c
EXCLUDE Examples
EXCLUDE DSP_Lib
-# EXCLUDE stm32f1xx_it.c
SOURCES_VAR STM32_CUBEMX_SOURCES
HEADERS_VAR STM32_CUBEMX_HEADERS
INCLUDES_VAR STM32_CUBEMX_INCLUDES