diff --git a/CMakeLists.txt b/CMakeLists.txt index 73822c8..3263b85 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -168,49 +168,9 @@ endif() target_include_directories(firmware PRIVATE src) target_compile_options(firmware PRIVATE -Wdouble-promotion) -target_sources( - firmware - PRIVATE src/main.cpp - src/hal/avr/cpu.cpp - src/hal/avr/usart.cpp - src/hal/avr/shr16.cpp - src/hal/avr/eeprom.cpp - src/hal/adc.cpp - src/modules/protocol.cpp - src/modules/buttons.cpp - src/modules/debouncer.cpp - src/modules/finda.cpp - src/modules/fsensor.cpp - src/modules/globals.cpp - src/modules/idler.cpp - src/modules/leds.cpp - src/modules/motion.cpp - src/modules/permanent_storage.cpp - src/modules/selector.cpp - src/modules/timebase.cpp - src/modules/user_input.cpp - src/logic/command_base.cpp - src/logic/cut_filament.cpp - src/logic/eject_filament.cpp - src/logic/feed_to_bondtech.cpp - src/logic/feed_to_finda.cpp - src/logic/load_filament.cpp - src/logic/no_command.cpp - src/logic/tool_change.cpp - src/logic/unload_filament.cpp - src/logic/unload_to_finda.cpp - ) -set_property( - SOURCE src/version.c - APPEND - PROPERTY COMPILE_DEFINITIONS - FW_BUILD_NUMBER=${BUILD_NUMBER} - FW_VERSION_FULL=${PROJECT_VERSION_FULL} - FW_VERSION=${PROJECT_VERSION} - FW_VERSION_SUFFIX=${PROJECT_VERSION_SUFFIX} - FW_VERSION_SUFFIX_SHORT=${PROJECT_VERSION_SUFFIX_SHORT} - ) +add_subdirectory(src) + if(NOT CMAKE_CROSSCOMPILING) enable_testing() add_subdirectory(tests) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..9fb39e8 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,19 @@ +target_sources( + firmware + PRIVATE main.cpp +) + +set_property( + SOURCE src/version.c + APPEND + PROPERTY COMPILE_DEFINITIONS + FW_BUILD_NUMBER=${BUILD_NUMBER} + FW_VERSION_FULL=${PROJECT_VERSION_FULL} + FW_VERSION=${PROJECT_VERSION} + FW_VERSION_SUFFIX=${PROJECT_VERSION_SUFFIX} + FW_VERSION_SUFFIX_SHORT=${PROJECT_VERSION_SUFFIX_SHORT} +) + +add_subdirectory(hal) +add_subdirectory(logic) +add_subdirectory(modules) diff --git a/src/hal/CMakeLists.txt b/src/hal/CMakeLists.txt new file mode 100644 index 0000000..c417e72 --- /dev/null +++ b/src/hal/CMakeLists.txt @@ -0,0 +1,9 @@ +target_sources( + firmware + PRIVATE + avr/cpu.cpp + avr/usart.cpp + avr/shr16.cpp + avr/eeprom.cpp + adc.cpp +) diff --git a/src/logic/CMakeLists.txt b/src/logic/CMakeLists.txt new file mode 100644 index 0000000..ec8f87b --- /dev/null +++ b/src/logic/CMakeLists.txt @@ -0,0 +1,14 @@ +target_sources( + firmware + PRIVATE + command_base.cpp + cut_filament.cpp + eject_filament.cpp + feed_to_bondtech.cpp + feed_to_finda.cpp + load_filament.cpp + no_command.cpp + tool_change.cpp + unload_filament.cpp + unload_to_finda.cpp +) diff --git a/src/modules/CMakeLists.txt b/src/modules/CMakeLists.txt new file mode 100644 index 0000000..8e3f3e1 --- /dev/null +++ b/src/modules/CMakeLists.txt @@ -0,0 +1,17 @@ +target_sources( + firmware + PRIVATE + protocol.cpp + buttons.cpp + debouncer.cpp + finda.cpp + fsensor.cpp + globals.cpp + idler.cpp + leds.cpp + motion.cpp + permanent_storage.cpp + selector.cpp + timebase.cpp + user_input.cpp +)