| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1460
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since commit v3.9.0-rc1~148^2 (Do not assume GCC libs are linked by all
compilers, 2017-05-05) we no longer filter out all `gcc*` implicit link
libraries. This allows mixing of gcc and non-gcc compilers across
languages. However, this caused a subtle problem with how GCC makes
exception handling symbols available to linked binaries.
GCC (at least on MinGW) provides two different libraries with exception
handling symbols:
* gcc_s: A shared library with -fvisibility=default, used by -shared-libgcc.
* gcc_eh: A static library with -fvisibility=hidden, used by -static-libgcc.
The C compiler (on MinGW) defaults to -static-libgcc and uses gcc_eh.
The C++ compiler defaults to -shared-libgcc and uses gcc_s when linking
shared libraries and executables so that exceptions can propagate across
shared libraries [1]. When linking a mixed-language binary, the C++
compiler should be used along with its choice of gcc_s. In this case
gcc_eh should not be added even though the C compiler implies it because
gcc_s supersedes it.
Since the above-mentioned change, CMake is adding gcc_eh to C++ link
lines that also contain C code on MinGW. This causes both gcc_s and
gcc_eh to be used, which is incorrect. We can fix this simply by
excluding gcc_eh from the C compiler's implicit link libraries.
[1] https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gcc/Link-Options.html#Link-Options
Fixes: #17436
|
|\ \ \ \ \
| | |_|/ /
| |/| | |
| | | | | |
Merge-request: !1459
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
Our comment says the logic matches that for OpenGL::GL. Structure
the logic the same way to make this clearer.
Issue: #17437
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1449
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When we run `csc.exe /help` we look for "Version" in the output.
Explicitly ask for the output in English.
Reported-by: guttally@users.noreply.github.com
|
|\ \ \ \
| |_|_|/
|/| | |
| | | | |
Merge-request: !1451
|
| |/ /
| | |
| | |
| | | |
Fixes: #17421
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !1435
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was done for C++ by commit v3.5.0-rc1~69^2 (Record compile features
for MinGW Clang on Windows, 2016-01-11). Make the same change for C.
The `UNIX` condition on Clang C compiler features was already dropped by
refactoring in commit v3.9.0-rc1~17^2~4 (Compilers: Port to use default
cmake_record_lang_compile_features macros, 2017-05-10).
Our documentation already claims support for this combination. This
was simply an oversight when support was added for MinGW Clang C++.
Issue: #15897
Issue: #15943
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !1432
|
| | | | |
|
|/ / /
| | |
| | |
| | | |
Closes #17418
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !1425
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !1422
|
| | | |
| | | |
| | | |
| | | | |
Closes #17404
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1424
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Test was failing in case dist macro contained
a + symbol which is valid but must be escaped
for using the string as a regex.
Fixes #17328
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1418
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Refactoring in commit v3.10.0-rc1~115^2 (Clean up iwyu code to not be
one big if statement, 2017-08-28) incorrectly changed the logic to run
only one lint tool at a time. Restore support for running all tools
specified on the command-line.
|
| | | | |
| | | | |
| | | | |
| | | | | |
These do not need to be declared in the header.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Merge-request: !1408
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When a STATIC_LIBRARY cycle is detected we don't add any STATIC_LIBRARY target
from the cycle to the `_autogen` target dependencies.
Closes #17389
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | |
| | | | | | |
Merge-request: !1415
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In commit v3.5.0-rc1~8^2~2 (Help: Clarify policy `CMP0040`
documentation, 2016-01-28) the documentation was clarified to indicate
that the target must be defined in the current directory. Do the same
for the text of the policy warning itself.
Fixes: #17399
|
|\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | | |
Merge-request: !1407
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
We do this for `cl`, so we should do it for `clang-cl`.
Fixes: #17394
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1406
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Explicitly return a value from `main` in our test sources.
Fixes: #17391
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1405
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since commit v3.9.0-rc1~224^2~1 (FindMPI: MPIEXEC handling improvements,
2017-04-21) the `ProcessorCount` module is being used to initialize
`MPIEXEC_MAX_NUMPROCS`. However, this leads to the logical cores being
counted rather than the physical ones, and some MPI implementations like
OpenMPI will error if mpiexec is called with that number. Switch it to
the number of physical cores using `cmake_host_system_information`.
This ensures that if `MPIEXEC_MAX_NUMPROCS` is being used to set up MPI
tests with CTest or similar that the tests won't spuriously fail due to
OpenMPI refusing to start the application.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1398
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1397
|
| | |/ /
| |/| |
| | | |
| | | |
| | | | |
Value keywords are actually UNDEFINED rather than set to the empty
string when they are not found in the argument list.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1400
|
| | |/ /
| |/| |
| | | |
| | | | |
Fixes: #17381
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1401
|
| |/ / /
| | | |
| | | |
| | | | |
Fixes: #17380
|
|\ \ \ \
| |_|/ /
|/| | |
| | | | |
Merge-request: !1393
|
| |/ /
| | |
| | |
| | |
| | | |
The Flang compiler neither supports nor documents -fbounds-check leading
to -Wunused-command-line-argument warnings with the default Debug flags.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !1390
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `TargetMachinePlatform` setting tells CUDA what `--machine {32,64}`
flag to pass to nvcc. While CUDA automatically chooses the proper
default for the target architecture, it does not reflect this in the
user-visible IDE settings. Set it explicitly to fix the user-visible
setting.
Fixes: #17355
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !1385
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This supports libraries given as full path and filters libraries given
in CMAKE_<LANG>_STANDARD_LIBRARIES.
Fixes: #17351
|