summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* FindOpenGL: Add option to prefer GLVND for legacy GLBrad King2017-11-151-13/+56
| | | | | | | | | | | | | | | | | Since commit v3.10.0-rc5~3^2 (FindOpenGL: Default to non-GLVND libraries for legacy GL, 2017-11-08) users may set `OPENGL_gl_LIBRARY` to empty to use GLVND components for the legacy GL interfaces. This is useful only when one knows in advance that the GLVND components will be found. Add a `OpenGL_GL_PREFERENCE` variable to specify a preference for legacy GL or GLVND. The latter can suppress `OPENGL_gl_LIBRARY` only when the needed GLVND components are found. If no preference is explicitly specified, choose a default based on whether GLVND components were requested (because this indicates the project has been updated for CMake 3.10). Issue: #17437 Issue: #17449
* FindOpenGL: Re-order component library searchesBrad King2017-11-151-7/+8
| | | | | Move the search for the legacy GL library to after the GLVND libraries. For now we still always look for both.
* Merge branch 'doxygen_dot' into release-3.10Brad King2017-11-101-1/+5
|\ | | | | | | Merge-request: !1472
| * FindDoxygen: Fix setting of HAVE_DOT in non-backward-compat modeAndré Apitzsch2017-11-101-1/+5
| | | | | | | | | | | | `DOXYGEN_DOT_FOUND` is only set if `_Doxygen_keep_backward_compat` is used (when no components are requested), so use `Doxygen_dot_FOUND` directly. Preserve the "YES" or "NO" value used previously.
* | Merge branch 'FindOpenGL-no-glvnd-for-GL' into release-3.10Brad King2017-11-091-20/+24
|\ \ | | | | | | | | | Merge-request: !1466
| * | FindOpenGL: Default to non-GLVND libraries for legacy GLBrad King2017-11-091-20/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Projects using `OPENGL_LIBRARIES` or `OpenGL::GL` expect legacy GL. Although GLVND OpenGL+GLX provides legacy GL interfaces, using those library files may conflict with legacy GL library files used by dependencies (or dependents) of such projects. Therefore we should not yet use OpenGL+GLX when a legacy GL library is available. If `OPENGL_gl_LIBRARY` is set then use it as the legacy GL library. If it is *not* set then fall back to using GLVND OpenGL+GLX to provide legacy GL interfaces. This will allow users to build projects using GLVND even if they have not been ported. Fixes: #17437
* | | Merge branch 'FindHDF5-c-version' into release-3.10Brad King2017-11-081-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !1465
| * | | FindHDF5: Fix H5_VERSION on Patch in CAxel Huebl2017-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a typo from commit v3.6.0-rc1~85^2 (HDF5: Refactor the use of compiler wrappers, 2016-04-04) that accidentally used the HDF5 C++ version (which could be empty) while detecting the C patch version. The detection failed for patch releases, such as `1.10.0-patch1` becoming `.1` instead of `1.10.0.1`.
* | | | Merge branch 'implicit-lib-gcceh' into release-3.10Brad King2017-11-081-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !1460
| * | | | Restore exclusion of "gcc_eh" from implicit link librariesChristian Pfeiffer2017-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'FindBoost-fix-policy-scope' into release-3.9Brad King2017-09-271-2/+0
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | This has no corresponding merge-request because the branch was made as a direct fixup specific to 3.9.
| | * | | | FindBoost: Finish reverting "Simplify search in lists" for 3.9Brad King2017-09-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.9.2~3^2 (FindBoost: Revert "Simplify search in lists.", 2017-09-05) we forgot to also revert commit commit v3.9.1~15^2 (FindBoost: pop policy stack before returning, 2017-07-24) which had been made as a fixup to the original commit. Fixes: #17309
| * | | | | FindBoost: Add support for Boost 1.65.0 and 1.65.1 to CMake 3.9Roger Leigh2017-09-181-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport the changes from commit fa114e7d70 (FindBoost: Add Boost 1.65 dependencies, 2017-08-22) and commit dbba53a5aa (FindBoost: Add version 1.65.1, 2017-09-06) to CMake 3.9. Fixes: #17289
| * | | | | Merge branch 'backport-irsl-vs15-future' into release-3.9Brad King2017-09-061-19/+16
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !1240
| * \ \ \ \ \ Merge branch 'FindBoost-fix-policy-scope' into release-3.9Brad King2017-09-051-9/+5
| |\ \ \ \ \ \ | | | |/ / / / | | |/| | | | | | | | | | | Merge-request: !1238
| * | | | | | Merge branch 'android-ndk-r16' into release-3.9Brad King2017-09-051-1/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1237
| * \ \ \ \ \ \ Merge branch 'csharp_fix_initial_flags' into release-3.9Brad King2017-09-051-1/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1232
| * \ \ \ \ \ \ \ Merge branch 'findopenmp-found' into release-3.9Brad King2017-09-051-0/+2
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1233
| * \ \ \ \ \ \ \ \ Merge branch 'ninja-cl-intl' into release-3.9Brad King2017-08-231-0/+1
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1179
* | \ \ \ \ \ \ \ \ \ 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
* | | | | | | | | 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 '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 '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 '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.
* | | | | | | | | 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
* | | | | | | | | | Merge branch 'FindXMLRPC-no-includes' into release-3.10Brad King2017-10-111-29/+14
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1377
| * | | | | | | | | | FindXMLRPC: Tolerate no include directoriesBrad King2017-10-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `xmlrpc-c-config $modules --cflags` may report no `-I` flags if the headers are in a standard location like `/usr/include`. In this case it is okay for `XMLRPC_INCLUDE_DIRS` to be empty. Ideally the `--cflags` output should be used as hints for a `find_path` call to really find the headers as we do for other find modules, but simply assuming no explicit include directories are needed is good enough for now. Fixes: #17347
| * | | | | | | | | | FindXMLRPC: Drop unnecessary exec_program code pathsBrad King2017-10-111-28/+12
| | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We always have `execute_process` now, so drop our ancient `exec_program` code paths that are never used anymore.
* | | | | | | | | | Merge branch 'clang-msvc-help' into release-3.10Brad King2017-10-113-0/+37
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1373
| * | | | | | | | | | Clang: Diagnose unsupported GNU-like clang targeting MSVC ABIBrad King2017-10-103-0/+37
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The LLVM/Clang installer on Windows provides a `LLVM/bin` directory containing `clang.exe` and `clang++.exe` command-line tools that have a GNU-like command-line but target the MSVC ABI (instead of MinGW). We do not support this combination, so diagnose and reject it explicitly. Tell users what to do to use the `clang-cl.exe` tool instead. Issue: #16439
* | | | | | | | | | Merge branch 'cpack-deb-mr-1296-fix' into release-3.10Brad King2017-10-111-6/+33
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !1375
| * | | | | | | | | | CPack/Deb: fix for regex passing even if invalid characters are presentDomen Vrankar2017-10-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regex [+-~] passes all characters between + and ~ and not only +, - and ~
| * | | | | | | | | | CPack/Deb: CPACK_DEBIAN_PACKAGE_VERSION regex testing exceptionDomen Vrankar2017-10-101-6/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPACK_DEBIAN_PACKAGE_VERSION variable could in the past also contain release and epoch version so regex test should expect the entire versioning if both CPACK_DEBIAN_PACKAGE_RELEASE and CPACK_DEBIAN_PACKAGE_EPOCH are not set. Also since the checks were not performed in the past the regex test of CPACK_DEBIAN_PACKAGE_VERSION variable content should only report author warnings instead of errors in case of the test fail. Fixes: #17339
* | | | | | | | | | | Merge branch 'ExternalProject-CMP0054' into release-3.10Brad King2017-10-111-0/+5
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | Merge-request: !1369