Commit Graph

6428 Commits

Author SHA1 Message Date
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