Commit Graph

105 Commits

Author SHA1 Message Date
3b696fffb4 optimisation: try to set -flto=auto where available
This removes a warning from GCC about serialisation of LTO compilation
jobs.

Though it shouldn't really be using the 'auto' value as it is liable to
flood the system with jobs.
2022-08-23 13:36:01 +10:00
3b9eb09ba5 link_flag: add multiple flag search 2022-08-23 13:35:51 +10:00
0b6d0ea507 compile_flag: add multiple flag search 2022-08-23 13:35:26 +10:00
f3994915e3 optimisation: add RUNTIME_DEBUGGING option 2022-08-18 13:13:02 +10:00
aa7b95facb sanitizer: disable "pointer-compare" 2022-07-26 06:58:32 +10:00
84bfa4ae2a Cache CMAKE_CURRENT_LIST_DIR for correct paths in macros 2022-06-23 07:26:21 +10:00
54f0855312 Use CMAKE_CURRENT_LIST_DIR for local includes to simplify usage
This means that we no longer need to modify the module path for CMake
before including the root script.
2022-06-15 10:46:52 +10:00
b09ea14d5a warnings: add some clang-14 warnings 2022-05-03 09:55:29 +10:00
29b2a1539e cxx: move to C++2b 2022-05-03 09:54:27 +10:00
f7105fae36 warnings: always use suggest-override 2021-06-03 13:01:17 +10:00
ea804359fb cxx: force use of DWARF4 for breakpad compatibility 2021-05-26 12:49:53 +10:00
9843d15679 warnings: add clang-12 warnings 2021-04-19 15:09:24 +10:00
11ed45b116 warnings: add missing-field-initializers 2021-04-09 13:32:43 +10:00
60a1dc65ef FindRAGEL: bump the minimum CMake version to 3.14
We were deprecation warnings for CMake 2.x so we request a 3.x series.

No good reason that we chose 3.14 other than it's _kinda_ recent.
2020-12-03 10:05:04 +10:00
39d0ee8173 optimisation: enable SSE3 and AVX by default 2020-11-03 16:01:20 +10:00
209adacf5a optimisation: disable LTO partitioning on GCC
This dramatically decreases link times.
2020-10-21 06:08:20 +10:00
a4b3a217d6 cxx: try to enable gold and lld for gcc and clang 2020-10-20 11:53:34 +10:00
93d09dc0dc optimisation: try to enable multi-threaded LTO 2020-10-19 07:46:42 +10:00
67bee65f76 warnings: disable c99-designator warning 2020-02-17 17:40:49 +11:00
13dc2ac513 cxx: use 'auto' argument for diagnostics-color 2019-11-04 11:26:04 +11:00
c767d8f047 cxx: add build-id as a link flag 2019-11-04 11:17:09 +11:00
4de013d8e3 Enable visibility-inlines-hidden 2019-10-31 17:03:51 +11:00
985fe7fe48 cxx: disable filesystem library discovery 2019-10-22 12:00:50 +11:00
ff58436a98 cxx_stdcxxfs: Instantiate more code in the linking test
clang requires more instantiations than we currently have to exercise
their filesystem library.
2019-07-01 10:49:58 +10:00
00955b8920 nc_cxx: actually allow the empty library for stdfs detection 2019-06-28 10:24:23 +10:00
1dd0984040 nc: write fewer status messages 2019-06-22 08:37:20 +10:00
dc52274971 cxx: fix the path to the stdcxxfs test code 2019-06-20 11:45:58 +10:00
93b876dee7 nc: set a variable to point to this directory 2019-06-18 11:28:17 +10:00
e46716472a Revert "cxx: remove test for the filesystem library"
This reverts commit 874bbb2413.
2019-05-06 13:02:15 +10:00
874bbb2413 cxx: remove test for the filesystem library
We no longer use compilers that rely on this library, and the 'null'
case in library detection was broken.
2019-05-05 09:17:49 +10:00
bf694b3085 cxx: use PIC by default so we can produce dynamic libraries 2019-03-03 13:00:27 +11:00
b695b56ead optimisation: re-enable -fipa-pta by default
It appears to work alright for the core libraries as of GCC-8.2.0
2019-02-22 12:41:41 +11:00
3368ac332e warnings: disable -Wswitch-enum 2019-02-05 18:17:01 +11:00
0e00c08c0e warnings: disable -Wnoexcept temporarily 2019-02-05 12:35:39 +11:00
d09971da97 warnings: disable strict-overflow warnings
This makes view construction with sizes more tolerable.
2019-02-03 11:36:56 +11:00
68d37542d9 optimisation: downgrade unknown architecture to a warning 2019-02-02 17:02:17 +11:00
395f16c88e optimisation: remove inadvertant default value for host_cpu 2019-02-02 17:02:01 +11:00
23b5facb81 cxx: print which c++fs libraries are being attempted 2019-02-02 15:01:27 +11:00
b4db7136eb optimisation: add lto odr-type-merging and partition=none 2019-01-16 14:33:13 +11:00
525f597d64 cxx: define _FILE_OFFSET_BITS=64 2019-01-04 17:18:07 +11:00
6b7a06ddb7 cxx: don't set stdc++fs globally
Linking to stdc++fs in the wrong order can produce an ICE under GCC.
Linking globally will place stdc++fs at the front of the library list
(which is the trigger for the ICE). We rely on the clients linking
manually where required.
2019-01-02 13:42:54 +11:00
fc58c76599 optimisation: disable -fipa-pta
GCC encounters an ICE with this option in some projects (eg, edict)
2018-12-10 15:08:14 +11:00
d333042d85 warnings: add switch, and disable pragma, warnings 2018-12-06 16:09:21 +11:00
f5a4420164 build: transition from experimental filesystem 2018-12-05 19:12:02 +11:00
7eb31caa22 cxx: add libcxx-7.0.0 library for std::filesystem 2018-10-15 17:16:26 +11:00
16611ec091 optimisation: group instruction sets by enabled status 2018-09-14 13:00:37 +10:00
99c1ae6afd optimisation: use more conservative architecture flags
We can't enable SSE3 if we want to compile for our Atom test target, so
we explicitly disable this and a few future instruction sets that we
know won't be accessible.
2018-09-13 14:53:06 +10:00
e82c8b7d4a optimisation: bite the bullet and use O0 by default for debug
Og optimisation eliminates too many expressions to be useful for fine
grained debugging so we should make Og the exception rather than O0
2018-09-05 13:17:50 +10:00
23865396af asciidoc: don't hardcode a theme 2018-08-28 14:02:54 +10:00
7207c6dc8c asciidoc: add asciidoctor as a fallback implementation 2018-08-28 14:02:34 +10:00