summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* VS: Add support for explicit 32-bit toolset selection via host=x86Brad King2019-01-2814-16/+35
| | | | | Generalize the ``host=x64`` option in `CMAKE_GENERATOR_TOOLSET` to also support ``host=x86``.
* VS: Remove stray semicolons from VS 2019 implementationBrad King2019-01-281-3/+3
|
* VS: Use internal abstraction for VCTargetsPath host archBrad King2019-01-281-3/+2
| | | | | Call our internal host architecture lookup method rather than directly accessing a member used by its implementation.
* Merge topic 'commit-ref-in-prose'Brad King2019-01-281-5/+14
|\ | | | | | | | | | | | | 939dc9a58c Help: prefer commit hashes in commit references Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2854
| * Help: prefer commit hashes in commit referencesBen Boeckel2019-01-251-5/+14
| | | | | | | | | | | | | | | | | | | | | | The logic is that the describe output is readily available using `git tag --contains` locally. In addition, for a hypothetical commit which landed in both v3.9.4 and v3.10.1, there is no "better" tag to refer to. since v3.10.0's relation to such a commit is unclear either way. Also mention that a `Fixes` trailer is preferred if the mention is just to indicate a commit which introduced an error rather than writing a complete sentence about it.
* | Merge topic 'cmake-gui-s-b'Brad King2019-01-283-12/+57
|\ \ | | | | | | | | | | | | | | | | | | | | | ad0853b3d4 QtDialog: Clean up and document -S and -B options Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robert.maynard@kitware.com> Merge-request: !2863
| * | QtDialog: Clean up and document -S and -B optionsKyle Edwards2019-01-253-12/+57
| | |
* | | Merge branch 'release-3.13'Brad King2019-01-280-0/+0
|\ \ \
| * \ \ Merge branch 'doxygen-escaping' into release-3.13Brad King2019-01-281-1/+3
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !2867
* | \ \ \ 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 'cmake-E-compare_files-eol'Brad King2019-01-2813-7/+37
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a5098cad94 cmake: Add --ignore-eol option to `-E compare_files` command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2778
| * | | | | cmake: Add --ignore-eol option to `-E compare_files` commandTaylor Braun-Jones2019-01-2813-7/+37
| | |_|/ / | |/| | | | | | | | | | | | | Fixes: #13007
* | | | | Merge topic 'get_filename_component_last_ext'Brad King2019-01-284-1/+15
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a9220c34d Help: Add notes for topic 'get_filename_component_last_ext' edda30d0f5 Tests: Add tests for LAST_EXT and NAME_WLE 7a25ef326b Help: Add documentation for new get_filename_component components e50a36df48 cmGetFilenameComponentCommand: Add more components Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2853
| * | | | | Help: Add notes for topic 'get_filename_component_last_ext'Brad King2019-01-281-0/+6
| | | | | |
| * | | | | Tests: Add tests for LAST_EXT and NAME_WLETushar Maheshwari2019-01-241-1/+3
| | | | | |
| * | | | | Help: Add documentation for new get_filename_component componentsTushar Maheshwari2019-01-241-0/+2
| | | | | |
| * | | | | cmGetFilenameComponentCommand: Add more componentsTushar Maheshwari2019-01-241-0/+4
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | LAST_EXT: gets last extension from filename with multiple periods NAME_WLE: gets the name without the last extension
* | | | | Merge topic 'implicit-incs-upd'Brad King2019-01-2847-19/+1183
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2517-12/+449
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2533-13/+740
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'vs2019'Brad King2019-01-286-10/+2562
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 626c51f47b VS: Update for Visual Studio 2019 Preview 2 fd45cbf40e VS: Fix `/MANIFESTUAC:` link flag mapping for v142 db35e3cfd6 VS: Fix support for '/guard:cf' linker flag for v142 533f95c847 VS: Map the link `/debug` flag for v142 d2fcc6748a VS: Fix `/MANIFESTUAC:NO` link flag mapping for v142 a7973ccb53 VS: Populate `/permissive` flag table entry for v142 049410c0b6 VS: Populate `/JMC-` flag table entry for v142 43aa632f57 VS: Populate `-Qspectre-` flag table entry for v142 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2856
| * | | | | VS: Update for Visual Studio 2019 Preview 2Brad King2019-01-244-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The toolset is now called `v142`. Use matching flag tables. Fixes: #18834
| * | | | | VS: Fix `/MANIFESTUAC:` link flag mapping for v142Brad King2019-01-241-21/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit 454b47ba0b (VS: Fix MANIFESTUAC link flag map to .vcxproj elements, 2018-11-21) to the v142 flag table. Add special parsing of the flags given in `/MANIFESTUAC:"..."` in order to map them correctly to `.vcxproj` elements. Keep the old incorrect flag table entries for `uiAccess` and `level` flags for compatibility even though they do not really exist.
| * | | | | VS: Fix support for '/guard:cf' linker flag for v142Brad King2019-01-241-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit 57a78b5526 (VS: Fix support for '/guard:cf' linker flag, 2018-11-21) to the v142 flag table. Although `$(VCTargetsPath)/1033/link.xml` contains an entry for `LinkControlFlowGuard`, it does not work when used in a `.vcxproj` file (at least as of v140 and v141). Drop our link flag table entries for these toolsets so that the flag will be passed via `AdditionalOptions`.
| * | | | | VS: Map the link `/debug` flag for v142Brad King2019-01-241-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the changes from commit a5d9aa5063 (VS: Map the link `/debug` to its IDE property, 2018-11-21) and commit f77320c12a (VS: Add v140 and v141 flag table entries for /DEBUG:NONE and /DEBUG:FULL, 2018-11-21) to the v142 flag table. See commit ae44496e2b (VS: Fix GenerateDebugInformation values for v140 and v141 toolsets, 2017-06-27, v3.9.0-rc6~15^2~1) for explanation.
| * | | | | VS: Fix `/MANIFESTUAC:NO` link flag mapping for v142Brad King2019-01-241-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit 1d00fd7702 (VS: Fix /MANIFESTUAC:NO linker option mapping, 2018-11-21) to the v142 flag table. There are no versions of `/MANIFESTUAC:NO` where addition values are appended. Remove both of the `MANIFESTUAC:NO` entries from our flag tables and replace them with one which would set `EnableUAC` to false and immediately stop processing the `/MANIFESTUAC:NO` option.
| * | | | | VS: Populate `/permissive` flag table entry for v142Brad King2019-01-241-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit e0d6d01e52 (VS: Add flag table entry for "permissive" flag to disable conformance mode, 2018-12-10) to the v142 flag table.
| * | | | | VS: Populate `/JMC-` flag table entry for v142Brad King2019-01-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Add the negative form of the option.
| * | | | | VS: Populate `-Qspectre-` flag table entry for v142Brad King2019-01-241-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than the change from commit 584ad067ba (VS: Fix flag table entry for -Qspectre, 2018-11-26), update the v142 flag table with an actual flag for the negative form of the flag. Switch the entry order so that the longer negative form is first.
| * | | | | VS: Populate `/Y-` flag table entry for v142Brad King2019-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit 8df25f9400 (VS: connect /Y- compiler option with "Not Using Precompiled Headers", 2018-11-26) to the v142 flag table.
| * | | | | VS: Add `-Zc:inline[-]` flag table entry for v142Brad King2019-01-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit f1223e34c6 (VS: Add v140 flag table entries for `-Zc:inline[-]`, 2018-11-26) to the v142 flag table. The documentation of this option [1] claims that the default is off, but VS seems to use `-Zc:inline` by default if `RemoveUnreferencedCodeData` does not appear in the `.vcxproj` file. Add the flag table entry to allow use of the flag to be configured. [1] https://msdn.microsoft.com/en-us/library/dn642448.aspx
| * | | | | VS: Fix `/analyze:log` flag mapping for v142Brad King2019-01-241-14/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit 44dc9fc48a (VS: Fix /analyze:log flag mapping, 2018-11-26) to the v142 flag table. The `/analyze:log` argument requires a value in the following argument. Also drop the general `/analyze:` flag table entry so that such flags will be passed through as plain additional options. This is necessary because some such options have following values and some do not but not all have `.vcxproj` elements to hold the values.
| * | | | | VS: Add v142 flag tables for cl and link toolsBrad King2019-01-242-0/+2544
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert from MSBuild `.xml` files: python cmConvertMSBuildXMLToJSON.py -t v142 .../2019/Preview/MSBuild/Microsoft/VC/v160/1033/cl.xml python cmConvertMSBuildXMLToJSON.py -t v142 .../2019/Preview/MSBuild/Microsoft/VC/v160/1033/link.xml
* | | | | Merge topic 'png-optimize'Brad King2019-01-2832-10/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2531-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-252-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'release-3.13'Brad King2019-01-280-0/+0
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | Merge branch 'intel-compile-features' into release-3.13Brad King2019-01-251-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !2862
* | \ \ \ \ \ 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
| * | | | | | Intel: Record support for relaxed constexpr by version 18.0.5Brad King2019-01-251-1/+1
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the special case added by commit f719a13c28 (Features: Add special case to disable relaxed constexpr for Intel 18, 2018-06-04, v3.12.0-rc1~11^2) to record that 18.0.5 fixed the regression.
* | | | | | Merge topic 'FindPythonInterp-version-fix'Brad King2019-01-281-7/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 08dee696b5 FindPythonInterp: Do not assume any version if test script fails Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2835
| * | | | | | FindPythonInterp: Do not assume any version if test script failsMarc Chevrier2019-01-221-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Python version is retrieved by executing a small python script. If, for any reason, script fails to execute, leave the `PYTHON_VERSION_*` variables undefined instead of assuming version 1.4. Fixes: #18799
* | | | | | | CMake Nightly Date StampKitware Robot2019-01-281-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2019-01-271-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2019-01-261-1/+1
| |_|_|_|_|/ |/| | | | |
* | | | | | Merge topic 'max-recursion-depth'Brad King2019-01-25103-5/+776
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a6982cff0d cmMakefile: Impose maximum recursion limit Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Juraj Oršulić <juraj.orsulic@fer.hr> Merge-request: !2746
| * | | | | | cmMakefile: Impose maximum recursion limitKyle Edwards2019-01-23103-5/+776
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to keep infinitely-recursive scripts from causing a stack overflow in the CMake executable, CMake now imposes a maximum recursion limit before issuing an error message. The limit can be adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH. Fixes: #18694
* | | | | | Merge topic 'exclude_from_all'Brad King2019-01-2514-29/+92
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc6888573d Pass EXCLUDE_FROM_ALL from directory to targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2816
| * | | | | | Pass EXCLUDE_FROM_ALL from directory to targetsZack Galbreath2019-01-2114-29/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a target is created it now inherits the EXCLUDE_FROM_ALL property from its directory. This change makes it possible to include a target in "all", even if its directory has been marked as EXCLUDE_FROM_ALL.