Scott Mudge
3cd125c566
MeatPack gcode compression support
2023-04-13 10:50:15 +02:00
D.R.racer
43ae2c78e5
Fix cmake build
2023-01-31 09:35:22 +01:00
Guðni Már Gilbert
15932123db
cmake: add target name to memory usage info
2023-01-28 18:35:06 +00:00
Guðni Már Gilbert
17e6f1b75e
optimisation: remove conv2str.cpp
...
Change in memory:
Flash: -288 bytes
SRAM: -8 bytes
2023-01-25 06:28:00 +00:00
Guðni Már Gilbert
11f56bf900
Fix building multilang firmware on Windows
2023-01-14 09:20:55 +00:00
Yuri D'Elia
abf7fbf99b
cmake: Consistent target names
...
- Use ALL_MULTILANG and VARIANT_MULTILANG instead of VARIANT_Multilang
- Use ALL_ENGLISH and VARIANT_ENGLISH instead of VARIANT_En-only
- Rename the intermediate VARIANT_Multilang_* targets to VARIANT_lang_*
to avoid confusion
2022-12-29 12:47:21 +01:00
Guðni Már Gilbert
355b670cd4
Remove SWSPI which is not used/implemented
2022-12-20 10:10:45 +01:00
Yuri D'Elia
5160e214ae
Merge branch 'MK3' into build_drop_unused_option
2022-12-08 18:32:32 +01:00
Yuri D'Elia
bfc44251c6
cmake: Remove usage warning
...
The cmake build system is effectively on-par (and a lot better in most
areas) compared to the old build system.
There's no need to warn developers anymore.
2022-12-08 13:41:51 +01:00
Yuri D'Elia
138725325a
cmake: Remove unused SECONDARY_LANGUAGES option
...
The option SECONDARY_LANGUAGES is no longer being used.
cmake always allows en/multilang for all selected variants
by using the appropriate target now (ALL_ENGLISH).
2022-12-07 16:00:32 +01:00
Yuri D'Elia
688542602d
cmake: Add targets for language checking
...
Add the following macro targets to check translations:
- check_lang: check all languages for all variants
- check_lang_[variant]: check all languages for [variant]
- check_lang_[lang]: check all variants against [lang]
- check_lang_[variant]_[lang]: check a single variant/language
For example:
- ninja check_lang: check *everything*
- ninja check_de: check German in all variants
- ninja check_MK3S-EINSy10a: check all languages in the MK3S
- ninja check_MK3S-EINSy10a_de: check German in the MK3S
2022-10-13 20:24:19 +02:00
Yuri D'Elia
468f4f8c57
cmake: Always check po files for errors during build
2022-10-13 20:20:47 +02:00
Yuri D'Elia
036a04938d
cmake: Introduce AvrGcc/AnyAvrGcc toolchains, replacing LocalAvrGcc
...
- AvrGcc: use avr-gcc from dependencies
- AnyAvrGcc: use system's avr-gcc for testing
2022-10-12 11:07:45 +02:00
Yuri D'Elia
8a00179528
cmake: Improved reproducibility rules
...
Rewrite cmake rules for reproducibility and move them inside a separate
module.
The new rules are cleaner and can operate on multi-directory projects
transparently.
2022-10-10 14:19:03 +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
5237365ff7
cmake: Fix existing comment
2022-10-04 22:55:33 +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
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
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
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
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
VintagePC
c522330433
Merge remote-tracking branch 'upstream/MK3' into build-with-cmake
2022-09-30 09:04:35 -04:00
VintagePC
4a3b07f832
Fix include path
2022-09-25 10:55:23 -04:00
Guðni Már Gilbert
428f4a87ed
Remove unused CMake tests
2022-09-16 10:23:47 +02:00
VintagePC
598991dc69
- Fake-gen some folders to organize targets
...
- Support building both en and multilang together
2022-08-06 12:24:30 -04:00
VintagePC
04ea371936
Set source files explicitly for reproducible build
2022-08-06 10:57:03 -04:00
VintagePC
ea920536cb
Add version info to filenames
2022-08-05 21:03:41 -04:00
VintagePC
1e7e9aa391
fix typo
2022-08-05 17:45:48 -04:00
VintagePC
5f12c7f10b
* Synchronize flags with arduino
...
* Use cmake -E cat for merge
* Set AR/ranlib to GCC flavour
2022-08-05 16:54:07 -04:00
VintagePC
ca0d6caddf
Be explicit on languages
2022-07-28 18:16:15 -04:00
VintagePC
25ee23ca76
clean indentation
2022-07-28 08:11:11 -04:00
VintagePC
fa1be17b7c
cmake lang control
2022-07-28 08:07:08 -04:00