Commit Graph

1087 Commits

Author SHA1 Message Date
Brad King 01b9d039e7 Merge topic 'get_filename_component-fix-program-split'
31f73eb1 get_filename_component: Revise PROGRAM/PROGRAM_ARGS split semantics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1251
2017-09-14 07:39:24 -04:00
Brad King 31f73eb12d get_filename_component: Revise PROGRAM/PROGRAM_ARGS split semantics
The KWSys `SystemTools::SplitProgramFromArgs` implementation goes into
an infinite loop when the value is just " " (a space).  Since the
"program path with unquoted spaces plus command-line arguments"
operation it is trying to provide is poorly defined (string parsing
should not depend on filesystem content), just stop using it.

Instead consider the main two use cases the old approach tried to handle:

* The value is the name or absolute path of a program with no quoting
  or escaping, but also no command-line arguments.  In this case we
  can use the value as given with no parsing, and assume no arguments.

* The value is a command-line string containing the program name/path
  plus arguments.  In this case we now assume that the command line
  is properly quoted or escaped.

Fixes: #17262
2017-09-13 10:47:04 -04:00
Minmin Gong bc7c94fe13 MSVC: Add support for ARM64 architecture
Visual Studio 15.4 adds support for this architecture.

Fixes: #17213
2017-09-12 09:54:29 -04:00
Brad King bf19bb5609 Merge topic 'timestamp'
014ad298 Timestamp: support %A and %B

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1228
2017-09-11 07:49:40 -04:00
Bernhard M. Wiedemann 014ad2989c Timestamp: support %A and %B
These are defined both by [1] and [2] to give full names of a weekday
and month.

