Yuri D'Elia
bfaed2768c
Merge pull request #3652 from wavexx/cmake_build_v2
...
cmake build improvements v2
2022-10-05 14:20:28 +02:00
Yuri D'Elia
896008cee4
cmake: Remove unneeded additional include path
2022-10-05 11:10:05 +02:00
Yuri D'Elia
d867da201f
cmake: Define FW_VARIANT instead of copying Configuration_prusa
2022-10-05 01:26:30 +02:00
Yuri D'Elia
1d3ee1caba
build: Add Configuration_var.h as a configuration wrapper
...
Instead of including Configuration_prusa.h directly, include
Configuration_var which then includes the proper variant file though a
preprocessor macro.
This allows to keep the existing build system intact, but also redefine
at compile time the final header without having to make copies on the
file system.
2022-10-05 01:26:26 +02:00
Yuri D'Elia
5237365ff7
cmake: Fix existing comment
2022-10-04 22:55:33 +02:00
Yuri D'Elia
007d90bc75
cmake: Normalize incoming dependency paths
2022-10-04 12:38:40 +02:00
Yuri D'Elia
2ae376d633
build: Size optimization
...
Explicitly force-noinline xyzcal_scan_pixels_32x32_Zhop to match the
previous LTO build behavior.
2022-10-04 12:13:09 +02:00
3d-gussner
19477690c9
Merge pull request #3650 from 3d-gussner/MK3_Arduino_Boards_106
...
Update PF-build.sh to use Arduino_boards 1.6.0 which is same as devel…
2022-10-04 08:08:03 +02:00
Yuri D'Elia
c479e002d4
cmake: Hard-link final hex files to reduce space overhead
...
cmake 3.19 introduced support for hardlinks, so use them instead of
making a copy.
2022-10-04 01:13:14 +02:00
Yuri D'Elia
0dbf08b8db
cmake: Cleanup the final dual-language hex
...
List the file as a byproduct of the rule for correct cleanup.
2022-10-04 00:18:14 +02:00
Yuri D'Elia
96a2c9cb4a
cmake: Improve a few comments
2022-10-03 23:57:00 +02:00
Yuri D'Elia
75377f3081
cmake: Use/include Buddy formatting rules for consistency
2022-10-03 23:54:24 +02:00
Yuri D'Elia
0b23ab8e09
cmake: Fix/uniform non-xflash builds
2022-10-03 23:53:05 +02:00
Yuri D'Elia
9d716e9d69
cmake: Move a few variables closer to usage
2022-10-03 23:53:05 +02:00
Yuri D'Elia
3ec54d355e
cmake: Correctly patch binary during multi-language builds
...
lang-map.py expects to use the BIN file as an input-output argument.
The resulting BIN file contains an updated _PRI_LANG_SIGNATURE symbol.
2022-10-03 23:53:05 +02:00
Yuri D'Elia
ac1fca4a6a
cmake: Generate .hex files only where needed
...
This avoids generating useless intermediate .hex files during
multi-language builds.
2022-10-03 23:53:05 +02:00
Yuri D'Elia
8188117c4f
Merge pull request #3653 from wavexx/more_warnings
...
cleanup: Fix more spourious missing return warnings
2022-10-03 21:59:20 +02:00
Yuri D'Elia
5ed6bd7f8b
cleanup: Fix more spourious missing return warnings
...
Rewrite to use a temporary and get rid of the warning.
The generated asm is *unchanged*.
2022-10-03 21:54:08 +02:00
Yuri D'Elia
ac84dd1457
cmake: Update the variant configuration correctly when changed
2022-10-03 20:55:27 +02:00
Yuri D'Elia
7d9dc1007c
cmake: Cleanup XFLASH multi-language rules
2022-10-03 19:51:41 +02:00
Yuri D'Elia
7e56a8255b
cmake: Define all targets, but only build ALL_MULTILANG by default
...
ALL_ENGLISH is mostly intended for debugging purposes
2022-10-03 17:51:31 +02:00
Yuri D'Elia
63605f4c86
cmake: Reformat to fix tab/space mixture
2022-10-03 17:40:48 +02:00
3d-gussner
1ff2d93702
Remove gawk
2022-10-03 16:40:04 +02:00
3d-gussner
b5bcedfecb
Update PF-build.sh to use Arduino_boards 1.6.0 which is same as devel 1.0.5-2
2022-10-03 16:27:29 +02:00
3d-gussner
992845198d
Merge pull request #3648 from wavexx/more_cleanups
...
cleanup: Expand tabs to fixup suspicious indentation warnings
2022-10-03 11:53:42 +02:00
3d-gussner
57c4716b8f
Merge pull request #3647 from wavexx/cmake-build
...
cmake build improvements
2022-10-03 11:53:18 +02:00
Yuri D'Elia
0ac4130b7d
cmake: Correctly split/gc sections while linking
...
Repeat the flags while linking for LTO
2022-10-02 20:44:02 +02:00
Yuri D'Elia
4cc6695195
cleanup: Expand tabs to fixup suspicious indentation warnings
2022-10-02 20:42:36 +02:00
Yuri D'Elia
4412881439
cmake: Generate correct inline source listings in asm output
...
Manually provide a source path prefix to objdump
2022-10-02 20:32:32 +02:00
Yuri D'Elia
a8e85bd146
cmake: Work-around gcc 7 not supporting SOURCE_DATE_EPOCH
2022-10-02 20:32:32 +02:00
Yuri D'Elia
cdd822269a
cmake: Only make the target reproducible
2022-10-02 20:32:32 +02:00
Yuri D'Elia
1d520f9165
cmake: Make builds fully reproducible by default
...
- Work-around SOURCE flags being reset for each project when setting the
random-seed property by calling a support function.
- Likewise, set correct flags for reproducibility when creating archives.
- Strip source prefix paths from debug info
This should set the EPOCH using the last git commit date when available,
but it's not currently implemented. Just set the EPOCH to be 0 for now.
2022-10-02 20:32:32 +02:00
Yuri D'Elia
655b403c14
cmake: Uniform target compile/link flags
2022-10-02 20:32:32 +02:00
Yuri D'Elia
9288462b59
cmake: Tighten ignores
2022-10-02 20:32:32 +02:00
Yuri D'Elia
530702d1c9
cmake: Allow to configure/restrict the variant to be built
...
This introduces FW_VARIANTS as a configurable option, defaulting to the
full list of variants.
2022-10-02 20:32:32 +02:00
Yuri D'Elia
b3add22885
cmake: Move tests and CMakefiles to tests/
2022-10-02 20:32:32 +02:00
Yuri D'Elia
7f1bd0f046
cmake: Update Catch2
2022-10-02 20:32:32 +02:00
Yuri D'Elia
fea4c64056
cmake: Remove obsolete tests
2022-10-02 20:32:32 +02:00
Yuri D'Elia
47f89bb418
cmake: Do not set PROJECT_VERSION in PARENT_SCOPE
2022-10-02 20:32:32 +02:00
vintagepc
d8c9c4450f
Merge pull request #3641 from vintagepc/build-with-cmake
...
Build the firmware with cmake
2022-10-02 13:05:32 -04:00
Yuri D'Elia
0ffd33c142
Merge pull request #3639 from wavexx/cleanup_warnings
...
Cleanup warnings
2022-09-30 15:19:42 +02:00
Yuri D'Elia
c7b6b9a99b
cleanup: Suppress unused argument warnings
2022-09-30 15:08:11 +02:00
VintagePC
c522330433
Merge remote-tracking branch 'upstream/MK3' into build-with-cmake
2022-09-30 09:04:35 -04:00
Yuri D'Elia
b95d508574
cleanup: Remove implicit fallthrough in CRC validation
2022-09-30 12:55:47 +02:00
Yuri D'Elia
71be6b19d4
cleanup: Remove return value from MMU2Serial::write()
...
Removes a missing return warning.
Looks like we don't handle overflow at the moment and in all surrounding
code, so let's remove the return value for now.
2022-09-30 12:55:47 +02:00
Yuri D'Elia
6cfe000ac9
cleanup: Reorder members to match initialization order
2022-09-30 12:55:47 +02:00
Yuri D'Elia
398a4bf403
cleanup: Do not return const values from functions
...
This generates a warning under -Wextra, since in most cases a const
value doesn't prevent buggy code (as copies are allowed) while
preventing some optimizations (such as move operations) to take place.
2022-09-30 12:55:47 +02:00
Yuri D'Elia
d6af13dfc1
cleanup: Supress missing return warnings
...
Rewrite the function with a temporary to avoid the spourious no-return
warning.
The generated code is *unchanged*.
2022-09-30 12:31:07 +02:00
3d-gussner
9f6d3e2c10
Merge pull request #3633 from 3d-gussner/MK3_BETA_message
...
Remove BETA Warnings
2022-09-29 17:20:29 +02:00
3d-gussner
74e15ac233
Rename EN_ONLY to EN_FARM
...
remove DEBUG/DEVEL/ALPHA/BETA lcd warning
2022-09-29 16:39:02 +02:00