summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream-kwsys' into update-kwsysBrad King2015-09-292-1/+65
|\
| * KWSys 2015-09-28 (2089567a)KWSys Robot2015-09-292-1/+65
| | | | | | | | | | | | | | | | | | Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ 2089567a | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' dc4e4a55..2089567a Vitaly Baranov (1): 2089567a SystemTools: Fix GetPath to not affect existing output vector entries
* | Merge topic 'vs-old-rule-files'Brad King2015-09-292-0/+29
|\ \ | | | | | | | | | | | | fa5284f0 VS: Prevent generated "rule" files from causing rebuilds
| * | VS: Prevent generated "rule" files from causing rebuildsMike Pagel2015-09-282-0/+29
| | | | | | | | | | | | | | | | | | When we generate a ".rule" file to attach a custom command in a VS IDE project, set the file timestamp to be old enough to prevent the rule from re-running due to its timestamp.
* | | Merge topic 'fix-qtautogen-with-object-library-Ninja'Brad King2015-09-295-17/+15
|\ \ \ | | | | | | | | | | | | | | | | 9bc6eb8e cmGlobalGenerator: Initialize generator targets on construction (#15729)
| * | | cmGlobalGenerator: Initialize generator targets on construction (#15729)Stephen Kelly2015-09-295-17/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ninja generator and Visual Studio generators are special-cased for the QtAutogen feature. In order to reduce the number of custom targets, the Visual Studio generators prefer to create custom commands instead, and in order to create appropriate Ninja files, generated rcc files are listed as byproducts. This requires the use of the GetConfigCommonSourceFiles API of the cmGeneratorTarget for those generators when initializing the autogen target. The initializer method is called from Compute() after the cmGeneratorTarget objects are created, however the initialization of the object directory occurs later in the InitGeneratorTargets method. That means that the resulting object locations are computed incorrectly and cached before the object directory is determined, so the generated buildsystem can not find the object files. The initialization of the object directory was split from the creation of cmGeneratorTarget instances in commit 0e0258c8 (cmGlobalGenerator: Split creation of generator object from initialization., 2015-07-25). The motivation for the split was to do only what is essential to do early in cases where cmGeneratorTargets need to be created at configure-time. That is required for the purpose of implementing policies CMP0024 and CMP0026, and for try_compile(LINK_LIBRARIES). However, the split was not really necessary. Compute the object directory in the cmGeneratorTarget constructor instead. The QtAutogen unit test already tests the use of TARGET_OBJECTS with AUTOMOC, and that test already passes on Ninja. The reason it already passes is that the QtAutogen target also uses the AUTORCC feature, and specifies several qrc files in its SOURCES. Later in the Compute algorithm (after the InitGeneratorTargets call), the rcc files are determined and target->AddSource is called. The AddSource call clears the previously mentioned cache of source files, causing it to be regenerated when next queried, this time taking account of the object directory. Extend the test suite with a new target which does not make use of AUTORCC with qrc files so that the test added alone would break without the fix in this commit.
* | | | Merge topic 'simplify-qt-autogen'Brad King2015-09-297-1107/+1208
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1fe39020 QtAutogen: Port away from cmLocalGenerator. 59a729b2 QtAutogen: Split initializer class into separate file. 1e83a963 QtAutogen: Split initializer methods into separate class. 12f0e13c QtAutogen: Simplify generator initialization API. 65ff75d3 QtAutogen: Remove unnecessary dereference. 64b78c14 QtAutogen: Move Source initialization to prior loop. c3c20d3c QtAutogen: Add _automoc.cpp sources before initializing. 8b6ec29d QtAutogen: Move initialization condition to caller. 9470b056 QtAutogen: Move condition to prior loop. b7491b1c QtAutogen: Move condition to prior loop. e791c854 QtAutogen: Make some methods static. 6210ec64 QtAutogen: Make internal method private. a3ceb998 QtAutogen: Don't use members to initialize automoc targets. dced2fe1 QtAutogen: Rename variable. f9a77e76 QtAutogen: Don't use a member to store skipped uic files. c3633e7a QtAutogen: Add missing includes and forward declarations.
| * | | QtAutogen: Port away from cmLocalGenerator.Stephen Kelly2015-09-291-8/+7
| | | |
| * | | QtAutogen: Split initializer class into separate file.Stephen Kelly2015-09-296-1091/+1152
| | | |
| * | | QtAutogen: Split initializer methods into separate class.Stephen Kelly2015-09-263-40/+55
| | | |
| * | | QtAutogen: Simplify generator initialization API.Stephen Kelly2015-09-262-14/+12
| | | |
| * | | QtAutogen: Remove unnecessary dereference.Stephen Kelly2015-09-261-3/+3
| | | |
| * | | QtAutogen: Move Source initialization to prior loop.Stephen Kelly2015-09-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that all targets have their _automoc.cpp before attempting to initialize the autogen target. The initialization evaluates generator expressions for target sources, and must include the _automoc.cpp of object library dependents in order for TARGET_OBJECTS to include the object file for the corresponding _automoc.cpp file.
| * | | QtAutogen: Add _automoc.cpp sources before initializing.Stephen Kelly2015-09-263-2/+17
| | | |
| * | | QtAutogen: Move initialization condition to caller.Stephen Kelly2015-09-263-20/+18
| | | |
| * | | QtAutogen: Move condition to prior loop.Stephen Kelly2015-09-261-10/+12
| | | |
| * | | QtAutogen: Move condition to prior loop.Stephen Kelly2015-09-261-15/+16
| | | |
| * | | QtAutogen: Make some methods static.Stephen Kelly2015-09-263-26/+29
| | | |
| * | | QtAutogen: Make internal method private.Stephen Kelly2015-09-261-1/+2
| | | |
| * | | QtAutogen: Don't use members to initialize automoc targets.Stephen Kelly2015-09-262-19/+22
| | | |
| * | | QtAutogen: Rename variable.Stephen Kelly2015-09-261-2/+3
| | | |
| * | | QtAutogen: Don't use a member to store skipped uic files.Stephen Kelly2015-09-262-12/+12
| | | |
| * | | QtAutogen: Add missing includes and forward declarations.Stephen Kelly2015-09-261-0/+5
| | | |
* | | | Merge topic 'cpack-package-empty-dirs'Brad King2015-09-2924-11/+89
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9298f56d CPack: allow packaging of empty directories ecd71c9c SystemTools: time operations on directories 19c6f4ee SystemTools: set time file permissions 749a140a CPackDeb: allow empty directories in component packages
| * | | | CPack: allow packaging of empty directoriesDomen Vrankar2015-09-2821-5/+79
| | | | |
| * | | | SystemTools: time operations on directoriesDomen Vrankar2015-09-281-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | On windows FILE_FLAG_BACKUP_SEMANTICS enables us to read/write time both on files and directories.
| * | | | SystemTools: set time file permissionsDomen Vrankar2015-09-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows if file permissions are read only FILE_WRITE_ATTRIBUTES will enables us to get file handle and change file time.
| * | | | CPackDeb: allow empty directories in component packagesRaffi Enficiaud2015-09-282-2/+3
| | |/ / | |/| |
* | | | Merge topic 'ProcessorCount-SunOS-psrinfo'Brad King2015-09-291-8/+21
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 1ff96bf6 ProcessorCount: Implement with psrinfo tool on recent SunOS versions
| * | | | ProcessorCount: Implement with psrinfo tool on recent SunOS versionsMarc Chevrier2015-09-281-8/+21
| | | | |
* | | | | Merge topic 'link-https-cmake.org'Brad King2015-09-2927-45/+45
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | da7276cf Replace http://www.cmake.org URLs with https://cmake.org
| * | | | | Replace http://www.cmake.org URLs with https://cmake.orgBrad King2015-09-2527-45/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latter is now the preferred URL for visiting cmake.org with a browser. Convert using the shell code: git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
* | | | | | CMake Nightly Date StampKitware Robot2015-09-291-1/+1
| |_|/ / / |/| | | |
* | | | | Merge topic 'minor-cleanups'Brad King2015-09-2824-86/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 51e48637 VS: Remove impossible condition. 203eada6 cmMakefile: Remove Configured state. 5642449a cmCommand: Remove IsDiscouraged interface. 77c6a339 cmSetCommand: Re-use local named variable. 732f5511 cmSetCommand: Fix typo in comment. 8544f16d cmGlobalGenerator: Devirtualize method. 9096daaf Ninja: Remove unused variable.
| * | | | | VS: Remove impossible condition.Stephen Kelly2015-09-271-3/+2
| | | | | |
| * | | | | cmMakefile: Remove Configured state.Stephen Kelly2015-09-272-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | It is vestigial.
| * | | | | cmCommand: Remove IsDiscouraged interface.Stephen Kelly2015-09-2718-71/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This used to affect documentation, but does not affect the Sphinx documentation.
| * | | | | cmSetCommand: Re-use local named variable.Stephen Kelly2015-09-271-1/+1
| | | | | |
| * | | | | cmSetCommand: Fix typo in comment.Stephen Kelly2015-09-271-1/+1
| | | | | |
| * | | | | cmGlobalGenerator: Devirtualize method.Stephen Kelly2015-09-271-1/+1
| | | | | |
| * | | | | Ninja: Remove unused variable.Stephen Kelly2015-09-271-1/+0
| | | | | |
* | | | | | Merge topic 'optimize-variable-replacement'Brad King2015-09-281-0/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 256c78ad Build: Set CMP0053 to NEW.
| * | | | | | Build: Set CMP0053 to NEW.Stephen Kelly2015-09-261-0/+3
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | If this policy is WARN, then the ReplaceVariableInString is executed with both the new algorithm and the OLD slow algorithm. The NEW algorithm should be used wherever it works.
* | | | | | Merge topic 'test-Wno-dev'Brad King2015-09-283-0/+16
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | bc3e1e4b Tests: Add case for -Wdev and -Wno-dev with non-message() warnings (#15747)
| * | | | | | Tests: Add case for -Wdev and -Wno-dev with non-message() warnings (#15747)Michael Scott2015-09-253-0/+16
| |/ / / / /
* | | | | | Merge topic 'update-kwsys'Brad King2015-09-282-66/+72
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 946e8615 Merge branch 'upstream-kwsys' into update-kwsys 29ad0694 KWSys 2015-09-25 (dc4e4a55)
| * \ \ \ \ \ Merge branch 'upstream-kwsys' into update-kwsysBrad King2015-09-262-66/+72
| |\ \ \ \ \ \ | | | |_|_|_|/ | | |/| | | |
| | * | | | | KWSys 2015-09-25 (dc4e4a55)KWSys Robot2015-09-262-66/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ dc4e4a55 | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' cfeb27cc..dc4e4a55 Ben Boeckel (1): dd466688 CTestCustom: use list(APPEND) Domen Vrankar (1): dc4e4a55 SystemTools: Handle directories in CopyFile{Always,IfDifferent}
* | | | | | | Merge topic 'ninja-cleanup-path-conversion'Brad King2015-09-2811-48/+54
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6e2a4087 Ninja: Centralize path conversion in global generator (#15757) 993d0641 Ninja: Fix OBJECT_DIR placeholder substitution in link rules
| * | | | | | | Ninja: Centralize path conversion in global generator (#15757)Brad King2015-09-2510-47/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the Ninja generator we run all build rules from the top of the build tree rather than changing into each subdirectory. Therefore we convert all paths relative to the HOME_OUTPUT directory. However, the Convert method on cmLocalGenerator restricts relative path conversions to avoid leaving the build tree with a "../" sequence. Therefore conversions performed for "subdirectories" that are outside the top of the build tree always use full paths while conversions performed for subdirectories that are inside the top of the build tree may use relative paths to refer to the same files. Since Ninja always runs rules from the top of the build tree we should convert them using only the top-level cmLocalGenerator in order to remain consistent. Also extend the test suite with a case that fails without this fix.