2023-08-23 03:02:35 +00:00
set ( PROJECT "rorand" )
option ( PICO_NO_FLASH "Disable writing the compiled program to flash, and only load it to RAM. Useful for testing, but not much else (OFF by default)." OFF )
option ( PICO_COPY_TO_RAM "Run all code in RAM, while the program is also stored on flash. On bootup, everything will be copied to RAM (OFF by default)." OFF )
cmake_minimum_required ( VERSION 3.11 )
include ( ${ CMAKE_CURRENT_SOURCE_DIR } /pico_sdk_import.cmake )
project ( ${ PROJECT } )
pico_sdk_init ( )
add_executable ( ${ PROJECT } )
# use usb output
pico_enable_stdio_uart ( ${ PROJECT } 0 )
pico_enable_stdio_usb ( ${ PROJECT } 1 )
target_sources ( ${ PROJECT } PUBLIC
2023-08-23 20:40:23 +00:00
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s r c / a s c o n - x o f a / h a s h . c
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s r c / a s c o n - x o f a / p e r m u t a t i o n s . c
2023-08-23 03:02:35 +00:00
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s r c / u t i l . c
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s r c / r o r a n d . c
2023-08-23 20:40:23 +00:00
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s r c / r o u r a n d . c
2023-08-23 03:02:35 +00:00
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s r c / m a i n . c
)
target_include_directories ( ${ PROJECT } PUBLIC
2023-08-23 20:40:23 +00:00
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s r c / a s c o n - x o f a /
2023-08-23 03:02:35 +00:00
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s r c /
)
target_link_libraries ( ${ PROJECT }
p i c o _ s t d l i b p i c o _ u n i q u e _ i d h a r d w a r e _ p i o h a r d w a r e _ d m a h a r d w a r e _ c l o c k s
h a r d w a r e _ r e s e t s h a r d w a r e _ s y n c h a r d w a r e _ p w m c m s i s _ c o r e p i c o _ m u l t i c o r e
t i n y u s b _ d e v i c e _ u n m a r k e d p i c o _ u s b _ r e s e t _ i n t e r f a c e _ h e a d e r s p i c o _ u n i q u e _ i d
)
pico_add_extra_outputs ( ${ PROJECT } )
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror=implicit-function-declaration -Werror=return-type -Werror=aggressive-loop-optimizations" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra" )
set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--cref" )