summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* XL: Revert "Recognize compilers identified by __ibmxl__"Brad King2019-02-254-26/+10
| | | | | | Revert commit eb1a9be4b6 (XL: Recognize compilers identified by __ibmxl__, 2018-03-05, v3.11.0-rc3~4^2). It is no longer needed because we now use `__ibmxl__` to identify with compiler id `XLClang`.
* XLClang: Add a new compiler ID for the clang-based XL compilerChuck Atkins2019-02-259-0/+95
|
* XL: Look for CreateExportList only on AIXBrad King2019-02-252-22/+22
| | | | | This tool comes with XL on AIX but not on Linux. Move the infrastructure to find and use it to the AIX-specific modules.
* XL: Record C compiler version that started using C99 by defaultChuck Atkins2019-02-251-1/+1
|
* Merge topic 'drop-MIPSpro'Brad King2019-02-258-33/+2
|\ | | | | | | | | | | | | 214fcefa52 Remove now-unused code once used for MIPSpro on IRIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3004
| * Remove now-unused code once used for MIPSpro on IRIXBrad King2019-02-218-33/+2
| | | | | | | | | | | | In commit beb991110d (Remove now-unused code once used on IRIX, 2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support. Also remove remnants of MIPSpro compiler support.
* | Merge topic 'check_lang_source_runs_output'Brad King2019-02-252-2/+12
|\ \ | |/ |/| | | | | | | | | 92d9ec9bfb CheckLangSourceRuns: Capture run output to log files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3011
| * CheckLangSourceRuns: Capture run output to log filesCraig Scott2019-02-232-2/+12
| | | | | | Fixes: #18973
* | Merge topic 'cray-cleanup'Brad King2019-02-202-81/+102
|\ \ | | | | | | | | | | | | | | | | | | d59159afdb Cray: clean up CrayPrgEnv and CrayLinuxEnvironment modules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2945
| * | Cray: clean up CrayPrgEnv and CrayLinuxEnvironment modulesChuck Cranor2019-02-192-81/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CrayPrgEnv: - add a new function __cmake_craype_linktype() that determines what link mode the Cray compiler wrapper will use in a more sophisticated way than just MATCHing for static/dynamic on the command line. - add a new function __cmake_craype_setupenv() that does a once-per-cmake-run setup that does the following: 1. does a basic check of the wrapper's configuration. Running cmake and then changing module and/or linktype configuration may cause build problems (since the data in the cmake cache may no longer be correct after the change). We look for this and warn the user about it. 2. uses the "module" provided PKG_CONFIG_PATH environment variable to add additional prefixes to the system prefix path. This function used to be done by CrayLinuxEnvironment using the compiler implicit include/link paths but that is intended only for cross-compiling on Cray front-end nodes. Since CrayPrgEnv runs on both front-end and compute nodes, we migrate this function here. CrayLinuxEnvironment: - No need to set variables like CMAKE_SHARED_LIBRARY_PREFIX to values that have already been properly established by CMakeGenericSystem.cmake. Remove redundant sets of CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX, CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_FIND_LIBRARY_PREFIXES, and CMAKE_DL_LIBS. - No need to add $ENV{SYSROOT_DIR}/usr/include to CMAKE_SYSTEM_INCLUDE_PATH when we already added $ENV{SYSROOT_DIR}/usr to CMAKE_SYSTEM_PREFIX_PATH. - Remove __cray_list_intersect(), __list_clean_dupes(), and buggy code that adds compiler implicit includes/libs to CMAKE_SYSTEM_INCLUDE_PATH and CMAKE_SYSTEM_LIBRARY_PATH. This function has migrated to CrayPrgEnv.cmake, as noted above. See discussion in issue #17413 for additional details.
* | | Merge topic 'asm-no-slash-question'Brad King2019-02-203-3/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | b186329d3d Use -? instead of /? to test compiler for MSVC-like command-line support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2984
| * | Use -? instead of /? to test compiler for MSVC-like command-line supportBrad King2019-02-193-3/+3
| |/ | | | | | | | | | | | | | | MS-style command-line tools accept either `/` or `-` for command-line options. Prefer `-` over `/` so that non-MS tools do not treat it as a path. Fixes: #18941
* | Merge topic 'fix-legacy-implicit-includes'Brad King2019-02-192-3/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 890bae524c Do not explicitly report "standard" include directories as implicit 5c171ca898 Restore unconditional use of "standard" include directories 9502276f82 Prefix implicit include directories with sysroot on construction Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2981
| * | Do not explicitly report "standard" include directories as implicitBrad King2019-02-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 1293ed8507 (ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake, 2019-01-30, v3.14.0-rc1~26^2) we did not account for `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`. This variable lets platform modules or toolchain files specify directories that are to be explicitly passed as standard include directories. These include directories are used by the test project from which we extract implicit include directories so they appear in the parsed results whether or not the compiler really considers them implicit. Exclude these entries from the computed implicit include directories since they are not actually implied by the compiler when we invoke it with "standard" include directories passed explicitly. Instead teach the build system generators to treat the "standard" directories as implicit for purposes of excluding them from appearing earlier in the compiler command line due to `include_directories` and `target_include_directories` calls. Issue: #18936, #18944
| * | Prefix implicit include directories with sysroot on constructionBrad King2019-02-181-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 7cd65c97fa (Add CMAKE_SYSROOT variable to set --sysroot when cross compiling., 2013-04-13, v3.0.0-rc1~342^2) we have prefixed the value of `CMAKE_SYSROOT` to implicit include directories. This was done because we hard-coded `/usr/include` as an implicit include directory without accounting for the sysroot. Instead we should prefix the hard-coded paths when they are constructed. Update the `Platform/UnixPaths` module to do this as `Platform/Darwin` already does. Since commit 5990ecb741 (Compute implicit include directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2) the values of the `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` variables are computed from a real compiler invocation so they already account for the sysroot prefix. In commit 6fc3382944 (Update logic for sysroot in detected implicit include directories, 2019-02-13, v3.14.0-rc2~6^2) we attempted to apply the prefix conditionally, but that is incorrect because the compiler's real implicit include directories are not all under the sysroot. Instead assume that all implicit include directories in `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` already have the sysroot prefix if needed. Code that constructs the value must be responsible for that because it is the only place that knows.
* | | Merge topic 'FindBoost-layout-tagged'Brad King2019-02-191-0/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | bee6597ac5 FindBoost: Find boost libraries built with --layout=tagged Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2961
| * | | FindBoost: Find boost libraries built with --layout=taggedYves Frederix2019-02-181-0/+8
| | |/ | |/| | | | | | | | | | | | | | | | Pick up libraries of the form `boost_system-mt-x64`, which do not have the version suffix. Fixes: #18908
* | | Merge topic 'externalproject_docs'Brad King2019-02-181-1/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f2072a6554 Help: Clarify ExternalProject_Add()'s LOG_MERGED_STDOUTERR behavior f2820bce15 Release notes: Make ExternalProject dot points consistent Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2978
| * | | Help: Clarify ExternalProject_Add()'s LOG_MERGED_STDOUTERR behaviorCraig Scott2019-02-171-1/+2
| |/ / | | | | | | | | | | | | | | | The output is only merged for a step if it is logging to file. This option is ignored for steps that are logging normally. A minor grammatical error has also been fixed as part of this change.
| * | Merge branch 'try_compile-expand-compile-defs' into release-3.14Brad King2019-02-152-12/+12
| |\ \ | | | | | | | | | | | | Merge-request: !2965
| * \ \ Merge branch 'FindLibXml2' into release-3.14Brad King2019-02-151-1/+1
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !2970
| * \ \ \ Merge branch 'fortran-submodule-names' into release-3.14Brad King2019-02-145-0/+15
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !2958
| * \ \ \ \ Merge branch 'fix-legacy-implicit-includes' into release-3.14Brad King2019-02-132-6/+1
| |\ \ \ \ \ | | | |_|_|/ | | |/| | | | | | | | | Merge-request: !2957
| * | | | | Merge branch 'FindMatlab-version-empty' into release-3.14Brad King2019-02-111-2/+2
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !2949
* | \ \ \ \ \ Merge topic 'FindLibXml2'Brad King2019-02-151-1/+1
|\ \ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fd86a4de04 FindLibXml2: Document LibXml2_FOUND as preferred case Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2970
| * | | | | | FindLibXml2: Document LibXml2_FOUND as preferred caseSaleem Abdulrasool2019-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both `LIBXML2_FOUND` and `LibXml2_FOUND` are provided but the modern convention is to use the case that matches the module name.
* | | | | | | Merge topic 'try_compile-expand-compile-defs'Brad King2019-02-152-12/+12
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cde2596a19 try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2965
| * | | | | | try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONSBrad King2019-02-152-12/+12
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The quoting added by commit 8c5221fb1f (try_compile: Preserve special characters in COMPILE_DEFINITIONS, 2019-01-21, v3.14.0-rc1~108^2~3) broke the case that the `COMPILE_DEFINITIONS` value contains a `;`. Without the quoting the `;` would be generated literally in an unquoted argument in the test `CMakeLists.txt` file and would then be expanded. With quoting the `;` is preserved, which is not the old behavior. Fix this by expanding the `;`-list ahead of time. Add test cases for behavior with both `#` and `;`. This was noticed with the PGI compiler where we set `CMAKE_CXX*_STANDARD_COMPILE_OPTION` to values like `--c++17;-A`. The symptom had also been observed while preparing commit ef8f237686 (ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix, 2019-01-29, v3.14.0-rc1~26^2~2) but was not recognized at the time as a regression. Revert the workaround added by that commit. Fixes: #18919
* | | | | | Merge topic 'fortran-submodule-names'Brad King2019-02-145-0/+15
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d80ecba5c2 Fortran: Fix submodule file names across compilers 72057d9c15 Fortran: Thread compiler id through to internal Fortran parser 7ae329e2ed Fortran: Factor out .mod and .smod file name construction Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Michael Hirsch, Ph.D. <michael@scivision.co> Merge-request: !2958
| * | | | | Fortran: Fix submodule file names across compilersBrad King2019-02-145-0/+15
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The naming convention for submodule files varies across compilers. Add a table to the compiler information modules and thread the information through to the Fortran module dependency parser. Fill out the table for compiler ids known to support Fortran submodules. Fixes: #18746
* | | | | Merge topic 'fix-legacy-implicit-includes'Brad King2019-02-142-6/+1
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6fc3382944 Update logic for sysroot in detected implicit include directories 2ad14ef4ea cmAlgorithms: Add cmHasPrefix to match existing cmHasSuffix 557b2d6e65 Fix regression in -I/usr/include exclusion logic 017598a444 macOS: Fix addition of <sdk>/usr/include to default implicit include dirs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2957
| * | | | Fix regression in -I/usr/include exclusion logicBrad King2019-02-131-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit 15ad830062 (Refactor exclusion of -I/usr/include to avoid per-language values, 2019-01-21, v3.14.0-rc1~108^2~4) caused the exclusion to apply to Fortran, but it was only meant for C, CXX, and CUDA. The purpose of the change was to prepare for the value of `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` to be computed from the actual compiler instead of hard-coded. We need to preserve exclusion of `-I/usr/include` if the compiler has any implicit include directory that looks intended to replace it, e.g. `<sdk>/usr/include` on macOS. Fixes: #18914
| * | | | macOS: Fix addition of <sdk>/usr/include to default implicit include dirsBrad King2019-02-131-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 1293ed8507 (ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake, 2019-01-30, v3.14.0-rc1~26^2) the `Platform/UnixPaths` module was updated to add `/usr/include` to `CMAKE_{C,CXX,CUDA}_IMPLICIT_INCLUDE_DIRECTORIES` through an initialization variable used by `CMakeDetermineCompilerABI` instead of directly. This approach makes it only a default that can be overridden by detection of the implicit include directories really used by the compiler. The addition of `<sdk>/usr/include` to default implicit include directories by the `Platform/Darwin` module needs the same update but was accidentally left out of the original commit.
* | | | Merge topic 'FindMatlab-version-empty'Brad King2019-02-121-2/+2
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 40176749bc FindMatlab: Tolerate empty version log file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2949
| * | | FindMatlab: Tolerate empty version log fileSebastian Nagel2019-02-111-2/+2
| |/ /
* | | Merge topic 'FindOctave-interp-target'Brad King2019-02-121-1/+13
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 6725975bd8 FindOctave: Add target for octinterp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2931
| * | FindOctave: Add target for octinterpPeter Stroia-Williams2019-02-081-1/+13
| | | | | | | | | | | | | | | | | | This change adds the Octave::Octinterp target to make the octinterp library available without users having to resort to using the Octave_INTERP_LIBRARY variable.
| * | Merge branch 'cpack-ifw-error-wording' into release-3.14v3.14.0-rc1Brad King2019-02-071-1/+1
| |\ \ | | | | | | | | | | | | Merge-request: !2928
| * \ \ Merge branch 'FindHDF5-cleanup' into release-3.14Brad King2019-02-071-59/+81
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !2916
* | \ \ \ Merge topic 'mingw-ar-suffix'Brad King2019-02-073-4/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 42825fc220 MinGW: Fix locating BinUtils when compiler has a suffix Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2924
| * | | | | MinGW: Fix locating BinUtils when compiler has a suffixRegina Pfeifer2019-02-063-4/+6
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While all executables from a mingw toolchain share a common prefix, only the ones provided with the compiler have a suffix, the binutils do not. Fixes: #18879
* | | | | Merge topic 'findcups'Brad King2019-02-071-9/+39
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd45f23b01 FindCups: add imported target Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2917
| * | | | | FindCups: add imported targetPatrick Gansterer2019-02-061-9/+39
| |/ / / /
* | | | | Merge topic 'cpack-ifw-error-wording'Brad King2019-02-071-1/+1
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | 60a8d4c5f4 CPack/IFW: Correct wording in error message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2928
| * | | | CPack/IFW: Correct wording in error messageJoachim Wuttke (o)2019-02-071-1/+1
| |/ / /
* | | | Merge topic 'FindHDF5-cleanup'Brad King2019-02-071-59/+81
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | | | | d3d9e6b760 FindHDF5: Modernize formatting of variable documentation acbd69c219 FindHDF5: Use execute_process instead of exec_program Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2916
| * | FindHDF5: Modernize formatting of variable documentationMichael Hirsch, Ph.D2019-02-071-49/+69
| | |
| * | FindHDF5: Use execute_process instead of exec_programMichael Hirsch, Ph.D2019-02-071-10/+12
| |/
* | Xcode: Derive stdlib from CXX flagsGregor Jasny2019-02-072-0/+10
|/ | | | Closes: #18396
* Merge topic '17870-iphone-friendly-cmake'Brad King2019-02-0517-17/+66
|\ | | | | | | | | | | | | | | | | e8ee8cab97 Xcode: Completely disable code signing for compiler id detection 11da882a12 Apple: Introduce separate system name for iOS, tvOS, and watchOS 36cf44a7a3 Tests: Isolate RunCMake.XcodeProject per-device cases from host arch Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2392