Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-07-06 | cmake: add universally good build defaults | Stanislaw Halik | |
These were in the mingw-w64 toolchain file but it's good to have them in general. | |||
2016-07-06 | cmake/rift: cmake has "else if" it turns out | Stanislaw Halik | |
2016-07-06 | gui, api, csv: support hier(7) on Unix | Stanislaw Halik | |
This affects platforms such as FreeBSD, Cygwin or Linux. | |||
2016-07-04 | cmake/mingw-w64: enable nx bit (data execution prevention) | Stanislaw Halik | |
We don't process untrusted user data but this should be the default anyway. | |||
2016-07-03 | cmake/mingw-w64: change WARNINGS_ENABLE logic | Stanislaw Halik | |
It makes sense to default for opentrack only. Depends can be messy and they will. | |||
2016-06-28 | cmake/linux: enable -fPIC | Stanislaw Halik | |
2016-06-27 | cmake/mingw-w64: fix override for all buildsopentrack-2.3-rc49p7 | Stanislaw Halik | |
2016-06-27 | cmake: allow mingw-w64 toolchain file from unix | Stanislaw Halik | |
2016-06-27 | cmake: backoff gcc 6.1.0 due to miscompilation | Stanislaw Halik | |
Issue: #375 | |||
2016-06-18 | cmake/rift: fix guard | Stanislaw Halik | |
2016-06-16 | all: split "api" into "api" and "logic" | Stanislaw Halik | |
Here, the "logic" module has all the stuff for building one's own graphical user interface. The "api" module has stuff used by other trackers. While at it, each of "api", "logic", and "compat" need their own export headers. This is because of preprocessor symbol clashes. This is all because a change in the "gui"-only dependency required a relink of all the trackers, protocols, and flters. It takes too long when building in the release configuration. With the split, only the "gui" module gets rebuilt. Since it has close to no static dependencies, it's fast enough. | |||
2016-06-14 | cmake/mingw-w64: don't copy cflags to ldflags | Stanislaw Halik | |
They get copied anyway. | |||
2016-06-14 | cmake/mingw-w64: no need for finite math only now | Stanislaw Halik | |
The `api/nan' compilation unit disables both fast math and finite math only. | |||
2016-06-14 | cmake: update mingw-w64 toolchain file | Stanislaw Halik | |
- set path for 6.1.0 from sourceforce mingw-w64 "personal builds". - set objcopy, objdump, strip - enable -fipa-pta now that it works, change some lto params - always strip for RELEASE build type - set install prefix to relative BINARY_DIR/install at first run - change some warns | |||
2016-06-14 | cmake/mingw-w64: add some warns for C units | Stanislaw Halik | |
2016-06-10 | cmake: move warnings around in mingw-w64 toolchain file | Stanislaw Halik | |
2016-06-09 | cmake: fix mingw-w64 toolchain cflags override | Stanislaw Halik | |
2016-05-23 | cmake: fix boilerplate for NO-LIBRARY + STAGE2 | Stanislaw Halik | |
2016-05-23 | cmake{/gui,}: make boilerplate usable for building the executable | Stanislaw Halik | |
2016-05-22 | cmake/{linux,mingw-w64}.cmake: inline visibility hidden is redundant | Stanislaw Halik | |
With -fvisibility=hidden it's hidden anyway. | |||
2016-05-22 | cmake: rename macros -> boilerplate | Stanislaw Halik | |
2016-05-22 | cmake: simplify, avoid macros | Stanislaw Halik | |
Avoid macros when able to allow for scope control. Macros shove everything inside the parent scope. The lone remaining macro needs to be there since functions allow for a fixed amount of parameters. Link against dinput automatically since LTO will remove it if it's not needed anyway. Rift trackers don't presently need access to ${project}-all etc. so don't expose them through opentrack_rift_boilerplate yet. | |||
2016-05-21 | cmake: add osx -g also for lto caseopentrack-2.3-rc49p1 | Stanislaw Halik | |
2016-05-17 | cmake: work for shared library destructors | Stanislaw Halik | |
Remove linker script usage. I'm worried about the potential interaction with shared libraries' _fini symbol for global destruction. Further, add -fuse-cxa-atexit in order to run the global destructors to begin with. This works on LLVM and GNU. MSVC doesn't export symbols by default. | |||
2016-05-17 | cmake: -fPIC for Linux toolchain file | Stanislaw Halik | |
2016-05-15 | Revert "cmake: remove header with version information" | Stanislaw Halik | |
It's used in the win32 installer. This reverts commit 3252beca3aa20fe5183a13029db831e4e121f6dc. | |||
2016-05-15 | cmake: stop forcing release build for appleopentrack.2.3-rc49p0 | Stanislaw Halik | |
2016-05-15 | many: remove executable bit from source files | Stanislaw Halik | |
We no longer have this recurring problem since I enabled ignoring executable bit changes on the Windows workstation. | |||
2016-05-15 | cmake: linux toolchain file | Stanislaw Halik | |
For my convenience. | |||
2016-05-13 | cmake: automatically enable lto and loop vectorization for mingw-w64 targets | Stanislaw Halik | |
2016-05-13 | cmake: add cache variables for predefined warning types | Stanislaw Halik | |
The numeric warnings are somewhat useful. Sadly only clang supports the vtable object file bloat warning. | |||
2016-05-13 | cmake: expose clang being used | Stanislaw Halik | |
2016-05-13 | cmake: disable all warnings for Qt moc-generated source files | Stanislaw Halik | |
The files are machine-generated and full of redundancies. With pedantic warnings it drowns the relevant stuff. | |||
2016-05-12 | cmake: remove header with version information | Stanislaw Halik | |
It's pointless for it to exist, see previous commit for rationale. No call sites. | |||
2016-05-12 | cmake: workaround LTO issue on Windows. | Stanislaw Halik | |
With the GNU toolchain there's some mix-up and the "opentrack_version" symbol isn't emitted into the object file at all. Disable LTO for the "version" statically linked library. The "version" statically linked library exists so that files needing the version only need to be re-linked, not recompiled. A preprocessor global -DVERSION=foo rebuilds the whole project after each commit. A header definition rebuilds all include sites. LTO in the GNU toolchain is very broken on Windows, particular the interaction of GCC "linker plugin" injected into Binutils bfd ld. The gold ld we can't use since it's only for ELF executables. There's nothing alarming here at all unless there's some miscompilation and there doesn't seem to be any. The rest of the functional changes is changing cc -> c of that object file, and moving library definition after the source file is already generated. | |||
2016-05-04 | cmake: fix osx link | Stanislaw Halik | |
2016-05-04 | osx: increase stack size 4 times | Stanislaw Halik | |
Issue: #349 | |||
2016-04-27 | cmake: -mno-avx for mingw-w64 just to be safe | Stanislaw Halik | |
2016-04-27 | cmake: force -arch x86_64 for osx | Stanislaw Halik | |
2016-04-23 | cmake: explicitly disallow source directory being equal to build directory | Stanislaw Halik | |
Causes frequent user confusion on Linux. | |||
2016-04-18 | cmake: fix expanding variable quoting bug | Stanislaw Halik | |
Closes #340 | |||
2016-03-15 | cmake: fix MSVC build typeopentrack-2.3-rc21p11 | Stanislaw Halik | |
2016-03-12 | installer: prepend "DEBUG-" for debug builds | Stanislaw Halik | |
2016-03-12 | cmake: remove tarball unused param | Stanislaw Halik | |
2016-03-12 | cmake: fix mingw-w64 toolchain file ninja build | Stanislaw Halik | |
2016-03-12 | add apple toolchain fileopentrack-2.3-rc21p10 | Stanislaw Halik | |
2016-03-08 | cmake: update and expand mingw-w64 toolchain file | Stanislaw Halik | |
2016-03-07 | tarball: don't assume env(1) is in pathopentrack-2.3-rc21p9 | Stanislaw Halik | |
2016-03-06 | cmake: don't search for Qt5Xml | Stanislaw Halik | |
We're not using it anywhere. | |||
2016-03-06 | cmake: update compiler path in toolchain file | Stanislaw Halik | |
We're now using dw2 rather than sjlj for official builds. |