4aa60cc306
cxx: enabled sized-deallocation on clang
2023-01-11 11:13:05 +10:00
1bfe9561d8
cxx: expose clang's stdlib argument as a cache variable
2023-01-11 09:31:27 +10:00
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