Commit Graph

92 Commits

Author SHA1 Message Date
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
VintagePC f453403ea9 bugfix 2022-07-27 22:25:40 -04:00
VintagePC 8a4b395aec no-xflash case, add convenience target to build absolutely everything. 2022-07-27 20:24:12 -04:00
VintagePC 5bc936d4f5 Remove helper file, fix lang ordering, check sizes 2022-07-27 19:40:11 -04:00
VintagePC 9001d98061 Get version/dir from bootstrap, add pyelftools 2022-07-27 17:58:58 -04:00
3d-gussner e187538973 Update bootstrap 2022-07-27 15:01:07 +02:00
VintagePC 739ccdf804 remove invalid command 2022-07-27 07:22:42 -04:00
VintagePC f03e3c40ee WIP/proof-of-concept 2022-07-26 19:33:09 -04:00
Marek Kuhn 2e25a853f4 Added prusatat test 2019-07-15 19:34:12 +02:00
Marek Bel 360a977520 Fix allDepleted(). Add tests. 2019-01-04 19:34:42 +01:00
Marek Bel 71826a3ab8 Fix tests build on Travis. 2018-11-27 18:00:20 +01:00
Marek Bel 67356ce356 Incomplete Timer test. 2018-06-11 22:50:52 +02:00
Marek Bel 68ce375a18 Add Catch2 test framework. Add example test. Add tests build instructions. 2018-06-11 22:14:22 +02:00