Commit Graph

42105 Commits

Author SHA1 Message Date
Chuck Cranor eaf53158f4 CrayPrgEnv/ParseImplicitIncludes: simplify for new implict include parser
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.
2019-01-29 08:17:44 -07:00
Chuck Cranor ef8f237686 ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix
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.
2019-01-29 07:48:03 -07:00
Brad King fc96aa03f8 Merge topic 'commit-ref-in-prose'
939dc9a58c Help: prefer commit hashes in commit references

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2854
2019-01-28 08:45:24 -05:00
Brad King 8e495333c0 Merge topic 'cmake-gui-s-b'
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
2019-01-28 08:36:58 -05:00
Brad King f677a3d7de Merge branch 'release-3.13' 2019-01-28 08:30:30 -05:00
Brad King c1922c9660 Merge topic 'doxygen-escaping'
e81fd5d5ba FindDoxygen: Escape backslashes in default values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Julien Schueller <schueller@phimeca.com>
Merge-request: !2867
2019-01-28 08:30:07 -05:00
Brad King f4547578aa Merge branch 'doxygen-escaping' into release-3.13
Merge-request: !2867
2019-01-28 08:29:28 -05:00
Brad King a844c7248d Merge topic 'cmake-E-compare_files-eol'
a5098cad94 cmake: Add --ignore-eol option to `-E compare_files` command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2778
2019-01-28 08:27:03 -05:00
Taylor Braun-Jones a5098cad94 cmake: Add --ignore-eol option to -E compare_files command
Fixes: #13007
2019-01-28 08:24:50 -05:00
Brad King 1593e16d88 Merge topic 'get_filename_component_last_ext'
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
2019-01-28 08:21:50 -05:00
Brad King 2a9220c34d Help: Add notes for topic 'get_filename_component_last_ext' 2019-01-28 08:20:24 -05:00
Brad King dc752c9d2d Merge topic 'implicit-incs-upd'
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
2019-01-28 08:08:36 -05:00
Brad King ce57bc8e04 Merge topic 'vs2019'
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
2019-01-28 08:07:28 -05:00
Brad King 70fabb8f25 Merge topic 'png-optimize'
b9e6d04558 Reduce size of PNG images
880e380599 CPack: Replace corrupted background png with original

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2852
2019-01-28 08:04:51 -05:00
Brad King f3f9ca1d7c Merge branch 'release-3.13' 2019-01-28 08:03:52 -05:00
Brad King 6d57201868 Merge topic 'intel-compile-features'
fc40bca590 Intel: Record support for relaxed constexpr by version 18.0.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2862
2019-01-28 07:59:30 -05:00
Brad King f411e936be Merge topic 'FindPythonInterp-version-fix'
08dee696b5 FindPythonInterp: Do not assume any version if test script fails

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2835
2019-01-28 07:58:45 -05:00
Kitware Robot f832f15509 CMake Nightly Date Stamp 2019-01-28 00:01:05 -05:00
Kitware Robot f725750f04 CMake Nightly Date Stamp 2019-01-27 00:01:05 -05:00
Craig Scott e81fd5d5ba FindDoxygen: Escape backslashes in default values
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
2019-01-27 10:34:05 +11:00
Kitware Robot be2cc309f1 CMake Nightly Date Stamp 2019-01-26 00:01:07 -05:00
Kyle Edwards ad0853b3d4 QtDialog: Clean up and document -S and -B options 2019-01-25 16:23:56 -05:00
Chuck Cranor 2e91627dea ParseImplicitIncludeInfo: add Fortran implicit include handling
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.
2019-01-25 10:57:42 -07:00
Ben Boeckel 939dc9a58c Help: prefer commit hashes in commit references
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.
2019-01-25 12:10:10 -05:00
Chuck Cranor 568343767e ParseImplicitIncludeInfo: handle/add SunPro, XL, and -nostdinc test cases
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.
2019-01-25 07:48:00 -07:00
Lucy Phipps b9e6d04558 Reduce size of PNG images
Use FileOptimizer 13.50.2431 (x86) and ZopfliPNG 1.0.2.

