summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge branch 'implicit-lib-gcceh' into release-3.10Brad King2017-11-082-2/+22
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1460
| * | | | Restore exclusion of "gcc_eh" from implicit link librariesChristian Pfeiffer2017-11-082-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'FindOpenGL-clarify-libraries' into release-3.10Brad King2017-11-071-1/+2
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | Merge-request: !1459
| * | | | FindOpenGL: Clarify logic constructing OPENGL_LIBRARIESBrad King2017-11-071-1/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Our comment says the logic matches that for OpenGL::GL. Structure the logic the same way to make this clearer. Issue: #17437
* | | | Merge branch 'csharp-version-english' into release-3.10Brad King2017-11-071-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1449
| * | | | CSharp: Fix compiler version detection in non-English languagesYoshinori Tahara2017-11-071-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'irsl-win2018' into release-3.10Brad King2017-11-061-3/+5
|\ \ \ \ | |_|_|/ |/| | | | | | | Merge-request: !1451
| * | | IRSL: Add support for the 2018 release on Windows.Christian Pfeiffer2017-11-061-3/+5
| |/ / | | | | | | | | | Fixes: #17421
* | | CMake 3.10.0-rc4v3.10.0-rc4Brad King2017-11-011-1/+1
| | |
* | | Merge branch 'mingw-clang-c-compile-features' into release-3.10Brad King2017-11-011-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !1435
| * | | Record C compile features flags for MinGW Clang on WindowsBrad King2017-11-011-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'autogen-moc-predefs-no-moc-options' into release-3.10Brad King2017-10-312-3/+12
|\ \ \ | | | | | | | | | | | | Merge-request: !1432
| * | | Autogen: Tests: Set AUTOMOC_MOC_OPTIONS in a simple testSebastian Holtermann2017-10-311-0/+5
| | | |
| * | | Autogen: Don't use AUTOMOC_MOC_OPTIONS in moc-predefs commandSebastian Holtermann2017-10-311-3/+7
|/ / / | | | | | | | | | Closes #17418
* | | Merge branch 'autogen-change-rcc-config-suffix' into release-3.10Brad King2017-10-301-2/+2
|\ \ \ | | | | | | | | | | | | Merge-request: !1425
| * | | Autogen: Make rcc output file suffix static (instead of pseudo-random)Sebastian Holtermann2017-10-301-2/+2
|/ / /
* | | Merge branch 'autogen-qrc-file-name' into release-3.10Brad King2017-10-301-5/+15
|\ \ \ | | | | | | | | | | | | Merge-request: !1422
| * | | Autogen: RCC: Append checksum suffix to wrapped file nameSebastian Holtermann2017-10-291-5/+15
| | | | | | | | | | | | | | | | Closes #17404
* | | | Merge branch 'cpack-rpm-dist-test-fix' into release-3.10Brad King2017-10-301-0/+5
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1424
| * | | | CPack/RPM: DIST-MONOLITHIC-type subtest fixDomen Vrankar2017-10-301-0/+5
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'backport-fix-co-compile' into release-3.10Brad King2017-10-2716-87/+175
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1418
| * | | | cmcmd: Restore support for running multiple lint toolsBrad King2017-10-2715-61/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | cmcmd: Convert lint handlers to file-static functionsBrad King2017-10-272-29/+12
| | | | | | | | | | | | | | | | | | | | These do not need to be declared in the header.
| * | | | cmcmd: Rename loop iteration variable for clarityBrad King2017-10-271-2/+2
| | | | |
* | | | | Merge branch 'autogen-static-library-cycles' into release-3.10Brad King2017-10-2710-17/+172
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !1408
| * | | | | Autogen: Tests: Add test for STATIC_LIBRARY cyclesSebastian Holtermann2017-10-279-0/+89
| | | | | |
| * | | | | Autogen: Don't add STATIC_LIBRARY cycle targets to the _autogen dependenciesSebastian Holtermann2017-10-271-17/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'cmp0040-wording' into release-3.10Brad King2017-10-263-5/+5
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | Merge-request: !1415
| * | | | | CMP0040: Clarify policy warning to match documentationBrad King2017-10-263-5/+5
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'clang-cl-TP' into release-3.10Brad King2017-10-252-0/+2
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | Merge-request: !1407
| * | | | Clang: Use -TP flag for C++ sources with clang-clBrad King2017-10-252-0/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | We do this for `cl`, so we should do it for `clang-cl`. Fixes: #17394
* | | | Merge branch 'omp-oacc-werror-return-type' into release-3.10Brad King2017-10-242-3/+11
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1406
| * | | | Find{OpenMP,OpenACC}: Fix detection with -Werror=return-typeChristian Pfeiffer2017-10-242-3/+11
| |/ / / | | | | | | | | | | | | | | | | | | | | Explicitly return a value from `main` in our test sources. Fixes: #17391
* | | | Merge branch 'findmpi-core-count' into release-3.10Brad King2017-10-241-7/+2
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1405
| * | | | FindMPI: Use physical cores for MPIEXEC_MAX_NUMPROCSChristian Pfeiffer2017-10-241-7/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'FindOpenCL-more-versions' into release-3.10Brad King2017-10-231-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1398
| * | | | FindOpenCL: Add detection of OpenCL 2.1 and 2.2Henry Schreiner2017-10-231-1/+1
| |/ / /
* | | | Merge branch 'help_parse_arguments' into release-3.10Brad King2017-10-231-10/+13
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1397
| * | | | Help: Fix cmake_parse_arguments behavior for not found argumentsSylvain Joubert2017-10-201-10/+13
| | |/ / | |/| | | | | | | | | | | | | | Value keywords are actually UNDEFINED rather than set to the empty string when they are not found in the argument list.
* | | | Merge branch 'gnuid-cmp54-fix' into release-3.10Brad King2017-10-231-0/+5
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1400
| * | | | GNUInstallDirs: Enable CMP0054Christian Pfeiffer2017-10-231-0/+5
| | |/ / | |/| | | | | | | | | | Fixes: #17381
* | | | Merge branch 'doc-cxx-std-msvc' into release-3.10Brad King2017-10-232-2/+4
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1401
| * | | | Help: Correct <LANG>_STANDARD help w.r.t. MSVCChristian Pfeiffer2017-10-232-2/+4
| |/ / / | | | | | | | | | | | | Fixes: #17380
* | | | Merge branch 'flang-remove-boundscheck' into release-3.10Brad King2017-10-191-2/+0
|\ \ \ \ | |_|/ / |/| | | | | | | Merge-request: !1393
| * | | Flang: Remove unsupported fbounds-check flagChristian Pfeiffer2017-10-191-2/+0
| |/ / | | | | | | | | | | | | The Flang compiler neither supports nor documents -fbounds-check leading to -Wunused-command-line-argument warnings with the default Debug flags.
* | | CMake 3.10.0-rc3v3.10.0-rc3Brad King2017-10-191-1/+1
| | |
* | | Merge branch 'vs-cuda-machine' into release-3.10Brad King2017-10-171-0/+7
|\ \ \ | | | | | | | | | | | | Merge-request: !1390
| * | | VS: Set CUDA TargetMachinePlatform explicitly on x64Brad King2017-10-171-0/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'findopenmp-lib-paths' into release-3.10Brad King2017-10-171-7/+21
|\ \ \ | | | | | | | | | | | | Merge-request: !1385
| * | | FindOpenMP: Improve OMP libraries searchChristian Pfeiffer2017-10-171-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This supports libraries given as full path and filters libraries given in CMAKE_<LANG>_STANDARD_LIBRARIES. Fixes: #17351