mirror of
https://github.com/halleysfifthinc/AVCLAN-Mockingboard.git
synced 2026-08-07 01:13:18 +00:00
Minor reorg of cmakelists
This commit is contained in:
+22
-25
@@ -3,7 +3,7 @@ include(CMakeDependentOption)
|
|||||||
|
|
||||||
set(WITH_MCU OFF) # Disable target name modification setting from toolchain
|
set(WITH_MCU OFF) # Disable target name modification setting from toolchain
|
||||||
set(AVR_MCU "attiny3216")
|
set(AVR_MCU "attiny3216")
|
||||||
set(AVR_UPLOADTOOL_PORT /dev/ttyUSB1)
|
set(AVR_UPLOADTOOL_PORT /dev/ttyUSB0)
|
||||||
set(AVR_PROGRAMMER serialupdi)
|
set(AVR_PROGRAMMER serialupdi)
|
||||||
set(AVR_UPLOADTOOL_BAUDRATE 230400)
|
set(AVR_UPLOADTOOL_BAUDRATE 230400)
|
||||||
|
|
||||||
@@ -22,6 +22,9 @@ set(FREQSEL 16000000L)
|
|||||||
set(AVR_UPLOADTOOL_BASE_OPTIONS ${AVR_UPLOADTOOL_BASE_OPTIONS} -U osccfg:w:0x1:m)
|
set(AVR_UPLOADTOOL_BASE_OPTIONS ${AVR_UPLOADTOOL_BASE_OPTIONS} -U osccfg:w:0x1:m)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Set startup time to 8 ms (0x4)
|
||||||
|
set(AVR_UPLOADTOOL_BASE_OPTIONS ${AVR_UPLOADTOOL_BASE_OPTIONS} -U syscfg1:w:0x4:m)
|
||||||
|
|
||||||
option(CLK_PRESCALE "Enable the main clock prescaler")
|
option(CLK_PRESCALE "Enable the main clock prescaler")
|
||||||
cmake_dependent_option(CLK_PRESCALE_DIV "Prescaler divisor" CLKCTRL_PDIV_2X_gc STRING "CLK_PRESCALE")
|
cmake_dependent_option(CLK_PRESCALE_DIV "Prescaler divisor" CLKCTRL_PDIV_2X_gc STRING "CLK_PRESCALE")
|
||||||
if(DEFINED CACHE{CLK_PRESCALE_DIV})
|
if(DEFINED CACHE{CLK_PRESCALE_DIV})
|
||||||
@@ -55,12 +58,25 @@ set_property(CACHE USART_RXMODE PROPERTY STRINGS
|
|||||||
USART_RXMODE_NORMAL_gc
|
USART_RXMODE_NORMAL_gc
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(CMAKE_C_STANDARD 23)
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS_RELEASE "-Wall -Wswitch-enum -Werror -Os")
|
||||||
|
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wswitch-enum -Werror -O2 -save-temps -g -gdwarf-3 -gstrict-dwarf")
|
||||||
|
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wswitch-enum -Werror -fanalyzer -O0 -save-temps -g -gdwarf-3 -gstrict-dwarf")
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "8.3")
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "13")
|
||||||
message(FATAL_ERROR "Insufficient AVR-GCC version; Support for ATtiny3216 was added in GCC v8")
|
message(FATAL_ERROR "This project requires at least GCC v13")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_avr_executable(mockingboard
|
||||||
|
src/sniffer.c
|
||||||
|
src/com232.c
|
||||||
|
src/queue.c
|
||||||
|
src/avclandrv.c)
|
||||||
|
|
||||||
# Handle libc versioning
|
# Handle libc versioning
|
||||||
try_compile(LIBC_VERSION_TEST
|
try_compile(LIBC_VERSION_TEST
|
||||||
SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/cmake/libc-version-test.cpp"
|
SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/cmake/libc-version-test.cpp"
|
||||||
@@ -86,33 +102,14 @@ if(NOT LIBC_VERSION_TEST)
|
|||||||
if(NOT LIBC_VERSION_TEST)
|
if(NOT LIBC_VERSION_TEST)
|
||||||
message(FATAL_ERROR "Insufficient AVR-LIBC/Microchip pack for chosen MCU '${AVR_MCU}'")
|
message(FATAL_ERROR "Insufficient AVR-LIBC/Microchip pack for chosen MCU '${AVR_MCU}'")
|
||||||
else()
|
else()
|
||||||
include_directories(SYSTEM "${attiny_atpack_SOURCE_DIR}/include")
|
target_include_directories(mockingboard SYSTEM
|
||||||
add_compile_options(
|
PUBLIC "${attiny_atpack_SOURCE_DIR}/include")
|
||||||
|
target_link_options(mockingboard PUBLIC
|
||||||
-B "${attiny_atpack_SOURCE_DIR}/gcc/dev/${AVR_MCU}"
|
-B "${attiny_atpack_SOURCE_DIR}/gcc/dev/${AVR_MCU}"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
set(CMAKE_C_STANDARD 17)
|
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
||||||
|
|
||||||
set(CMAKE_C_FLAGS_RELEASE "-Wall -Wswitch-enum -Werror -Os")
|
|
||||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wswitch-enum -Werror -O2 -save-temps -g -gdwarf-3 -gstrict-dwarf")
|
|
||||||
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wswitch-enum -Werror -O0 -save-temps -g -gdwarf-3 -gstrict-dwarf")
|
|
||||||
|
|
||||||
# Set startup time to 8 ms (0x4)
|
|
||||||
set(AVR_UPLOADTOOL_BASE_OPTIONS ${AVR_UPLOADTOOL_BASE_OPTIONS} -U syscfg1:w:0x4:m)
|
|
||||||
|
|
||||||
add_avr_executable(mockingboard
|
|
||||||
src/sniffer.c
|
|
||||||
src/com232.c
|
|
||||||
src/queue.c
|
|
||||||
src/avclandrv.c)
|
|
||||||
|
|
||||||
target_link_options(mockingboard PUBLIC
|
|
||||||
-B "${attiny_atpack_SOURCE_DIR}/gcc/dev/${AVR_MCU}"
|
|
||||||
)
|
|
||||||
target_compile_definitions(mockingboard PRIVATE
|
target_compile_definitions(mockingboard PRIVATE
|
||||||
FREQSEL=${FREQSEL}
|
FREQSEL=${FREQSEL}
|
||||||
CLK_PRESCALE=$<IF:$<BOOL:${CLK_PRESCALE}>,0x01,0x00>
|
CLK_PRESCALE=$<IF:$<BOOL:${CLK_PRESCALE}>,0x01,0x00>
|
||||||
|
|||||||
Reference in New Issue
Block a user