Mercurial > louis > kiibohd-controller
annotate Lib/CMake/build.cmake @ 432:1a2fb67b0237
Disable command list when using configurator
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Thu, 05 May 2016 12:57:30 -0700 |
parents | b5746c43904e |
children |
rev | line source |
---|---|
205
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
1 ###| CMAKE Kiibohd Controller Source Configurator |### |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
2 # |
298
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
3 # Written by Jacob Alexander in 2011-2015 for the Kiibohd Controller |
205
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
4 # |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
5 # Released into the Public Domain |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
6 # |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
7 ### |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
8 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
9 |
208
5805b1abb5d4
Adding support to Macro support to DPH
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
10 ### |
209
e9fdef19a059
Fixing Mac OSX arm build options.
Jacob Alexander <haata@kiibohd.com>
parents:
208
diff
changeset
|
11 # Disable -Wl,-search_paths_first for OSX (not supported by avr-gcc or arm-none-eabi-gcc) |
208
5805b1abb5d4
Adding support to Macro support to DPH
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
12 # |
5805b1abb5d4
Adding support to Macro support to DPH
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
13 |
209
e9fdef19a059
Fixing Mac OSX arm build options.
Jacob Alexander <haata@kiibohd.com>
parents:
208
diff
changeset
|
14 if ( APPLE ) |
208
5805b1abb5d4
Adding support to Macro support to DPH
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
15 string ( REPLACE "-Wl,-search_paths_first" "" CMAKE_C_LINK_FLAGS ${CMAKE_C_LINK_FLAGS} ) |
5805b1abb5d4
Adding support to Macro support to DPH
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
16 string ( REPLACE "-Wl,-search_paths_first" "" CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ) |
5805b1abb5d4
Adding support to Macro support to DPH
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
17 endif () |
5805b1abb5d4
Adding support to Macro support to DPH
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
18 |
5805b1abb5d4
Adding support to Macro support to DPH
Jacob Alexander <haata@kiibohd.com>
parents:
207
diff
changeset
|
19 |
205
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
20 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
21 ### |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
22 # Build Targets |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
23 # |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
24 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
25 #| Create the .ELF file |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
26 set( TARGET_ELF ${TARGET}.elf ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
27 add_executable( ${TARGET_ELF} ${SRCS} generatedKeymap.h ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
28 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
29 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
30 #| .ELF Properties |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
31 set_target_properties( ${TARGET_ELF} PROPERTIES |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
32 LINK_FLAGS ${LINKER_FLAGS} |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
33 SUFFIX "" # XXX Force Windows to keep the .exe off |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
34 ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
35 |
264
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
36 #| llvm-clang does not have an objcopy equivalent |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
37 if ( "${COMPILER}" MATCHES "clang" ) |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
38 if ( "${COMPILER_FAMILY}" MATCHES "arm" ) |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
39 set ( OBJ_COPY arm-none-eabi-objcopy ) |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
40 elseif ( "${COMPILER_FAMILY}" MATCHES "arm" ) |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
41 set ( OBJ_COPY avr-objcopy ) |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
42 endif () |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
43 else () |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
44 set ( OBJ_COPY ${CMAKE_OBJCOPY} ) |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
45 endif () |
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
46 |
205
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
47 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
48 #| Convert the .ELF into a .bin to load onto the McHCK |
298
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
49 #| Then sign using dfu-suffix (requries dfu-util) |
264
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
50 if ( DEFINED DFU ) |
298
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
51 # dfu-suffix is required to sign the dfu binary |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
52 find_package ( DFUSuffix ) |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
53 |
205
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
54 set( TARGET_BIN ${TARGET}.dfu.bin ) |
298
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
55 if ( DFU_SUFFIX_FOUND ) |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
56 add_custom_command( TARGET ${TARGET_ELF} POST_BUILD |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
57 COMMAND ${OBJ_COPY} ${BIN_FLAGS} ${TARGET_ELF} ${TARGET_BIN} |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
58 COMMAND ${DFU_SUFFIX_EXECUTABLE} --add ${TARGET_BIN} --vid ${BOOT_VENDOR_ID} --pid ${BOOT_PRODUCT_ID} 1> /dev/null |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
59 COMMENT "Create and sign dfu bin file: ${TARGET_BIN}" |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
60 ) |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
61 else () |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
62 message ( WARNING "DFU Binary has not been signed, requires dfu-suffix..." ) |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
63 add_custom_command( TARGET ${TARGET_ELF} POST_BUILD |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
64 COMMAND ${OBJ_COPY} ${BIN_FLAGS} ${TARGET_ELF} ${TARGET_BIN} |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
65 COMMENT "Creating dfu binary file: ${TARGET_BIN}" |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
66 ) |
39f84a603350
Adding dfu-suffix signing support to build system
Jacob Alexander <haata@kiibohd.com>
parents:
264
diff
changeset
|
67 endif () |
264
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
68 endif () |
205
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
69 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
70 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
71 #| Convert the .ELF into a .HEX to load onto the Teensy |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
72 if ( DEFINED TEENSY ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
73 set( TARGET_HEX ${TARGET}.teensy.hex ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
74 add_custom_command( TARGET ${TARGET_ELF} POST_BUILD |
264
945ce4472602
Adding experimental clang compiler support for arm-none-eabi
Jacob Alexander <haata@kiibohd.com>
parents:
209
diff
changeset
|
75 COMMAND ${OBJ_COPY} ${HEX_FLAGS} ${TARGET_ELF} ${TARGET_HEX} |
205
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
76 COMMENT "Creating iHex file to load: ${TARGET_HEX}" |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
77 ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
78 endif() |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
79 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
80 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
81 #| Generate the Extended .LSS |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
82 set( TARGET_LSS ${TARGET}.lss ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
83 add_custom_command( TARGET ${TARGET_ELF} POST_BUILD |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
84 COMMAND ${CMAKE_OBJDUMP} ${LSS_FLAGS} ${TARGET_ELF} > ${TARGET_LSS} |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
85 COMMENT "Creating Extended Listing: ${TARGET_LSS}" |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
86 ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
87 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
88 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
89 #| Generate the Symbol Table .SYM |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
90 set( TARGET_SYM ${TARGET}.sym ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
91 add_custom_command( TARGET ${TARGET_ELF} POST_BUILD |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
92 COMMAND ${CMAKE_NM} -n ${TARGET_ELF} > ${TARGET_SYM} |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
93 COMMENT "Creating Symbol Table: ${TARGET_SYM}" |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
94 ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
95 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
96 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
97 #| Compiler Selection Record |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
98 add_custom_command( TARGET ${TARGET_ELF} POST_BUILD |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
99 COMMAND ${CMAKE_SOURCE_DIR}/Lib/CMake/writer compiler ${COMPILER_FAMILY} |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
100 ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
101 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
102 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
103 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
104 ### |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
105 # Size Information |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
106 # |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
107 |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
108 #| After Changes Size Information |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
109 add_custom_target( SizeAfter ALL |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
110 COMMAND ${CMAKE_SOURCE_DIR}/Lib/CMake/sizeCalculator ${CMAKE_SIZE} ram ${TARGET_ELF} ${SIZE_RAM} " SRAM" |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
111 COMMAND ${CMAKE_SOURCE_DIR}/Lib/CMake/sizeCalculator ${CMAKE_SIZE} flash ${TARGET_ELF} ${SIZE_FLASH} "Flash" |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
112 DEPENDS ${TARGET_ELF} |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
113 COMMENT "Chip usage for ${CHIP}" |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
114 ) |
a2e9bb170eef
Adding CMake build support for the KLL compiler
Jacob Alexander <haata@kiibohd.com>
parents:
diff
changeset
|
115 |
207
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
116 |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
117 |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
118 ### |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
119 # Setup Loader Script and Program |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
120 # |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
121 |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
122 #| First check for DFU based controllers |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
123 if( DEFINED DFU ) |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
124 configure_file( LoadFile/load.dfu load NEWLINE_STYLE UNIX ) |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
125 |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
126 #| Next check for Teensy based |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
127 elseif ( DEFINED TEENSY ) |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
128 # Provides the user with the correct teensy-loader-cli command for the built .HEX file |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
129 # Windows |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
130 if( CMAKE_SYSTEM_NAME MATCHES "Windows" ) |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
131 configure_file( LoadFile/winload.teensy load NEWLINE_STYLE UNIX ) |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
132 # Default |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
133 else() |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
134 configure_file( LoadFile/load.teensy load NEWLINE_STYLE UNIX ) |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
135 endif() |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
136 endif() |
8b11031e38a7
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander <haata@kiibohd.com>
parents:
205
diff
changeset
|
137 |
428
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
138 |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
139 |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
140 ### |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
141 # Compiler Command Generation |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
142 # |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
143 |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
144 #| Generate list of compiler commands for clang-tidy usage |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
145 set( CMAKE_EXPORT_COMPILE_COMMANDS ON ) |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
146 |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
147 #| Make sure symlink exists (for convenience) |
432
1a2fb67b0237
Disable command list when using configurator
Jacob Alexander <haata@kiibohd.com>
parents:
428
diff
changeset
|
148 if ( UNIX AND NOT DEFINED CONFIGURATOR ) |
428
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
149 # Make sure symlink is created immediately |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
150 execute_process ( COMMAND ln -sfn ${CMAKE_BINARY_DIR}/compile_commands.json ${CMAKE_SOURCE_DIR}/. ) |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
151 |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
152 # Also update before each build |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
153 add_custom_command( TARGET ${TARGET_ELF} POST_BUILD |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
154 COMMAND ln -sfn ${CMAKE_BINARY_DIR}/compile_commands.json ${CMAKE_SOURCE_DIR}/. |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
155 ) |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
156 endif () |
b5746c43904e
Fixing clang compilation and supporting clang-tidy
Jacob Alexander <haata@kiibohd.com>
parents:
298
diff
changeset
|
157 |