annotate CMakeLists.txt @ 19:2e14ccd1338a

Set control data after shape data so it is lined up properly.
author Daniel O'Connor <darius@dons.net.au>
date Tue, 25 Feb 2025 14:53:40 +1030
parents 56a79dce90e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
1 cmake_minimum_required(VERSION 3.12)
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
2
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
3 # Change your executable name to something creative!
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
4 set(NAME modulator)
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
5
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
6 include(pico_sdk_import.cmake)
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
7 include(local.cmake)
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
8
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
9 # Gooey boilerplate
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
10 project(${NAME} C CXX ASM)
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
11 set(CMAKE_C_STANDARD 11)
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
12 set(CMAKE_CXX_STANDARD 17)
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
13
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
14 # Initialize the SDK
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
15 pico_sdk_init()
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
16
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
17 add_executable(${NAME}
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
18 modulator.c
5
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
19 q/q.c
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
20 )
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
21
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
22 # Bring the pain
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
23 set_source_files_properties(modulator.c PROPERTIES COMPILE_OPTIONS -Wall -Wextra -Werror)
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
24 set_source_files_properties(q/q.c PROPERTIES COMPILE_OPTIONS -DQVERSION=0x902)
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
25 # XXX: this didn't work - everything got the flags
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
26 #target_compile_options(${NAME} PRIVATE -Wall -Wextra -Werror)
0
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
27
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
28 pico_generate_pio_header(${NAME} ${CMAKE_CURRENT_LIST_DIR}/dac.pio)
16
56a79dce90e9 Commit WIP ctrl code
Daniel O'Connor <darius@dons.net.au>
parents: 9
diff changeset
29 pico_generate_pio_header(${NAME} ${CMAKE_CURRENT_LIST_DIR}/ctrl.pio)
9
3acdebd7eec7 Make it actually work
Daniel O'Connor <darius@dons.net.au>
parents: 5
diff changeset
30 pico_generate_pio_header(${NAME} ${CMAKE_CURRENT_LIST_DIR}/trigger.pio)
0
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
31
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
32 target_link_libraries(${NAME}
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
33 pico_stdlib
5
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
34 hardware_clocks
3
b10097c3383d DMA test data repeatedly into PIO FIFO
Daniel O'Connor <darius@dons.net.au>
parents: 2
diff changeset
35 hardware_dma
5
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
36 hardware_interp
3
b10097c3383d DMA test data repeatedly into PIO FIFO
Daniel O'Connor <darius@dons.net.au>
parents: 2
diff changeset
37 hardware_irq
0
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
38 hardware_pio
5
Daniel O'Connor <darius@dons.net.au>
parents: 3
diff changeset
39 hardware_pwm
0
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
40 )
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
41
2
0d653f60dec8 Actually get data moving out.
Daniel O'Connor <darius@dons.net.au>
parents: 0
diff changeset
42 #bin2elf(${NAME} shaped-trap.dat)
0d653f60dec8 Actually get data moving out.
Daniel O'Connor <darius@dons.net.au>
parents: 0
diff changeset
43 #bin2elf(${NAME} sgauss.dat)
0
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
44
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
45 # create map/bin/hex file etc.
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
46 pico_add_extra_outputs(${NAME})
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
47
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
48 # Set up files for the release packages
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
49 install(FILES
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
50 ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.uf2
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
51 DESTINATION .
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
52 )
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
53
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
54 set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF)
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
55 set(CPACK_GENERATOR "ZIP" "TGZ")
a55e39064a71 First commit of code that compiles.
Daniel O'Connor <darius@dons.net.au>
parents:
diff changeset
56 include(CPack)