[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
[2] https://msdn.microsoft.com/de-de/library/fe06s4ak.aspx
2017-09-07 13:36:11 -04:00
Ben Morgan b1d1c56cfd Help: Add notes for topic 'FindFreetype-importedtargets' 2017-09-07 17:52:41 +01:00
Brad King 14ea80ab0c Merge topic 'findexpat-importedtargets'
3a4f82e9 Help: Add notes for topic 'FindEXPAT-importedtargets'
bfe51369 FindEXPAT: Add unit test of target and variables
78f166f8 FindEXPAT: Add imported target and documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1207
2017-09-07 11:22:26 -04:00
Jean-Christophe Fillion-Robin 2645cb6208 FindPatch: Add module to find 'patch' command-line tool 2017-09-01 11:46:28 -04:00
Ben Morgan 3a4f82e9f2 Help: Add notes for topic 'FindEXPAT-importedtargets' 2017-09-01 16:25:29 +01:00
Tin Huynh 2f3a07a981 Flang: Add support for flang Fortran compiler
flang is a Fortran compiler built on top of clang [1].  Because flang
shares a lot of commonalities with clang, the flang module piggybacks
off the clang module and overrides certain options.

Add flang to Fortran compiler auto find list.

Update flang preprocessor macros to differentiate from PGI.

Add Flang-FindBinUtils.

[1] https://github.com/flang-compiler/flang
2017-08-31 15:24:59 -04:00
Brad King 425bb1a66a Merge topic 'irsl-intel'
fd4406f3 IRSL: Add Intel compiler support
8444252f IRSL: Install VC++ OpenMP libraries only for MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pelle <pbregener@gmail.com>
Merge-request: !1121
2017-08-31 10:09:42 -04:00
Christian Pfeiffer fd4406f33e IRSL: Add Intel compiler support
Fixes: #16891
Fixes: #9903
2017-08-30 19:24:59 +02:00
Bill Hoffman 311b7b1a70 Add properties to run cppcheck along with the compiler
Create a `<LANG>_CPPCHECK` target property (initialized by a
`CMAKE_<LANG>_CPPCHECK` variable) to specify a `cppcheck` command line
to be run along with the compiler.
2017-08-30 10:23:46 -04:00
Brad King 55e281c3b7 Merge topic 'cpackifw-repositories-directories'
5fe64511 CPackIFW: Add CPACK_IFW_REPOSITORIES_DIRECTORIES variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1150
2017-08-28 09:53:10 -04:00
Brad King 53305ce5b0 Merge topic 'revert-xcode-9-new-buildsystem-support'
9ecee256 Xcode: Revert addition of "outputPaths" to custom command build phase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1183
2017-08-25 11:05:05 -04:00
Brad King 9ecee256f8 Xcode: Revert addition of "outputPaths" to custom command build phase
The change in commit v3.9.0~3^2 (Xcode: Add "outputPaths" to custom
command script build phase, 2017-07-13) was meant to support Xcode 9's
new build system.  However, without matching "inputPaths", Xcode will
not re-run the build phase if its outputs have already been generated.
This broke the old Xcode build system too.

Revert the change for now so at least the old Xcode build system works.
Further investigation will be needed to add proper support for Xcode 9's
new build system.

Fixes: #17178
2017-08-24 10:56:48 -04:00
Brad King fa664d9863 Merge topic 'FindCurses-wide'
72343d26 Help: Add notes for topic 'FindCurses-wide'
4b02afc0 FindCurses: Add option for ncursesw detection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1161
2017-08-23 09:03:58 -04:00
Brad King 72343d2604 Help: Add notes for topic 'FindCurses-wide' 2017-08-22 10:44:18 -04:00
Brad King d3d0191dcd Merge topic 'revert-macos-hidpi-qt-dialog'
286c75f7 macOS: Revert default Hi-DPI support in applications

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1167
2017-08-22 08:21:03 -04:00
Brad King 286c75f7f0 macOS: Revert default Hi-DPI support in applications
This reverts commit v3.9.0-rc1~287^2 (macOS: Enable Hi-DPI support in
applications by default, 2017-04-08).  It breaks iOS applications that
do not use their own `MACOSX_BUNDLE_INFO_PLIST` because `NSApplication`
is only for macOS apps.  Until more complete support for iOS is added
to CMake (e.g. with a different default plist file) we must allow
our default plist file to work for both macOS and iOS.

Fixes: #17179
2017-08-22 07:29:20 -04:00
Brad King ab5667b516 Merge topic 'autogen-macro-names'
b3d98c6e Autogen: Add release notes for AUTOMOC_MACRO_NAMES
7529d84f Autogen: Add documentation for AUTOMOC_MACRO_NAMES
05891d8f Autogen: Add test for AUTOMOC_MACRO_NAMES
93f0ba28 Autogen: Add AUTOMOC_MACRO_NAMES support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1156
2017-08-21 09:02:09 -04:00
Brad King c1f3eb9f2d Merge topic 'require-c++11'
fd4fd9a2 Require C++11 to build CMake itself

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1132
2017-08-21 08:48:24 -04:00
Sebastian Holtermann b3d98c6ec2 Autogen: Add release notes for AUTOMOC_MACRO_NAMES 2017-08-18 14:07:57 +02:00
Konstantin Podsvirov 5fe64511d6 CPackIFW: Add CPACK_IFW_REPOSITORIES_DIRECTORIES variable
Add CPACK_IFW_REPOSITORIES_DIRECTORIES variable to specify
additional repositories dirs that will be used to resolve and
repack dependent components
2017-08-17 21:41:16 +03:00
Brad King d817bbb8df Merge topic 'string_prepend'
d8ecc254 Add PREPEND sub-command to string command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1129
2017-08-16 10:50:38 -04:00
Brad King fd4fd9a276 Require C++11 to build CMake itself
CMake can now compile as C++11 on all supported platforms.  Check that
std::unique_ptr is available and fail early if missing.  This will allow
us to use C++11 more broadly in CMake's implementation (previously it
was restricted to the serve mode implementation).

Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
2017-08-16 10:13:38 -04:00
Brad King 8fb9a5770a Merge topic 'cpackifw-package-file-extension'
45623e72 CPackIFW: Add CPACK_IFW_PACKAGE_FILE_EXTENSION variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !1117
2017-08-15 13:08:26 -04:00
Sylvain Joubert d8ecc25457 Add PREPEND sub-command to string command 2017-08-11 13:26:33 +02:00
Brad King 8c0afd2c75 Merge branch 'find-package_root-disable' into release-3.9
Merge-request: !1116
2017-08-10 09:27:19 -04:00
Brad King f4e66b41d8 Merge topic 'find-package_root-disable'
578d95f8 find_*: Disable the PACKAGE_ROOT search path group for CMake 3.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1116
2017-08-10 09:22:02 -04:00
Konstantin Podsvirov 45623e7255 CPackIFW: Add CPACK_IFW_PACKAGE_FILE_EXTENSION variable
Add CPACK_IFW_PACKAGE_FILE_EXTENSION variable to customize
target binary format.
2017-08-10 00:20:11 +03:00
Brad King 578d95f87d find_*: Disable the PACKAGE_ROOT search path group for CMake 3.9
Disable the feature added by commit v3.9.0-rc1~71^2~2 (find_*: Add a new
PackageRoot search path group, 2017-05-03) and remove documentation
added by commit v3.9.0-rc1~71^2 (find_*: Add docs for PackageRoot search
path group, 2017-05-03).  Unfortunately the name `<pkg>_ROOT` may
already be set by projects for their own incompatible purposes.  Disable
the behavior change for now to fix the regression for CMake 3.9.  We can
restore it later with a policy.

In order to keep the implementation and tests working, add an
undocumented variable we can use in the tests to enable the behavior
before the policy is introduced.

