Commit Graph

19469 Commits

Author SHA1 Message Date
Brad King cbfae8c3f2 Merge topic 'install-files-dest-genex'
69ab5f55 Tests: Cover install(FILES) with a genex DESTINATION
17aa6fd3 install: Allow generator expressions in FILES DESTINATION
2015-09-24 10:28:54 -04:00
Robert Goulet bd189cc24e install: Allow generator expressions in DIRECTORY DESTINATION 2015-09-24 09:13:03 -04:00
Stephen Kelly 8bfff68642 cmLocalGenerator: Compute object max path on construction. 2015-09-24 09:39:39 +02:00
Stephen Kelly 2c2479fbed cmGlobalGenerator: Create all local generators after Configure(). 2015-09-24 09:39:39 +02:00
Stephen Kelly 194bb06803 cmGlobalGenerator: Remove unused method. 2015-09-24 09:39:39 +02:00
Stephen Kelly c5f07e0537 cmGlobalGenerator: Create local generators after all makefiles configured. 2015-09-24 09:39:38 +02:00
Stephen Kelly dd408de46b cmGlobalGenerator: Create local generator after configuring the makefile. 2015-09-24 09:39:38 +02:00
Stephen Kelly 8a88089bbe cmMakefile: Create the local generator after configuring the makefile.
The local generator is not used during configure time.
2015-09-24 09:39:38 +02:00
Stephen Kelly 934aa454d0 Makefiles: Remove need to create local generator at configure time.
This method is used during try_compile.
2015-09-24 09:39:38 +02:00
Stephen Kelly 61b48e70bc Makefiles: Port to cmOutputConverter. 2015-09-24 09:39:38 +02:00
Kitware Robot 02ccef2ae5 CMake Nightly Date Stamp 2015-09-24 00:01:05 -04:00
Robert Goulet 17aa6fd362 install: Allow generator expressions in FILES DESTINATION 2015-09-23 14:37:17 -04:00
Brad King c3b3284c93 Merge topic 'vs-target-ordering'
40c7b461 VS: Fix rebuild with regeneration after input CMake code change (#15754)
03bfe71a VS: Refactor target ordering logic
2015-09-23 09:23:01 -04:00
Brad King 3779716616 Merge topic 'cpack-package-empty-dirs'
b761e90d CPack: remove accidental changes
2015-09-23 09:22:59 -04:00
Domen Vrankar b761e90d70 CPack: remove accidental changes
Remove changes accidentally included in commit b58de9fe (CPack: allow
packaging of empty directories, 2015-09-22).
2015-09-23 09:15:57 -04:00
Kitware Robot 44f2ade2cb CMake Nightly Date Stamp 2015-09-23 00:01:05 -04:00
Brad King 2e6063068c Merge branch 'improve-variable-help-formatting' into revert-cmake-W-options
Resolve conflicts in

 Help/variable/CMAKE_ERROR_DEPRECATED.rst
 Help/variable/CMAKE_WARN_DEPRECATED.rst

by integrating changes from both sides.
2015-09-22 13:57:08 -04:00
Brad King 81739e9215 Revert topic 'cmake-W-options' (#15747)
The changes in commit c96fe0b4 (cmake: Add -W options to control
deprecation warnings and errors, 2015-07-28) fail to account for
-Wdev warnings produced by places in CMake other than message().
This causes a regression in which -Wno-dev fails to suppress such
warnings.  Revert the feature until it can be revised accordingly.
2015-09-22 13:53:09 -04:00
Brad King 442d17ef6c Merge topic 'cpack-package-empty-dirs'
b58de9fe CPack: allow packaging of empty directories
47b060ae CPackDeb: allow empty directories in component packages
2015-09-22 10:47:11 -04:00
Brad King da7c8a8dae Merge topic 'restrict-shlib-link-flags-to-enable-exports'
b15f4e9b try_compile: Propogate CMP0065 to the generated project.
9784af1b CMP0065: Restrict the use of CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS
2015-09-22 10:46:59 -04:00
Brad King 4be709a6b7 Merge topic 'fix-policy-CMP0064-version'
402bf096 CMP0064: Fix recorded version of introduction to be 3.4
2015-09-22 10:46:57 -04:00
Brad King f1365f3206 Merge topic 'fix-windows-version-detection'
17009189 Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8 (#15674)
2015-09-22 10:46:54 -04:00
Brad King 40c7b46123 VS: Fix rebuild with regeneration after input CMake code change (#15754)
When using "cmake --build ." or "MSBuild ALL_BUILD.vcxproj" to drive the
build the dependencies in the .sln file are not considered.  This means
that ProjectReference elements in .vcxproj files are used to order
targets.  We must ensure that the ZERO_CHECK target is listed as the
first dependency of every target so that when it causes regeneration of
the build files then MSBuild has not yet loaded the updated files.
2015-09-22 10:26:00 -04:00
Brad King 03bfe71ae0 VS: Refactor target ordering logic
Refactor cmGlobalVisualStudioGenerator::TargetCompare to store the name of
the target that should come first instead of hard-coding "ALL_BUILD".
Update client sites to specify "ALL_BUILD" when ordering for .sln files
and an empty string otherwise (in cases when "ALL_BUILD" should not be
encountered anyway).
2015-09-22 10:25:58 -04:00
Kitware Robot dce7d8befb CMake Nightly Date Stamp 2015-09-22 00:01:04 -04:00
Domen Vrankar b58de9fe2b CPack: allow packaging of empty directories 2015-09-22 02:08:26 +02:00
Raffi Enficiaud 47b060aee0 CPackDeb: allow empty directories in component packages 2015-09-22 01:57:44 +02:00
Chuck Atkins b15f4e9b86 try_compile: Propogate CMP0065 to the generated project.
Set policy CMP0065 to the value used in the calling project.

Set the the value of CMAKE_ENABLE_EXPORTS if set in the calling
project to initialize the target property appropriately.
2015-09-21 10:12:13 -04:00
Chuck Atkins 9784af1b50 CMP0065: Restrict the use of CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS
This new policy restricts the addition of the shared library link flags
to executables only when the ENABLE_EXPORTS property is set to True.
2015-09-21 10:12:13 -04:00
Brad King 402bf096ec CMP0064: Fix recorded version of introduction to be 3.4
This policy was added for CMake 3.4 but accidentally recorded as 3.3.
Fix this and update the RunCMake.CMP0064 test WARN case accordingly.
2015-09-21 10:05:02 -04:00
Brad King 38830fc0ca Merge topic 'cpack-deb-checksum-on-symlinks'
da295f45 CPack/Deb: checksum on symlinks release notes
7c7874c8 CPackDeb: preventing md5sum on symlinks
2015-09-21 09:25:31 -04:00
Brad King dd8285c688 Merge topic 'fix-compatibility-mode-LOCATION'
2514e426 CMP0026: Use compatibility codepath until configure is finished (#15748)
b98f7712 cmGlobalGenerator: Add API for the configure step being finished.
b5de2bd9 cmLocalGenerator: Simplify condition.
2015-09-21 09:25:29 -04:00
Brad King 4f640afc1a Merge topic 'ninja-refactor-msvc-deps'
109a7a24 Ninja: Detect MSVC /showIncludes prefix with compiler flags (#15596)
828c05b9 Ninja: Refactor lookup of cmcldeps location
c73fbda6 CMakeDetermineCompilerId: Drop unused code path
2015-09-21 09:25:27 -04:00
Brad King 82a0c7be3f Merge topic 'ctest-custom-output-size'
fd47df45 CTest: Add options to limit output of passed and failed tests
6e3151f6 CTest: Document and test custom output size settings
2015-09-21 09:25:24 -04:00
Gilles Khouzam 17009189f8 Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8 (#15674)
According to GetVersionEx documentation:

 https://msdn.microsoft.com/en-us/library/windows/desktop/ms724451.aspx
 https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241.aspx

we must manifest each application to explicitly declare support for each
version of Windows.
2015-09-21 09:02:41 -04:00
Kitware Robot 358b564145 CMake Nightly Date Stamp 2015-09-21 00:01:04 -04:00
Kitware Robot ba7f7067ca CMake Nightly Date Stamp 2015-09-20 00:01:05 -04:00
Kitware Robot 0da7a4d4c7 CMake Nightly Date Stamp 2015-09-19 00:01:05 -04:00
Raffi Enficiaud 7c7874c86e CPackDeb: preventing md5sum on symlinks
- Direct call to cmSystemTools::ComputeFileMD5
- Avoiding hashing symlinks
- Tests
2015-09-18 22:20:42 +02:00
Stephen Kelly 2514e4265c CMP0026: Use compatibility codepath until configure is finished (#15748)
Use it instead of the similar cmMakefile API.  It is necessary to
know that the Configure step is completely done, not just that one
particular cmMakefile is finished configuring.

Prior to commit 611220f7 (cmTarget: Use reliable test for CMP0024 and CMP0026
OLD., 2015-07-25), this was determined by checking whether cmGeneratorTargets
exist yet, which happens after the Configure step.
2015-09-18 20:49:00 +02:00
Stephen Kelly b98f7712ea cmGlobalGenerator: Add API for the configure step being finished. 2015-09-18 20:48:15 +02:00
Stephen Kelly b5de2bd9de cmLocalGenerator: Simplify condition.
This API is only called after configure-time.
2015-09-18 19:41:47 +02:00
Roman Wüger fd47df4503 CTest: Add options to limit output of passed and failed tests
Add ctest command-line options:

  --test-output-size-passed <n>
  --test-output-size-failed <n>

to set the amount of test output to store in Test.xml as a command-line
dashboard client.
2015-09-18 11:32:06 -04:00
Brad King 828c05b9f5 Ninja: Refactor lookup of cmcldeps location
This executable comes with CMake so just compute its location in
cmSystemTools instead of storing it in compiler information modules.
2015-09-18 10:01:25 -04:00
Brad King 2b3aad83f2 Merge topic 'cmake-gui-qt5-package'
851915a5 cmake-gui:  Improve packaging of Qt5 libraries.
2015-09-18 09:56:41 -04:00
Brad King 309026147a Merge topic 'ms-manifest-files'
e134e53b Add support for *.manifest source files with MSVC tools
da00be63 MSVC: Rewrite manifest file handling with Makefile and Ninja
d488b5c9 Ninja: Always add OBJECT_DIR variable to link rules
6d620f5a VS: Add manifest tool settings to VS 8 and 9 project files
2015-09-18 09:56:39 -04:00
Kitware Robot 9c7bb9f103 CMake Nightly Date Stamp 2015-09-18 00:01:06 -04:00
Brad King eb154697c0 Merge topic 'cpack-deb-fakeroot-removal'
becb14c9 CPack/DEB: test preserve extra config file permissions
7044e8ee CPackDeb: use of libarchive and removal of fakeroot
415405a3 cmArchiveWrite: control user/group, permissions and recursive file adding
4f2ff601 Tests: Make RunCMake.CPack error messages more readable
81b748ae cmGeneratedFileStream: Fix spelling in comment
2015-09-17 15:34:02 -04:00
Raffi Enficiaud 7044e8ee4b CPackDeb: use of libarchive and removal of fakeroot 2015-09-17 15:30:39 -04:00
Raffi Enficiaud 415405a308 cmArchiveWrite: control user/group, permissions and recursive file adding 2015-09-17 15:30:38 -04:00
Raffi Enficiaud 81b748ae1d cmGeneratedFileStream: Fix spelling in comment
s/destionation/destination/
2015-09-17 15:30:07 -04:00
Clinton Stimpson 851915a58c cmake-gui: Improve packaging of Qt5 libraries.
Fixes #15685, where the right Qt5 dlls on Windows were not packaged because
they were not found when relying on the PATH environment variable.

Also some cleanup of code introduced in 8120e13f, but no longer needed with 678aaad1.
2015-09-17 08:32:51 -06:00
Brad King e134e53b47 Add support for *.manifest source files with MSVC tools
Classify .manifest sources separately, add dependencies on them, and
pass them to the MS manifest tool to merge with linker-generated
manifest files.

Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2015-09-17 10:21:32 -04:00
Brad King da00be6359 MSVC: Rewrite manifest file handling with Makefile and Ninja
Add a helper class private to "cmcmd.cxx" to contain the implementation.
Update the link logic to use the intermediate files directory for each
target to hold manifest and resource files before embedding into the
binary.  Preserve the old behavior of placing the .manifest file next
to the binary when not linking incrementally even though it will be
embedded.
2015-09-17 10:21:32 -04:00
Brad King d488b5c976 Ninja: Always add OBJECT_DIR variable to link rules
The <OBJECT_DIR> placeholder is always available in Makefile
generators so make it available from the Ninja generator too.
2015-09-17 10:21:32 -04:00
Brad King 6d620f5ad7 VS: Add manifest tool settings to VS 8 and 9 project files
Always generate a VCManifestTool element in targets that compile.
2015-09-17 10:21:31 -04:00
Kitware Robot 6fd548f220 CMake Nightly Date Stamp 2015-09-17 00:01:06 -04:00
Brad King 46915ab963 Merge topic 'detect-c11-broken-thread-local'
ffa6f057 Avoid using C11 to build CMake if _Thread_local support is broken
2015-09-16 08:47:28 -04:00
Brad King 982850a866 Merge topic 'test-search-ordering'
7a6e5f06 Tests: Cover find_program when the environment duplicate some HINTS
40122975 Merge branch 'fix-bad-search-ordering' into test-search-ordering
02440154 find_*: Fix search order when the environment duplicates some HINTS
2015-09-16 08:47:25 -04:00
Brad King 0ec6201547 Merge topic 'ccmake-portability'
7046eedd ccmake: Use more-portable call to set_field_buffer (#15740)
da1a02f7 ccmake: Avoid using non-portable 'curcol' field (#15739)
6c442e5a ccmake: Pass format string to 'printw' (#15738)
2015-09-16 08:47:21 -04:00
Thomas Klausner 7046eedd38 ccmake: Use more-portable call to set_field_buffer (#15740)
The set_field_buffer function on NetBSD and Solaris:

  http://netbsd.gw.com/cgi-bin/man-cgi?set_field_buffer++NetBSD-current
  https://docs.oracle.com/cd/E36784_01/html/E36880/set-field-buffer-3curses.html

has as third argument "char *" while ncurses has "const char *".  Cast
the argument type in our call to account for the missing "const".
2015-09-16 08:42:20 -04:00
Joerg Sonnenberger da1a02f77f ccmake: Avoid using non-portable 'curcol' field (#15739)
'curcol' is an implementation detail of ncurses so other implementations
of 'form' may not have it.  The switch-to-previous-field logic only
exists for overloaded requests of REQ_DEL_PREV, so no need to check for
REQ_DEL_CHAR.  For REQ_DEL_PREV, check if the field changed and if it
did, change it back.
2015-09-16 08:42:20 -04:00
Joerg Sonnenberger 6c442e5a89 ccmake: Pass format string to 'printw' (#15738)
printw takes a format string as first argument, so don't pass variable
strings to it directly.
2015-09-16 08:42:20 -04:00
Kitware Robot 443b0fdb3d CMake Nightly Date Stamp 2015-09-16 00:01:07 -04:00
Raphael Kubo da Costa ffa6f057b4 Avoid using C11 to build CMake if _Thread_local support is broken
Support for C11's _Thread_local was introduced in GCC in the 4.9 series,
even though we make the C11 compiler flags available in CMake with GCC
>= 4.6.

FreeBSD's runetype.h uses _Thread_local, which causes CMake's own build
to fail when using GCC < 4.9 and -std=gnu11:

  /usr/include/runetype.h:92:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
   extern _Thread_local const _RuneLocale *_ThreadRuneLocale;

Add a test for _Thread_local support and only build CMake itself with
C11 support if it works.

Bug: http://www.cmake.org/Bug/view.php?id=15741
2015-09-15 10:51:54 -04:00
Brad King 4fe1331f84 Merge topic 'update-kwsys'
ef29f5ef Merge branch 'upstream-kwsys' into update-kwsys
7de8f67a KWSys 2015-09-11 (cfeb27cc)
2015-09-15 09:17:10 -04:00
Brad King 401229759c Merge branch 'fix-bad-search-ordering' into test-search-ordering 2015-09-15 08:52:38 -04:00
Kitware Robot 075de28b36 CMake Nightly Date Stamp 2015-09-15 00:01:04 -04:00
Brad King 050a14f4a7 Merge topic 'extend-windows-version-detection'
4734df5f Windows: Set CMAKE_HOST_SYSTEM_VERSION with three components
2015-09-14 16:20:28 -04:00
Chuck Atkins 02440154fb find_*: Fix search order when the environment duplicates some HINTS
Refactoring in the topic merged by commit v3.2.0-rc1~400 (Merge topic
'refactor-search-path-construction', 2014-11-13) introduced a bug that
filters out duplicate paths in an incorrect order.  Restore the search
path to its documented order even when duplicate paths are present.

Reported-by: Marc CHEVRIER <marc.chevrier@sap.com>
2015-09-14 14:43:38 -04:00
Brad King ef29f5ef89 Merge branch 'upstream-kwsys' into update-kwsys 2015-09-14 09:24:05 -04:00
Brad King 6dad4c25b0 Merge topic 'fix_64bit_autodef'
db7f069a Windows: Fix 64-bit DLL module definition file generation on VS 2015
2015-09-14 09:21:00 -04:00
Brad King 31117bb17c Merge topic 'fix-buildsystem-property-append'
ed258d60 Tests: Cover set_property for buildsystem directory properties
fb45c371 cmState: Only append non-empty values to buildsystem properties.
158f7e31 cmMakefile: Use appropriate parameter name.
08ce3f48 cmTarget: Only append non-empty values to buildsystem properties.
2015-09-14 09:19:59 -04:00
Brad King 8af34749fe Merge topic 'fix-makefile-progress'
5d6aa364 cmLocalGenerator: Always return the end snapshot state of a directory.
3f4e5e8c cmState: Return end snapshot for GetBuildsystemDirectoryParent.
2015-09-14 09:19:51 -04:00
Bill Hoffman db7f069a4b Windows: Fix 64-bit DLL module definition file generation on VS 2015
With 64-bit Windows builds, there is no need to remove the leading
underscore from all the symbols.  This is because it does not have one
in the .obj file unless it is really in the name.  This did not cause
any trouble until VS 2015 which has some system functions that have a
leading underscore that end up in the .def file.
2015-09-14 09:16:49 -04:00
Kitware Robot f844993c24 CMake Nightly Date Stamp 2015-09-14 00:01:04 -04:00
Kitware Robot e52aa5619c CMake Nightly Date Stamp 2015-09-13 00:01:04 -04:00
Stephen Kelly 5d6aa3648b cmLocalGenerator: Always return the end snapshot state of a directory.
This is needed for proper makefile progress tracking.

The cmLocalGenerator is constructed at configure-time, but only used
at generate time.  The StateSnapshot member is currently populated
before configuring, so use the Makefile to get the end snapshot.
2015-09-12 14:09:00 +02:00
Kitware Robot 2e11afd2f7 CMake Nightly Date Stamp 2015-09-12 00:01:07 -04:00
Stephen Kelly 3f4e5e8c3d cmState: Return end snapshot for GetBuildsystemDirectoryParent.
This is the appropriate snapshot for future use.  Existing users
of this method are mostly just calling GetDirectory on the result,
but the progress tracking of the Makefile generator needs a consistent
snapshot to be used, so the end snapshot should be consistently used.
2015-09-11 23:17:27 +02:00
Stephen Kelly fb45c37160 cmState: Only append non-empty values to buildsystem properties.
This is a change in behavior from CMake 3.3, but there is no semantic meaning
to empty entries in buildsystem properties.  This also restores behavior to
that of CMake 2.8.10.
2015-09-11 19:12:46 +02:00
Stephen Kelly 158f7e31dc cmMakefile: Use appropriate parameter name. 2015-09-11 18:30:47 +02:00
Stephen Kelly 08ce3f486e cmTarget: Only append non-empty values to buildsystem properties.
This is a change in behavior from CMake 3.3, but there is no semantic meaning
to empty entries in buildsystem properties.  This also restores behavior to
that of CMake 2.8.10.
2015-09-11 18:30:46 +02:00
Gilles Khouzam 4734df5f79 Windows: Set CMAKE_HOST_SYSTEM_VERSION with three components
Call GetVersionEx with OSVERSIONINFOEX instead of OSVERSIONINFO so that
we can get the dwBuildNumber as a third version component.
2015-09-11 11:21:53 -04:00
Brad King 8e8824149f Merge topic 'fix-TrimWhitespace'
9c4a500f cmSystemTools: Fix TrimWhitespace for non-ascii strings (#15735)
87a9061d cmSystemTools: Factor out a cm_isspace helper
2015-09-11 11:04:06 -04:00
Brad King 1181375381 Merge topic 'revert-fix-windows-version-detection'
4c7744c8 Revert "Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8.1 (#15674)"
2015-09-11 11:04:01 -04:00
Kitware Robot 24b7e3f8fd CMake Nightly Date Stamp 2015-09-11 00:01:04 -04:00
Brad King 4c7744c891 Revert "Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8.1 (#15674)"
This reverts commit d4736d53cd.
RtlGetVersion is a private API not meant for public use.  Another
solution to detecting the Windows version will be needed.

Reported-by: Gilles Khouzam <Gilles.Khouzam@microsoft.com>
2015-09-10 16:02:09 -04:00
Brad King 5ed30f30f5 Merge topic 'ghs-updates'
04de9007 GHS: Fix generated file path slashes and quoting for 6.1.6
fbe0de92 GHS: Tell MULTI to delete .elf.ael file
63591b94 GHS: Find latest 'int' directory
2015-09-10 11:29:44 -04:00
Brad King 9c4a500f75 cmSystemTools: Fix TrimWhitespace for non-ascii strings (#15735)
Since commit v2.8.11~59^2 (cmSystemTools: Generalize TrimWhitespace to
all whitespace, 2013-03-27) we incorrectly use `c <= ' '` to determine
if `c` is a whitespace character.  With a signed `char` type UTF-8
encoded strings may be truncated because values above 0x7f appear
negative and therefore less than 0x20.  Use `isspace(c)` instead.
2015-09-10 10:05:21 -04:00
Brad King 87a9061d57 cmSystemTools: Factor out a cm_isspace helper
Extract the logic added by commit v3.1.0-rc1~386^2 (Encoding: Fix debug
asserts ... with non-ascii chars, 2014-06-16) into a helper function so
we can re-use it.
2015-09-10 10:04:20 -04:00
Kitware Robot ac77a56994 CMake Nightly Date Stamp 2015-09-10 00:01:04 -04:00
Brad King 36fb1e2302 Merge topic 'vs14-win8-store-phone'
4b8b9168 VS: Find Desktop SDK for current VS version (#15662)
2015-09-09 11:30:41 -04:00
Geoff Viola 04de900704 GHS: Fix generated file path slashes and quoting for 6.1.6 2015-09-09 10:15:37 -04:00
Geoff Viola fbe0de92f0 GHS: Tell MULTI to delete .elf.ael file 2015-09-09 10:14:54 -04:00
Kitware Robot 0e7f34c0a9 CMake Nightly Date Stamp 2015-09-09 00:01:04 -04:00
Brad King 70ea1d91fa Merge topic 'fix-buildsystem-target-properties'
b9856862 Tests: Cover set_property for buildsystem target properties
407ff47e cmTarget: Fix memory leak when SOURCES property is cleared
cf74fc24 cmTarget: Fix buildsystem property empty value set and append operations
2015-09-08 10:24:38 -04:00
Brad King 4da3315db3 Merge topic 'find_program-NAMES_PER_DIR'
8ea7611b find_program: Optionally consider all names in each directory
fc1990c9 cmFindProgramCommand: Re-implement search using more flexible approach
fdbfc9f6 Tests: Add explicit testing for find_program
907a919b cmSystemTools: Drop unused StringEndsWith method
ed4de3c9 cmFindProgramCommand: Use Names member instead of passing it
bf32b95e cmFindLibraryCommand: Avoid repeating search for the same name
2015-09-08 10:24:36 -04:00
Brad King 7f1e896d8e Merge topic 'update-kwsys'
d2b8229d Tests: Fix Plugin test on Watcom compiler
89958fd0 bootstrap: Remove unused KWSys configuration
c5cc3441 Merge branch 'upstream-kwsys' into update-kwsys
1b79433a KWSys 2015-08-28 (dc3fdd7f)
2015-09-08 10:24:30 -04:00
Kitware Robot a897f136c8 CMake Nightly Date Stamp 2015-09-08 00:01:03 -04:00
Kitware Robot d17ecf1164 CMake Nightly Date Stamp 2015-09-07 00:01:04 -04:00
Kitware Robot 9e64fda6a7 CMake Nightly Date Stamp 2015-09-06 00:01:04 -04:00
Kitware Robot 2a8813d62c CMake Nightly Date Stamp 2015-09-05 00:01:04 -04:00
Kitware Robot 20f6007053 CMake Nightly Date Stamp 2015-09-04 00:01:05 -04:00
Brad King 407ff47eca cmTarget: Fix memory leak when SOURCES property is cleared 2015-09-03 06:52:36 -04:00
Brad King cf74fc24d4 cmTarget: Fix buildsystem property empty value set and append operations
Refactoring in commit 1f54bc1c (cmTarget: Split storage of include
directories from genexes, 2015-08-04), commit 772ecef4 (cmTarget: Split
storage of compile options from genexes, 2015-08-04), commit 44e071ae
(cmTarget: Split storage of compile features from genexes, 2015-08-04),
and commit 197f4de1 (cmTarget: Split storage of compile definitions from
genexes, 2015-08-04) failed to account for value==NULL in SetProperty
and AppendProperty methods.
2015-09-03 06:52:36 -04:00
Brad King 18252b5887 Merge topic 'vs-store-phone-cert-thumbs'
7c33b0f9 cmSystemTools: Skip ComputeCertificateThumbprint during bootstrap
2015-09-03 06:49:55 -04:00
Kitware Robot d1dc344cf1 CMake Nightly Date Stamp 2015-09-03 00:01:04 -04:00
Brad King c5cc3441b3 Merge branch 'upstream-kwsys' into update-kwsys 2015-09-02 10:23:17 -04:00
Brad King 8ea7611bc3 find_program: Optionally consider all names in each directory
When more than one value is given to the NAMES option this command by
default will consider one name at a time and search every directory for
it.  Add a NAMES_PER_DIR option to tell this command to consider one
directory at a time and search for all names in it.
2015-09-02 10:17:22 -04:00
Brad King fc1990c933 cmFindProgramCommand: Re-implement search using more flexible approach
Avoid using KWSys SystemTools::FindProgram because it does much more
than we actually need for find_program and does not allow us to control
the order of preference between directories and names.  Create our own
cmFindProgramHelper much like cmFindLibraryHelper but without all the
find_library-specific parts.
2015-09-02 10:17:22 -04:00
Brad King 907a919be1 cmSystemTools: Drop unused StringEndsWith method
It has no callers and we can inherit one from KWSys SystemTools anyway.
2015-09-02 10:17:21 -04:00
Brad King ed4de3c984 cmFindProgramCommand: Use Names member instead of passing it 2015-09-02 10:17:21 -04:00
Brad King bf32b95efe cmFindLibraryCommand: Avoid repeating search for the same name
In FindNormalLibraryDirsPerName we consider one name at a time and
search the entire path.  Avoid repeated consideration of names by
removing each one from the list of candidates before considering the
next one.  This will not change behavior because we already know the
earlier candidates were not found on repeated considering anyway.
2015-09-02 10:17:21 -04:00
Gilles Khouzam 4b8b91688f VS: Find Desktop SDK for current VS version (#15662)
Determine the Desktop SDK for Windows Phone and Windows Store from the
generator instead of the version of the targeted app.  This allows to
build a Windows Phone 8.1 app on VS 2015 for example.
2015-09-02 10:11:36 -04:00
Brad King 7c33b0f9a6 cmSystemTools: Skip ComputeCertificateThumbprint during bootstrap
The implementation of this method requires linking to some extra system
libraries.  Simply leave it out of the bootstrap-built CMake.
2015-09-02 09:23:45 -04:00
Kitware Robot 29eed26aa6 CMake Nightly Date Stamp 2015-09-02 00:01:04 -04:00
Brad King 7b33d4efe1 Merge topic 'jacoco_find_files'
e92c59e7 ctest_coverage: Make Jacoco parser better at finding source files
2015-09-01 09:53:32 -04:00
Brad King dd2b88777f Merge topic 'fix-ios-install'
ad262917 Xcode: Add unit test for iOS project install (#12506)
48fe617e Fix installation of iOS targets (#12506)
d2c2319d Replace CMAKE_XCODE_EFFECTIVE_PLATFORMS with call to PlatformIsAppleIos
2015-09-01 09:53:30 -04:00
Brad King 0e08ab6ef1 Merge topic 'vs-store-phone-cert-thumbs'
e0cf77b3 cmSystemTools: Use CreateFileW explicitly to pass wchar_t path
2015-09-01 09:53:28 -04:00
Brad King d73c445a25 Merge topic 'update-kwsys'
49d293a7 Merge branch 'upstream-kwsys' into update-kwsys
ca96be22 KWSys 2015-08-24 (cdaf522c)
2015-09-01 09:53:24 -04:00
Brad King d833df1228 Merge topic 'add-link-search-static-properties-defaults'
9e21b01a Revert LINK_SEARCH_{START,END}_STATIC behavior change
2015-09-01 09:53:21 -04:00
Zack Galbreath e92c59e77f ctest_coverage: Make Jacoco parser better at finding source files
Instead of searching for source files in a couple hard-coded
locations, we now search the source and binary directory for files
matching both the name of the covered file and its package
directory structure.
2015-09-01 09:48:59 -04:00
Kitware Robot 02ab8e30c1 CMake Nightly Date Stamp 2015-09-01 00:01:04 -04:00
Brad King e0cf77b310 cmSystemTools: Use CreateFileW explicitly to pass wchar_t path
The call to CreateFile added by commit ac0bb433 (VS: Windows Store/Phone
package cert thumbprint, 2015-08-21) passes a wide character path
explicitly so we should call CreateFileW directly.  Otherwise it does
not build without -DUNICODE (e.g. in bootstrap on MSYS).
2015-08-31 16:33:46 -04:00
Brad King 9e21b01a4d Revert LINK_SEARCH_{START,END}_STATIC behavior change
The changes to cmComputeLinkInformation.cxx in commit 675ef165 (Allow
LINK_SEARCH_{START,END}_STATIC props to have default values, 2015-08-07)
are unrelated to the feature added by that change and are incorrect.
They lead to cases of extra -Bdynamic flags.  Revert them.
2015-08-31 13:08:53 -04:00
Brad King 49d293a795 Merge branch 'upstream-kwsys' into update-kwsys 2015-08-31 09:55:01 -04:00
Brad King 51d7a7bb3f Merge topic 'makefile-color-when-needed'
bfb9d34f Makefile: Print color escapes only when necessary
2015-08-31 09:48:42 -04:00
Brad King 08ae6ced4d Merge topic 'vs-store-phone-cert-thumbs'
ac0bb433 VS: Windows Store/Phone package cert thumbprint
92b835ec Simplify condition for using rpcrt4 library on Windows
2015-08-31 09:48:39 -04:00
Brad King e18f6fe276 Merge topic 'fix-ctest-xml-double-encoding'
ab2524d6 CTest: Fix XML double-encoding cases
dee84dc7 cmCTest{BZR,GIT,P4}: Remove unused cmXMLSafe includes
b3372db5 cmExtra{Kate,SublimeText}Generator: Remove unused cmXMLSafe includes
2015-08-31 09:48:37 -04:00
Brad King 9a6d7d2e54 Merge topic 'refactor-compute'
616d8f02 cmGeneratorTarget: Rename method to match operation.
ec56d244 cmGlobalGenerator: Process evaluation files after target depends.
1e5349a5 cmGlobalGenerator: Access makefile from makefiles container.
2015-08-31 09:48:30 -04:00
Brad King 352e8e95b6 Merge topic 'generate-time-generators'
2b9a25d7 cmGlobalGenerator: Create global targets directly after Configure.
3e08b4df cmMakefile: Skip Global targets for CMP0019 evaluation.
357bf469 cmGlobalGenerator: Fill the project map at compute time.
ebf8d0a9 cmGlobalGenerator: Rename method.
bd096d30 cmGlobalGenerator: Avoid cmLocalGenerator until after Configure.
ff8ac8ee cmLocalGenerator: Create from already-constructed cmMakefile.
0bd7279f Ninja: Remove some incorrect comments adding no value.
2f2d4da9 cmCTestScriptHandler: Simplify deletes.
7fdc9a8b QtAutogen: Use a smart pointer.
92041eec cmGlobalGenerator: Remove MakeLocalGenerator method.
acb00622 cmGlobalGenerator: Require a snapshot to create a local generator.
83b8a927 cmMakefile: Remove cmLocalGenerator member.
9b6a743b cmLocalGenerator: Remove Parent pointer.
2015-08-31 09:48:28 -04:00
Kitware Robot a036a41605 CMake Nightly Date Stamp 2015-08-31 00:01:03 -04:00
Stephen Kelly 616d8f02d5 cmGeneratorTarget: Rename method to match operation.
The manifest is computed, not generated, according to current language
used in cmake method naming.
2015-08-30 11:39:52 +02:00
Kitware Robot 2e4eb137b9 CMake Nightly Date Stamp 2015-08-30 00:01:03 -04:00
Stephen Kelly ec56d24451 cmGlobalGenerator: Process evaluation files after target depends.
No need to generate the files if computation aborts generation.
2015-08-29 09:18:01 +02:00
Stephen Kelly 1e5349a5a0 cmGlobalGenerator: Access makefile from makefiles container. 2015-08-29 09:15:37 +02:00
Kitware Robot 746c9f8882 CMake Nightly Date Stamp 2015-08-29 00:01:03 -04:00
Brad King bfb9d34f8a Makefile: Print color escapes only when necessary
Teach cmSystemTools::MakefileColorEcho to use the color printing API
only when we actually have a color to print.  This avoids printing
escape sequences that do not change the text attributes.

Since commit v3.3.0-rc1~480^2~4 (Makefile: Fix output during parallel
builds, 2015-02-05) we always use this code path to print progress and
rule messages even when color is disabled (e.g. in a try_compile).  It
is important to avoid printing escapes when there is no color because on
MSYS we have no isatty and so assume that vt100 escapes are supported,
but we do not want to print them when capturing try_compile output.
If we capture the vt100 escapes in try_compile output, they contain
unbalanced square brackets.  This causes CMakeParseImplicitLinkInfo
to fail to separate lines in a ;-list and therefore fail to extract
information from the link line.  Then mixed-language linking breaks.
2015-08-28 15:16:05 -04:00
Stephen Kelly 2b9a25d7f7 cmGlobalGenerator: Create global targets directly after Configure. 2015-08-28 18:44:39 +02:00
Stephen Kelly 3e08b4df95 cmMakefile: Skip Global targets for CMP0019 evaluation. 2015-08-28 18:44:39 +02:00
Stephen Kelly 357bf469c7 cmGlobalGenerator: Fill the project map at compute time. 2015-08-28 18:44:39 +02:00
Stephen Kelly ebf8d0a99a cmGlobalGenerator: Rename method. 2015-08-28 18:44:39 +02:00
Stephen Kelly bd096d30e0 cmGlobalGenerator: Avoid cmLocalGenerator until after Configure. 2015-08-28 18:44:39 +02:00
Stephen Kelly ff8ac8ee6a cmLocalGenerator: Create from already-constructed cmMakefile.
Don't manage the lifetime of the cmMakefile with cmLocalGenerator.
2015-08-28 18:44:39 +02:00
Stephen Kelly 0bd7279fd9 Ninja: Remove some incorrect comments adding no value. 2015-08-28 18:44:39 +02:00
Stephen Kelly 2f2d4da9dd cmCTestScriptHandler: Simplify deletes.
Deleting a nullptr is fine.
2015-08-28 18:44:38 +02:00
Stephen Kelly 7fdc9a8b5f QtAutogen: Use a smart pointer. 2015-08-28 18:44:38 +02:00
Stephen Kelly 92041eec49 cmGlobalGenerator: Remove MakeLocalGenerator method.
Inline implementation to callers.
2015-08-28 18:44:38 +02:00
Stephen Kelly acb006229d cmGlobalGenerator: Require a snapshot to create a local generator. 2015-08-28 18:44:38 +02:00
Stephen Kelly 83b8a927e5 cmMakefile: Remove cmLocalGenerator member. 2015-08-28 18:44:38 +02:00
Stephen Kelly 9b6a743b80 cmLocalGenerator: Remove Parent pointer. 2015-08-28 18:44:38 +02:00
Daniel Pfeifer ab2524d63f CTest: Fix XML double-encoding cases
Remove use of cmXMLSafe from CTest when generating content that is later
handled by cmXMLWriter.  This was broken by refactoring in the topic
merged by commit v3.3.0-rc1~22 (Merge topic 'ctest-xml-refactor',
2015-05-28).
2015-08-28 10:11:09 -04:00
Daniel Pfeifer dee84dc73d cmCTest{BZR,GIT,P4}: Remove unused cmXMLSafe includes 2015-08-28 10:11:08 -04:00
Daniel Pfeifer b3372db588 cmExtra{Kate,SublimeText}Generator: Remove unused cmXMLSafe includes 2015-08-28 10:11:08 -04:00
Kitware Robot 11d5088a2f CMake Nightly Date Stamp 2015-08-28 00:01:10 -04:00
Gilles Khouzam ac0bb4333d VS: Windows Store/Phone package cert thumbprint
Add the PackageCertificateThumbprint property when there is a
certificate on a WindowsStore or Phone app.
2015-08-27 13:35:18 -04:00
Brad King 92b835ec9d Simplify condition for using rpcrt4 library on Windows
Drop the CMAKE_BUILD_ON_VISUAL_STUDIO variable and hard-code the
condition at its only use.
2015-08-27 13:35:13 -04:00
Brad King 27e4b21dfa Merge topic 'use-generator-target'
c2b7336f cmGeneratorTarget: Move GetConfigCommonSourceFiles from cmTarget.
69329fff cmGeneratorTarget: Move GetLanguages from cmTarget.
0431f2c4 cmGeneratorTarget: Move ComputeLinkImplementationLanguages from cmTarget.
abe9505d cmGeneratorTarget: Move HaveBuildTreeRPath from cmTarget.
d4a24c0e cmGeneratorTarget: Move GetLinkImplementation from cmTarget.
83981cf5 cmTarget: Add GetLinkImplMap method.
771e79a2 cmLinkItem: Add cmOptionalLinkImplementation type.
3846ebcf cmLinkItem: Add cmLinkImplementation type.
a7f5d70d cmGeneratorTarget: Move compile defintions processing from cmTarget.
d051086c cmGeneratorTarget: Move compile features processing from cmTarget.
db4cb92b cmGeneratorTarget: Move compile options processing from cmTarget.
e6ccbf6f cmGeneratorTarget: Move include directory processing from cmTarget.
8bfb0c53 cmGeneratorTarget: Move link iface helpers from cmTarget.
2cb3e574 cmGeneratorTarget: Move GetImportLinkInterface from cmTarget.
6d3d099b cmGeneratorTarget: Move ComputeLinkInterfaceLibraries from cmTarget.
0db9d927 cmGeneratorTarget: Move GetLinkInterfaceLibraries from cmTarget.
...
2015-08-27 10:07:32 -04:00
Brad King 445077cbd2 Merge topic 'minor-cleanups'
7f551b4f cmGlobalGenerator: Implement VS6 check without virtual method.
cd6293cd cmMakefile: Fix style.
de6b2895 cmTarget: Remove vestigal method declaration.
e35ee02d cmTarget: Fix indentation.
00f2298f Reduce uses of cmMakefile::GetGlobalGenerator.
6254ba95 cmMakefile: Remove Internal class.
cf0a78dc cmGeneratorTarget: Issue messages through the local generator.
2015-08-27 10:04:12 -04:00
Brad King 0d0b9b52f8 Merge topic 'cmState-ProjectName'
637c56b4 cmGlobalGenerator: Implement FillProjectMap in terms of cmState.
b3f2299e cmState: Move ProjectName from cmMakefile.
6ce940ac cmMakefile: Use std::string in ProjectName API.
e8c0341d cmMakefile: Out-of-line GetProjectName.
2015-08-27 10:04:09 -04:00
Brad King 6904b6efdc Merge topic 'rm-cmLocalGenerator-Children'
867b5be8 cmLocalGenerator: Remove unused Children member.
6c832219 cmLocalGenerator: Implement child traversal in terms of cmState.
3fcf3837 Makefiles: Remove valueless cast.
223f4a66 cmLocalGenerator: Simplify condition.
ae026f54 cmState: Store Children states in parent state.
2015-08-27 10:04:07 -04:00
Brad King a97bb6ae3f Merge topic 'refactor-features'
e3078aa1 cmLocalGenerator: Implement GetFeature in terms of cmState.
7441fde3 cmLocalGenerator: Convert GetFeature recursion to loop.
ad0b0089 cmLocalGenerator: Simplify GetFeature implementation.
314c9ae3 cmLocalGenerator: Make GetFeature tail-recursive.
2015-08-27 10:04:05 -04:00
Brad King 2985b9c003 Merge topic 'refactor-progress'
7fbc56ac cmGlobalUnixMakefileGenerator3: Implement progress in terms of cmState.
65c434e1 cmGlobalUnixMakefileGenerator3: Inline an IsExcluded call.
be56feb6 cmGlobalGenerator: Extract new IsExcluded overload.
45f52003 cmGlobalGenerator: Implement IsExcluded in terms of cmState::Snapshot.
af9fc277 cmState: Make Snapshot EqualityComparable.
9b44018d cmGlobalGenerator: Convert IsExcluded to loop.
5f05b562 cmGlobalGenerator: Refactor IsExcluded.
95925a60 cmGlobalGenerator: Don't use else after return.
2015-08-27 10:04:03 -04:00
Kitware Robot 81ad5622b4 CMake Nightly Date Stamp 2015-08-27 00:01:06 -04:00
Stephen Kelly c2b7336ff3 cmGeneratorTarget: Move GetConfigCommonSourceFiles from cmTarget. 2015-08-26 19:46:33 +02:00
Stephen Kelly 69329fff70 cmGeneratorTarget: Move GetLanguages from cmTarget. 2015-08-26 19:46:32 +02:00
Stephen Kelly 0431f2c4d7 cmGeneratorTarget: Move ComputeLinkImplementationLanguages from cmTarget. 2015-08-26 19:46:32 +02:00
Stephen Kelly abe9505df9 cmGeneratorTarget: Move HaveBuildTreeRPath from cmTarget. 2015-08-26 19:46:32 +02:00
Stephen Kelly d4a24c0e95 cmGeneratorTarget: Move GetLinkImplementation from cmTarget. 2015-08-26 19:46:32 +02:00
Stephen Kelly 83981cf593 cmTarget: Add GetLinkImplMap method.
This is a temporary refactoring artifact.
2015-08-26 19:46:31 +02:00
Stephen Kelly 771e79a2bf cmLinkItem: Add cmOptionalLinkImplementation type.
Move the associated Compute* methods to the cmTarget class.
2015-08-26 19:46:31 +02:00
Stephen Kelly 3846ebcf2b cmLinkItem: Add cmLinkImplementation type. 2015-08-26 19:46:31 +02:00
Stephen Kelly a7f5d70dde cmGeneratorTarget: Move compile defintions processing from cmTarget. 2015-08-26 19:46:30 +02:00
Stephen Kelly d051086cce cmGeneratorTarget: Move compile features processing from cmTarget. 2015-08-26 19:46:10 +02:00
Stephen Kelly db4cb92bda cmGeneratorTarget: Move compile options processing from cmTarget. 2015-08-26 19:45:51 +02:00
Stephen Kelly e6ccbf6f30 cmGeneratorTarget: Move include directory processing from cmTarget. 2015-08-26 19:45:21 +02:00
Stephen Kelly 8bfb0c53da cmGeneratorTarget: Move link iface helpers from cmTarget. 2015-08-26 19:39:29 +02:00
Stephen Kelly 2cb3e57402 cmGeneratorTarget: Move GetImportLinkInterface from cmTarget. 2015-08-26 19:39:17 +02:00
Stephen Kelly 6d3d099b4a cmGeneratorTarget: Move ComputeLinkInterfaceLibraries from cmTarget. 2015-08-26 19:38:57 +02:00
Stephen Kelly 0db9d92787 cmGeneratorTarget: Move GetLinkInterfaceLibraries from cmTarget. 2015-08-26 19:38:37 +02:00
Stephen Kelly 84b847e42f cmGeneratorTarget: Move ComputeLinkInterface from cmTarget. 2015-08-26 19:38:14 +02:00
Stephen Kelly 6220241fd0 cmGeneratorTarget: Move GetLinkInterface from cmTarget. 2015-08-26 19:37:45 +02:00
Stephen Kelly 6353816786 cmTarget: Add GetHeadToLinkInterfaceMap methods. 2015-08-26 19:37:32 +02:00
Stephen Kelly 20993de464 cmTarget: Move cmHeadToLinkInterfaceMap out. 2015-08-26 19:37:06 +02:00
Stephen Kelly f8ca51a054 cmGeneratorTarget: Move ComputeLinkInterface from cmTarget. 2015-08-26 19:36:13 +02:00
Stephen Kelly d67584ccc4 cmTarget: Move link interface libraries struct out. 2015-08-26 19:35:45 +02:00
Kitware Robot 33df7f36d0 CMake Nightly Date Stamp 2015-08-26 00:01:07 -04:00
Stephen Kelly 7f551b4f26 cmGlobalGenerator: Implement VS6 check without virtual method.
Don't require existence of a global generator for this check.
2015-08-25 23:06:33 +02:00
Stephen Kelly cd6293cdf8 cmMakefile: Fix style. 2015-08-25 23:06:33 +02:00
Stephen Kelly de6b289582 cmTarget: Remove vestigal method declaration.
The definition was removed in commit v3.1.0-rc1~688^2~5 (cmTarget:
Allow any generator expression in SOURCES property., 2014-03-18).
2015-08-25 23:06:33 +02:00
Stephen Kelly e35ee02d6e cmTarget: Fix indentation. 2015-08-25 23:06:33 +02:00
Stephen Kelly 00f2298f07 Reduce uses of cmMakefile::GetGlobalGenerator.
Don't assume the cmMakefile has a global generator.
2015-08-25 23:06:33 +02:00
Stephen Kelly 6254ba9578 cmMakefile: Remove Internal class.
Move only remaining state to the direct class.
2015-08-25 22:19:57 +02:00
Stephen Kelly cf0a78dc4c cmGeneratorTarget: Issue messages through the local generator. 2015-08-25 22:18:39 +02:00
Gregor Jasny 48fe617e66 Fix installation of iOS targets (#12506)
Since cmTarget::ComputeOutputDir results can be used in CMake code of script
cmake_install.cmake and in Xcode internals, string ${EFFECTIVE_PLATFORM_NAME}
should be used instead of $(EFFECTIVE_PLATFORM_NAME) because it works for both.

Value of CMAKE_CFG_INTDIR can't be used in BUILD_TYPE argument of install
command since it contains $(EFFECTIVE_PLATFORM_NAME) (e.g. equals to
`Release-iphoneos`, `Debug-iphoneos`, etc.).
2015-08-25 21:53:51 +02:00
Gregor Jasny d2c2319d64 Replace CMAKE_XCODE_EFFECTIVE_PLATFORMS with call to PlatformIsAppleIos
Currently the CMAKE_XCODE_EFFECTIVE_PLATFORMS property acts only as
a kind of toggle switch to enable iOS project layout features.
But instead of relying on this undocumented property, better detect
the presence of an iOS SDK directly.
2015-08-25 21:53:51 +02:00
Brad King cdb9984bff Merge topic 'consistent-empty'
e876963f Replace '0 == instances.size()' with instances.empty().
44ffb9cd Replace foo.size() pattern with !foo.empty().
8f89f8b1 Replace 'foo.size() != 0' pattern with !foo.empty().
524610f9 Replace 'foo.size() == 0' pattern with foo.empty().
0e14c7ee Replace 'foo.size() > 0' pattern with !foo.empty().
2015-08-25 15:13:33 -04:00
Brad King 96dafff97f Merge topic 'libarchive-modern-apis'
e7f93715 Use modern libarchive APIs
2015-08-25 15:13:31 -04:00
Brad King 9aeee9c608 Merge topic 'cmState-prop_dir'
f4150bd8 cmState: Move directory Properties from cmMakefile.
01787547 cmMakefile: Inline GetDefinitions into GetProperty.
2015-08-25 15:13:23 -04:00