David Adam
7200f7ff4a
Revert "Drop hard requirement on explicit -lpthread
support"
...
This reverts commit b402b635a9f7466616cef6e2b9cfd55a6e7068c5; as discussed in #5512 it is not
required.
2019-02-12 22:30:53 +08:00
Mahmoud Al-Qudsi
462cb6044c
Use standard __CYGWIN__ define for Cygwin detection
2019-01-21 20:06:16 -06:00
Mahmoud Al-Qudsi
16a94db702
Check for -Werror=unguarded_availability
support before forcing it
...
The compiler flag `-Werror=unguarded_availability` was hard-coded for
macOS, but is not supported by GCC on macOS 10.10 (Yosemite). Test for
support with CHECK_CXX_COMPILER_FLAG before forcing it.
2019-01-10 20:03:38 -06:00
Mahmoud Al-Qudsi
b402b635a9
Drop hard requirement on explicit -lpthread
support
...
Closes #5512
2019-01-10 20:03:38 -06:00
Mahmoud Al-Qudsi
4f196eef64
Bypass mutually exclusive CMake checks
...
There are some redundant CMake checks, in the sense that they are either
not needed or cannot possibly match if a previous check already passed.
2019-01-04 14:46:36 -06:00
Mahmoud Al-Qudsi
5196a42165
Prevent CMake configure checks for affecting future checks
...
Using CMAKE_PUSH_CHECK_STATE/CMAKE_POP_CHECK_STATE to prevent CMake
checks from permanently altering the environment used by future checks.
2019-01-04 14:30:14 -06:00
Mahmoud Al-Qudsi
490432c177
Globally set the _GNU_SOURCE define for CMake configuration checks
2019-01-04 14:18:02 -06:00
Mahmoud Al-Qudsi
380bae80bf
Fix wcstod_l
detection under Linux
...
This was broken in a8eb02f9f5
when the
detection was corrected for FreeBSD. This patch makes the detection work
for both Linux and FreeBSD instead of one or the other (tested).
2019-01-02 19:07:53 -06:00
Mahmoud Al-Qudsi
7af0cad23d
Fall back to CMake's pkg-config-based search for curses
...
CMake seems to have trouble finding libraries from multiarch packages
that do not have the compatibility symlink installed to the
arch-independent library directory. Users must either manually supply
the path to the library in question via command-line parameters or we
can fall back to CMake's alternate method of finding packages based off
of pkg-config rather than using the hard-coded `FindCurses` CMake module
specific to the CMake version/distribution installed.
2019-01-02 18:38:55 -06:00
Mahmoud Al-Qudsi
74422e476b
Define _GNU_SOURCE for wcstod_l check
2019-01-02 14:05:49 -06:00
Mahmoud Al-Qudsi
d1913f0df0
Add workaround for Cygwin process management and job control bugs
...
We cannot wait by pgroup under Cygwin for unknown reasons. Always
wait on jobs by individual processes. See code for more information.
2019-01-02 00:14:07 -06:00
Fabian Homborg
a608e5d581
cmake: Check for TPARM_VARARGS
2018-12-31 14:24:22 +01:00
Mahmoud Al-Qudsi
a8eb02f9f5
Fix wcstod_l detection under FreeBSD
2018-12-31 02:31:48 -06:00
Fabian Homborg
ffab420e43
Add fallback wcstod_l for musl
...
Just sets locale to "C" (because that's the only one we need), does
wcstod and resets the locale.
No idea why uselocale(loc) failed for me, but it did.
Fixes #5407 .
2018-12-12 15:12:12 +01:00
Mahmoud Al-Qudsi
000892e315
Use constexpr for is_windows_subsystem_for_linux()
...
To guarantee that at runtime there will be no branching, using a CMAKE
test/define combined with a constexpr wrapper for code-friendliness.
2018-03-04 21:13:31 -06:00
Mahmoud Al-Qudsi
fea1597a27
[cmake] Correct test for term.h (include curses.h first)
...
The non-ncurses version of term.h requires that curses.h be first
included. Only very recent versions of CMake include a LANGUAGE
option to CHECK_INCLUDE_FILES, so we aren't using it and specifying
CXX here..
2018-02-04 03:11:22 -06:00
David Adam
fb53a96a1c
Add configure-time check for std::make_unique
...
Fixes the build on Clang 6 and closes #4685 .
2018-01-31 13:43:05 +08:00
David Adam
f135c53196
[cmake] move all CheckFunctionExists to CheckCXXSymbolExists
...
CheckFunctionExists checks for C linkage only, and recommends the use of
CheckSymbolExists in the documentation. This improves the detection of
C++ features, as opposed to C features.
2018-01-30 22:28:04 +08:00
David Adam
7faa6e773f
cmake: add SED to build_lexicon_filter
2017-11-28 21:37:42 +08:00
David Adam
ce46c80492
cmake: restore check for fixed-args tparm ("Solaris tparm kludge")
2017-11-22 18:58:27 +08:00
David Adam
64194d02fc
cmake: correct configure check for _nl_msg_cat_cntr
2017-11-17 16:21:56 +08:00
David Adam
32714021f5
cmake: add gettext support
2017-11-17 16:21:56 +08:00
David Adam
7e24c14f8c
cmake: print feature summary
2017-11-17 16:21:56 +08:00
David Adam
8543a4061e
cmake: fix check for /proc/self/stat
...
Using the result of the exists test directly always passes.
2017-11-17 16:21:56 +08:00
David Adam
af93db668c
cmake: fix check for sys/sysctl.h on FreeBSD
2017-11-17 16:21:56 +08:00
David Adam
f5209deacc
cmake: update CheckIncludeFiles to enable C++ checks
2017-11-17 16:21:56 +08:00
David Adam
2f289ce097
cmake: drop unneeded checks
...
Much cruft brought across from autoconf is removed.
2017-11-17 16:21:56 +08:00
David Adam
57bfca17dc
cmake: make WINSIZE checks work
2017-11-17 16:21:56 +08:00
David Adam
a8938bcb4d
cmake: check for stat struct items correctly
2017-11-17 16:21:56 +08:00
David Adam
68da7ab822
cmake: use C++ rather than C checks for all checks
...
Disables C language for fish project to catch errors.
2017-11-17 16:21:56 +08:00
David Adam
8f7d68ee3e
cmake: use correct syntax for CheckStructHasMember
...
Correctly detect the dirent member d_type on systems that have it.
2017-11-17 16:21:56 +08:00
David Adam
396faebc08
Move CMakeFiles to cmake
...
Makes in-tree (ie `cmake .`) builds work.
2017-11-17 16:21:55 +08:00