Update expected file hashes in tests.
2019-01-25 09:14:51 -05:00
Lucy Phipps 880e380599 CPack: Replace corrupted background png with original
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.
2019-01-25 09:04:35 -05:00
Brad King 40628b2519 Merge topic 'max-recursion-depth'
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
2019-01-25 08:09:37 -05:00
Brad King 24b6e4830d Merge topic 'exclude_from_all'
dc6888573d Pass EXCLUDE_FROM_ALL from directory to targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2816
2019-01-25 08:06:54 -05:00
Brad King 15bc4a25e5 Merge topic 'swift'
de13c55d74 Ninja: support `SWIFT_MODULE_NAME` property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2850
2019-01-25 08:06:01 -05:00
Brad King 9a2bddb704 Merge topic 'FindICU-win64'
26b7a8e77e FindICU: Find 64-bit Windows builds under CMP0074 NEW behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2859
2019-01-25 08:05:06 -05:00
Brad King a8f5155523 Merge topic 'clang-warnings'
c3203bf316 Silence -Wcomma warning
68eabb3576 Avoid -Wstring-plus-int warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2846
2019-01-25 08:04:19 -05:00
Brad King b4ccb6cd32 Merge topic 'update-kwsys'
d67ce0a61e Merge branch 'upstream-KWSys' into update-kwsys
bee32e96b3 KWSys 2019-01-24 (b9dd1636)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2851
2019-01-25 08:02:21 -05:00
Brad King 40745ad35a Merge topic 'cmake-files-directory'
3e867ed400 cmake: inlined files dir constant and removed it from cmake.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Rejected-by: vvs31415 <vstakhovsky@fastmail.com>
Merge-request: !2655
2019-01-25 08:01:26 -05:00
Brad King c18fc30d1a Merge topic 'renamefile-string'
9e5c13738b cmSystemTools::RenameFile: Accepts std::string args

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2842
2019-01-25 08:00:14 -05:00
Brad King 9f84cbd8c3 Merge topic 'error-overloads'
99337d345b cmSystemTools::Error(): new overload accepting std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2845
2019-01-25 07:59:11 -05:00
Brad King 5a6e683a32 Merge topic 'unixmfg3-string'
614876c638 cmLocalUnixMakefileGenerator3: more methods accept std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2840
2019-01-25 07:58:12 -05:00
Brad King 27eb8cc6ba Merge branch 'intel-compile-features' into release-3.13
Merge-request: !2862
2019-01-25 07:57:23 -05:00
Brad King fc40bca590 Intel: Record support for relaxed constexpr by version 18.0.5
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.
2019-01-25 07:56:37 -05:00
Brad King 73a6605e06 Merge branch 'release-3.13' 2019-01-25 07:55:29 -05:00
Brad King a5f7652fb9 Merge topic 'revert-file-alt-httpauth'
646eedcfcb Revert "file: Allow DOWNLOAD/UPLOAD using alternate authentication methods"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2858
2019-01-25 07:51:25 -05:00
Brad King 29fbd3c9a0 Merge topic 'aarch64-no-std-move-function'
8f56f22b84 cmListCommand: Avoid std::function move constructor on aarch64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2857
2019-01-25 07:50:23 -05:00
Marc Chevrier 0d8d7a6896 Merge topic 'FindPython-numpy'
513e77550d FindPython: Introduce NumPy component

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2734
2019-01-25 04:18:11 -05:00
Kitware Robot d47aa71b39 CMake Nightly Date Stamp 2019-01-25 00:01:06 -05:00
Johannes Reiff 26b7a8e77e FindICU: Find 64-bit Windows builds under CMP0074 NEW behavior
CMP0074 causes FindICU.cmake to always prefer the 32-bit version of ICU
programs/libraries on Windows. NO_PACKAGE_ROOT_PATH reverts this behavior.

Fixes: #18742
2019-01-24 14:55:35 -05:00
Brad King 329cf7f3e3 Merge branch 'revert-file-alt-httpauth' into release-3.13
Merge-request: !2858
2019-01-24 14:18:23 -05:00
Brad King 646eedcfcb Revert "file: Allow DOWNLOAD/UPLOAD using alternate authentication methods"
Revert commit 31301b46a7 (file: Allow DOWNLOAD/UPLOAD using alternate
authentication methods, 2018-08-28, v3.13.0-rc1~155^2).  It regressed
support for password-protected redirects.

Fixes: #18691
2019-01-24 14:14:40 -05:00
Brad King 8f56f22b84 cmListCommand: Avoid std::function move constructor on aarch64
Since commit 5a0784ddea (clang-tidy: Pass by value, 2019-01-21), some of
the `RunCMake.{list,PositionIndependentCode}` cases have crashed on an
aarch64 build with GCC 6.  Avoiding use of the `std::function` move
constructor avoids the crash.  Use a strict preprocessor condition to
use this workaround only where needed.
2019-01-24 14:07:05 -05:00
Brad King 626c51f47b VS: Update for Visual Studio 2019 Preview 2
The toolset is now called `v142`.  Use matching flag tables.

Fixes: #18834
2019-01-24 13:49:25 -05:00
Brad King fd45cbf40e VS: Fix /MANIFESTUAC: link flag mapping for v142
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.
2019-01-24 13:19:57 -05:00