rorand/CMakeLists.txt

46 lines
1.5 KiB
CMake

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
${CMAKE_CURRENT_SOURCE_DIR}/src/ascon-xofa/hash.c
${CMAKE_CURRENT_SOURCE_DIR}/src/ascon-xofa/permutations.c
${CMAKE_CURRENT_SOURCE_DIR}/src/util.c
${CMAKE_CURRENT_SOURCE_DIR}/src/rorand.c
${CMAKE_CURRENT_SOURCE_DIR}/src/rourand.c
${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
)
target_include_directories(${PROJECT} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src/ascon-xofa/
${CMAKE_CURRENT_SOURCE_DIR}/src/
)
target_link_libraries(${PROJECT}
pico_stdlib pico_unique_id hardware_pio hardware_dma hardware_clocks
hardware_resets hardware_sync hardware_pwm cmsis_core pico_multicore
tinyusb_device_unmarked pico_usb_reset_interface_headers pico_unique_id
)
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")