summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | 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
| * | Xcode: Completely disable code signing for compiler id detectionGregor Jasny2019-02-042-14/+1
| | | | | | | | | | | | Issue: #17870
| * | Apple: Introduce separate system name for iOS, tvOS, and watchOSGregor Jasny2019-02-0416-4/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove code signing requirements for non-macOS - Do not set deployment target for non-macOS - Build static library for compiler feature detection for non-macOS - Use framework to run CompilerId tests for watchOS - Port tests to new SDK handling - Add new Apple cross-compiling section to toolchain documentation Closes: #17870
* | | Xcode: Update default Swift language version for Xcode 10.2Brad King2019-02-041-0/+2
| | | | | | | | | | | | | | | | | | Xcode 10.2 no longer supports Swift language versions before 4.0. Fixes: #18871
* | | Merge topic 'implicit-incs-cleanup'Brad King2019-02-0121-178/+77
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1293ed8507 ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake eaf53158f4 CrayPrgEnv/ParseImplicitIncludes: simplify for new implict include parser ef8f237686 ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2894
| * | | ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmakeChuck Cranor2019-01-302-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first time you run cmake, it sets the implicit include path to the value reported by the parser (and this value gets saved in CMake${lang}Compiler.cmake). But if you re-run cmake, UnixPaths.cmake blindly appends an extra /usr/include to the value saved in CMake${lang}Compiler.cmake. That should not be harmful in most cases, but we want later runs of cmake to be consistent with the initial one. Resolve using a solution suggested by Brad King: - UnixPaths now sets the default implicit include path in a new variable named _CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES_INIT This value is only used the first time cmake is run (by CMakeDetermineCompilerABI.cmake when it calls the implicit include parser). - if CMakeDetermineCompilerABI.cmake successfully calls the implicit include parser, it overwrites the value in _CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES_INIT with the value returned by the parser - CMakeDetermineCompilerABI.cmake always sets CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES to the above value of _CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES_INIT - the final value of CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES gets saved to CMake${lang}Compiler.cmake when it is regenerated after the compiler tests are done. - CMakeDetermineCompilerABI.cmake is only executed the first time cmake is run. Additional runs of cmake directly load the implicit include path from the value saved in CMake${lang}Compiler.cmake (the parser and _INIT variable are not used). The above depends on UnixPaths.cmake being loaded to set the _INIT value before CMakeDetermineCompilerABI.cmake runs the implicit include parser.
| * | | CrayPrgEnv/ParseImplicitIncludes: simplify for new implict include parserChuck Cranor2019-01-2916-155/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove now redundant implicit parser code from CrayPrgEnv.cmake, as this function is now supported in the general cmake code (e.g. Modules/CMakeParseImplicit{Include,Link}Info.cmake). This simplifies __CrayPrgEnv_setup() to take only one arg (${lang}) and allows us to remove a level of inclusion as CrayPrgEnv-${lang}.cmake is now compiler independent we do not need the CrayPrgEnv-${compiler}-${lang} files any more.
| * | | ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fixChuck Cranor2019-01-293-16/+61
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add implicit include parser for PGI compiler ID. PGI verbose output for CXX differs from C and Fortran, so CXX is broken out into its own case. The C and Fortran compilers take "-YI,path" and "-Mnostdinc" to change or disable the builtin include path. The last arg on the command line appears to override previous args (e.g. "-YI,path1 -YI,path2" will set the path to "path2" ... the previous "-YI,path1" gets undone). The CXX compiler verbose output reports with "-I" rather than "-stdinc" for the built in path. In addition with CXX "-Mnostdinc" does not completely zero the include path (e.g. "#include <stdio.h>" still works with "-Mnostdinc"... "-I/usr/include" still shows up in the verbose output). Minor adjustments to get the SunPro parser to handle Fortran as well. Fixes for Cray compiler support (Modules/Compiler/Cray-{C,CXX}.cmake): The *_COMPILE_OPTION flags contain options like "-h c99,gnu" ... these options need to be in double quotes (they are currently not). Otherwise, cmake treats them as lists and tries to run the compiler with "-h;c99,gnu" and fails when it is "Detecting C compile features"... Also, the Cray-CXX.cmake contains "__compiler_cray(C)" instead of "__compiler_cray(CXX)" -- this error prevents the correct VERBOSE flags for CXX from being defined which prevents the implicit include parser from running. Add additional test cases for PGI and SunPro Fortran to the Tests/RunCMake/ParseImplicitIncludeInfo area.
* | | Merge topic 'ninja-intel-depfile'Brad King2019-01-312-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a624a3e1b3 Ninja: Use deps=gcc for Intel Compiler on Windows f4f3b6b9af Ninja: Detect when ninja is new enough to support a multi-line depfile 699cd03212 Ninja: Drop unnecessary deptype customization infrastructure Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2893
| * | | Ninja: Use deps=gcc for Intel Compiler on WindowsBrad King2019-01-302-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ninja 1.9 supports the depfile format generated by this compiler. Use `deps = gcc` when the version of Ninja is new enough. Unfortunately the Intel Compiler for Windows does not properly escape spaces in paths written to a depfile so if there is a space in the path we must still fall back to `deps = msvc`. Fixes: #18855
* | | | Merge topic 'xerces-xalan-header-checking'Brad King2019-01-312-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c68465f790 FindXercesC, FindXalanC: Don't examine non-existent version headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2884
| * | | | FindXercesC, FindXalanC: Don't examine non-existent version headersRoger Leigh2019-01-302-2/+2
| |/ / /
* | | | Merge topic 'lapack-docs'Brad King2019-01-312-82/+123
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | be7b30f67e Find{BLAS,LAPACK}: Add note and example for using Intel MKL b323407235 Find{BLAS,LAPACK}: Update docs to use modern conventions ba30b94435 FindLAPACK: Remove extra indentation from a line Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2880
| * | | | Find{BLAS,LAPACK}: Add note and example for using Intel MKLMichael Hirsch, Ph.D2019-01-302-0/+22
| | | | |
| * | | | Find{BLAS,LAPACK}: Update docs to use modern conventionsMichael Hirsch, Ph.D2019-01-302-85/+104
| | | | |
| * | | | FindLAPACK: Remove extra indentation from a lineMichael Hirsch, Ph.D2019-01-301-1/+1
| | |/ / | |/| |
* | | | Find{BLAS,LAPACK}: Drop unnecessary mark_as_advanced callsBrad King2019-01-312-2/+0
| |/ / |/| | | | | | | | Cache entries created by `try_compile` are already `INTERNAL`.
* | | Merge topic 'fetchcontent-reduce-boilerplate'Brad King2019-01-301-73/+211
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a94355c7b7 FetchContent: Add new command FetchContent_MakeAvailable() 611d5274de Sphinx: Add limited support for nested variables in docs 1a07e1b47d FetchContent: Trivial doc corrections Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2830
| * | | FetchContent: Add new command FetchContent_MakeAvailable()Craig Scott2019-01-261-68/+206
| | | | | | | | | | | | Relates: #18754
| * | | FetchContent: Trivial doc correctionsCraig Scott2019-01-201-6/+6
| | | |
* | | | Merge topic 'UseJava-if-cleanup'Brad King2019-01-301-147/+147
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | 95ef818c7d UseJava: clean-up if() expressions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2871
| * | | UseJava: clean-up if() expressionsMarc Chevrier2019-01-281-147/+147
| | | | | | | | | | | | | | | | Fixes: #18836
* | | | Merge topic 'doxygen-escaping'Brad King2019-01-281-1/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e81fd5d5ba FindDoxygen: Escape backslashes in default values Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Julien Schueller <schueller@phimeca.com> Merge-request: !2867
| * | | | FindDoxygen: Escape backslashes in default valuesCraig Scott2019-01-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doxygen 1.8.15 added a new LATEX_MAKEINDEX_CMD config item and it has a default value that contains a backslash on some installations. Fixes: #18738
* | | | | Merge topic 'implicit-incs-upd'Brad King2019-01-282-12/+98
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2e91627dea ParseImplicitIncludeInfo: add Fortran implicit include handling 568343767e ParseImplicitIncludeInfo: handle/add SunPro, XL, and -nostdinc test cases Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2855
| * | | | | ParseImplicitIncludeInfo: add Fortran implicit include handlingChuck Cranor2019-01-252-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently cmake is only setting CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES the first time it runs (the implicit includes parser is only run when the cache variables are initially populated). It is left unset during additional runs. This behavior is both confusing and inconsistent. Modify CMakeFortranCompiler.cmake.in to preserve the value of CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES so that cmake's Fortran behavior matches C and CXX (i.e. CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES retains its value across runs). The implicit includes variable may not be as useful for Fortran as it is for C and CXX, but we do want cmake to be consistent in how it is handled. Adjust CMakeParseImplicitIncludeInfo to parse verbose Fortran output for Cray and XL compiler IDs (GNU and clang were already ok since they use the same verbose output format as they do with C/CXX). Allow Tests/RunCMake/ParseImplicitIncludeInfo/data/CMakeLists.txt to generate test inputs for Fortran too, and add some sample Fortran input files for the Tests/RunCMake/ParseImplicitIncludeInfo test.
| * | | | | ParseImplicitIncludeInfo: handle/add SunPro, XL, and -nostdinc test casesChuck Cranor2019-01-251-11/+90
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add parser code for compiler IDs SunPro and XL. For SunPro, /usr/include appears to be hardwired in and it does not have a -nostdinc-type flag. For XL, the "xlc" and "xlC" commands determine if you are C or C++ based on input filename. So compiling x.c with "xlC" reverts to C and compiling x.cc with "xlc" upgrades to CXX. System include paths are specified by: -qc_stdinc=[path] and -qgcc_c_stdinc=[path] (for C) -qcpp_stdinc=[path] and -qgcc_cpp_stdinc=[path] (for CXX) If you specify "-qnostdinc" then the above flags are ignored. Specifying an empty path reverts the value to the default path (e.g. "-qgcc_c_stdinc=" reverts that to the default). Adjust the code to handle parsing the case where the user specifies additional compiler include flags via CMAKE_C_FLAGS/CMAKE_CXX_FLAGS. For example: "-DCMAKE_C_FLAGS=-nostdinc" ... note that gcc and clang output slightly differ when -nostdinc is specified (clang skips printing 'search starts here:' with the angle brackets, gcc always prints it). Enable sunos-{C,CXX}-SunPro test cases and add XL test cases. Also add a few -nostdinc style tests.
* | | | | Merge topic 'png-optimize'Brad King2019-01-281-0/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b9e6d04558 Reduce size of PNG images 880e380599 CPack: Replace corrupted background png with original Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2852
| * | | | | Reduce size of PNG imagesLucy Phipps2019-01-251-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use FileOptimizer 13.50.2431 (x86) and ZopfliPNG 1.0.2. Update expected file hashes in tests.
| * | | | | CPack: Replace corrupted background png with originalLucy Phipps2019-01-251-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `Modules/CPack.background.png.in` file was originally added by commit f2c0dbd164 (ENH: More work on the packaging. Add Applicaitons, add icons, etc, 2007-02-13, v2.6.0~2217). Then it was removed accidentally by commit 5308afa3f7 (ENH: remove unused file, 2009-03-03, v2.8.0~963) and restored by commit f9dd6a38c5 (ENH: add file back bug use cmake image, 2009-03-04, v2.8.0~958) but with corruption. Restore the original image file and add a Git attribute to prevent newline conversion as we do for other `.png` files.
* | | | | | Merge topic 'intel-compile-features'Brad King2019-01-281-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fc40bca590 Intel: Record support for relaxed constexpr by version 18.0.5 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2862