Fixes: #17144
2017-08-08 11:52:28 -04:00
Brad King db6ea482f6 Merge topic 'gtest-dynamic-discovery'
bfcda401 Add dynamic test discovery for for Google Test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1056
2017-08-08 09:29:48 -04:00
Brad King 21e86adaf6 Merge topic 'drop-HP-UX'
49640d36 HP-UX: Drop support for building CMake on HP-UX
acd462dd README: Add AIX to list of supported platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1105
2017-08-08 09:22:00 -04:00
Brad King 49640d3629 HP-UX: Drop support for building CMake on HP-UX
CMake will soon require both C++11 and libuv to build.  Neither of
these works on HP-UX, so unfortunately we need to drop support for
the platform until someone can get them working.

Issue: #17137
2017-08-07 09:16:09 -04:00
Sebastian Holtermann 5150c3527d Autogen: Add release notes for per-config include dir 2017-08-05 15:06:16 +02:00
Brad King 496eed60f3 Merge topic 'doc-release-notes-orphan'
9e225766 Help: Silence warning about document not included in toctree

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1077
2017-08-04 09:12:12 -04:00
Björn Esser 9e225766ae Help: Silence warning about document not included in toctree
When not using the html or text builders, `Help/index.rst` does not
include `Help/release/index.rst` in the toctree.  Silence the warning.
2017-08-03 09:36:08 -04:00
Matthew Woehlke bfcda4013a Add dynamic test discovery for for Google Test
Add a new gtest_discover_tests function to GoogleTest.cmake,
implementing dynamic test discovery (i.e. tests are discovered by
actually running the test executable and asking for the list of
available tests, which is used to dynamically declare the tests) rather
than the source-parsing approach used by gtest_add_tests. Compared to
the source-parsing approach, this has the advantage of being robust
against users declaring tests in unusual ways, and much better support
for advanced features such as parameterized tests.

A unit test, modeled after the TEST_INCLUDE_DIR[S] test, is also
included. Note that the unit test does not actually require that Google
Test is available. The new functionality does not actually depend on
Google Test as such; it only requires that the test executable lists
tests in the expected format when invoked with --gtest_list_tests, which
the unit test can fake readily.
2017-07-27 09:47:28 -04:00
Brad King a8d8d2fd05 Merge topic 'autogen-generated-files'
dca5df16 Autogen: Process GENERATED files. Add CMP0071.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1061
2017-07-20 10:52:20 -04:00
Sebastian Holtermann dca5df16c5 Autogen: Process GENERATED files. Add CMP0071.
This lets AUTOMOC and AUTOUIC process GENERATED files which
used to be ignored before.
A new policy CMP0071 ensures that the old behavior of ignoring
GENERATED files is enabled when the CMake compatibility version
CMAKE_MINIMUM_REQUIRED is < 3.10.

Closes #16186
2017-07-18 18:11:31 +02:00
Brad King 407c7415f4 Merge topic 'cmake-E-sha'
c4de0a25 Add sha1sum, sha224sum, sha256sum, sha384sum and sha512sum to command mode
c4647d84 Change ComputeFileMD5 to ComputeFileHash
501a4fee Add some unit tests for md5sum

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1021
2017-07-18 11:12:57 -04:00
Brad King 5401491648 Merge topic 'doc-vs2015-update-relnote'
cfa9a2bd Help: Add a 3.9 release note about the VS GenerateDebugInformation update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1060
2017-07-17 10:27:26 -04:00
Brad King 8ff5aeb7cb Merge topic 'xcode9support'
0348383b Xcode: Add "outputPaths" to custom command script build phase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1054
2017-07-17 10:26:37 -04:00
André Klitzing c4de0a25ac Add sha1sum, sha224sum, sha256sum, sha384sum and sha512sum to command mode 2017-07-14 19:49:45 +02:00
Brad King f2b05a095a Merge branch 'doc-vs2015-update-relnote' into release-3.9 2017-07-14 11:02:45 -04:00
Brad King cfa9a2bd88 Help: Add a 3.9 release note about the VS GenerateDebugInformation update
Add a release note corresponding to the environmental regression fixed
by commit v3.9.0-rc6~15^2~1 (VS: Fix GenerateDebugInformation values for
v140 and v141 toolsets, 2017-06-27).
2017-07-14 11:02:17 -04:00
Harry Mallon 0348383b8c Xcode: Add "outputPaths" to custom command script build phase
This is needed for Xcode 9's "New Build System", whose release notes
mention "that output must be declared as an explicit output by the
script which generates it" in reference to outputs of custom script
build phases.
2017-07-14 10:38:00 -04:00
Brad King 0f158272d6 Merge topic 'test_include_files'
117033c1 Add TEST_INCLUDE_DIR[S] unit test
ed5bde30 Add TEST_INCLUDE_FILES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1031
2017-07-13 07:46:47 -04:00
Brad King f5be951117 Merge topic 'labels-for-subprojects'
376dc3eb Help: Add notes for topic 'labels_for_subprojects'
a70d8e93 Add tests for new directory labels and labels-for-subprojects features
47b3a57c Display subproject timing summary
d3859624 Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variable
d08ec4d2 Add CTEST_LABELS_FOR_SUBPROJECTS as a CTest module and script variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1004
2017-07-13 07:46:09 -04:00