ISSOtm
0d6bfb84ce
Ignore unknown warning options
...
GCC and Clang do not understand the exact same warning option sets
2021-10-31 21:17:51 +01:00
Jakub Kądziołka
d360d03403
Enable address sanitizer in develop builds ( #834 )
...
Co-authored-by: ISSOtm <eldredhabert0@gmail.com >
2021-05-02 18:08:03 +02:00
ISSOtm
b936ca27ab
Enable _ISOC11_SOURCE
...
See #789
2021-04-23 17:07:52 +02:00
ISSOtm
b598911e96
Enable LTO in release builds
...
Fixes #693
2021-01-09 20:31:15 +01:00
Rangi
7e3fc1db03
Fix Actions CI for MSVC
...
Fixes #616
2021-01-04 02:01:25 +01:00
ISSOtm
71d8aeb4c2
Add CMake defines to enable tracing lexer and parser
2020-10-12 09:02:21 +02:00
ISSOtm
06f7387466
Avoid using VLA in EQUS dumping
...
MSVC does not support those...
Also add a `develop` warning about VLAs, to avoid future incidents
2020-10-06 08:55:45 +02:00
James Larrowe
761c775043
Modularize CMake build configuration
...
Build type no longer defaults to Release (!)
have separate options for extra warning flags and sanitizers
toss DEVELOP macro
Fix sanitizers with CMake while I'm at it :|
2020-10-04 13:28:00 -04:00
ISSOtm
5a65188ca9
Implement compact file stacks in object files
...
Gets rid of `open_memstream`, enabling Windows compatibility again
Also fixes #491 as a nice bonus!
2020-10-04 04:46:01 +02:00
James Larrowe
03e20138d3
Use pkg-config to detect libpng
...
Only fall back to findpng
2020-10-01 18:58:36 -04:00
ISSOtm
d09ed3e52e
Get rid of flex as a dependency in CMakeLists
...
It will actually not be needed for new lexer
2020-09-20 03:39:53 +02:00
James Larrowe
c85b48f23e
Default to debug when building in develop mode
2020-08-16 13:58:02 -04:00
James Larrowe
5a9f2b7750
Add DEVELOP option to CMake
...
This requires CMake 3.0 so -Werror won't conflict with link tests.
Remove all version checks to improve simplicity.
2020-08-16 13:23:29 -04:00
James Larrowe
2d6bdbc1b1
Use versioning consistent with the Makefile in CMake
...
This uses git to determine the dirty version and uses a fallback
if that's not available.
2020-07-23 10:47:01 -04:00
ISSOtm
8c0adb63a1
Sync release version in CMakeLists
2020-07-21 23:54:36 +02:00
ISSOtm
874bd92604
Only require libpng 1.2 in CMakeLists
...
This version is sufficient for rgbgfx to function properly, according to testing.
The security problems are not ours to decide, however!
2020-07-21 23:23:52 +02:00
James R Larrowe
819c36943e
Add CMake build system
...
This should hopefully work torwards compatibility with more systems.
I've tried to make this as general as possible but some small assumptions
about the compiler are made. I've also tried to recreate the build process
as closely as possible, but I had to change some things slightly to work
with CMake (version strings, mainly).
For now, it doesn't allow in-source builds, as that could overwrite the
Makefile.
This adds:
- Support for more build systems
- Automatic dependency generation
- Performance gains (especially when using i.e. Ninja)
Defaults to Release build.
2020-07-03 15:10:18 -04:00