summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Ninja: Factor out per-dir "all" target computation into common generatorBrad King2019-09-303-58/+112
| | | | This will make it re-usable for the Makefile generator.
* Ninja: Simplify top-level "all" target generationBrad King2019-09-303-49/+14
| | | | | Remove its dedicated implementation and update the per-directory "all" target generation to work for the top-level directory too.
* Ninja: Fix EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/allBrad King2019-09-301-2/+19
| | | | | | | Defer adding a test to a later commit after all generators have been fixed. Issue: #19753
* Ninja,Makefile: Fix subdir "all" with nested EXCLUDE_FROM_ALL subdirBrad King2019-09-302-0/+6
| | | | | | | | | | The "all" target defined for a subdirectory (e.g. `cd sub; make` or `ninja sub/all`) should not include the "all" targets from nested subdirectories (e.g. `sub/sub`) that are marked as `EXCLUDE_FROM_ALL`. Fix this and add a test case. Issue: #19753 Co-Author: Sebastian Holtermann <sebholt@xwmw.org>
* cmLocalUnixMakefileGenerator3: Mark GetRelativeTargetDirectory constBrad King2019-09-302-2/+3
|
* cmLocalCommonGenerator: Mark GetConfigName as constBrad King2019-09-301-1/+1
|
* cmGlobalNinjaGenerator: Remove unused AddDependencyToAll overloadBrad King2019-09-302-6/+0
|
* Merge topic 'fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-308-21/+48
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | dce58afd30 Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all' 013d7dd484 Help: Mention 3.14.7 EXCLUDE_FROM_ALL fix in 3.15.4 release note 61103c0bac Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 1fe4501592 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.15.4 05d7ca14e9 Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 62d45d91e8 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.14.7 b3b1c7bf3a Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL 156b56480a Makefiles: Revert "Make build root targets ... recursive" ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3863
| * Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-308-21/+48
| |\ | | | | | | | | | | | | | | | | | | | | | Resolve conflicts with changes since the 3.15 series: * Convert `cmSystemTools::IsOn` => `cmIsOn`. * Move one "EXCLUDE_FROM_ALL" target property logic fix to its new location in `cmMakefile::AddNewUtilityTarget`.
| | * Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-308-17/+25
| | |\
| | | * Restore "all" target in subdirectories marked EXCLUDE_FROM_ALLBrad King2019-09-308-17/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "all" target in each directory is supposed to have targets from that directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in its parent. This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the participation of a target in "all" independent of context. Revert much of the logic change from that commit to restore the old behavior. Then re-implement the behavior intended by the commit to keep its test working. Extend the test to cover the old behavior too. Fixes: #19753
| | | * CMake 3.14.6v3.14.6Brad King2019-07-161-1/+1
| | | |
| | | * CMake 3.14.5v3.14.5Brad King2019-05-311-1/+1
| | | |
| | | * Merge branch 'vs-depends-dedup' into release-3.14Brad King2019-05-302-20/+45
| | | |\ | | | | | | | | | | | | | | | Merge-request: !3388
| | * | | Makefiles: Revert "Make build root targets ... recursive"Brad King2019-09-271-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the main logic change from commit 827da1119e (Makefiles: Make build root targets "all", "clean" and "preinstall" recursive, 2019-05-17, v3.15.0-rc1~96^2~2) for the "all" and "preinstall" targets. The commit cleaned up the Makefile generator to use the same logic for the "all" target in the top-level directory as for subdirectories. It exposed a long-existing bug that caused the "all" target in a subdirectory to include the "all" targets from sub-subdirectories even if they are marked `EXCLUDE_FROM_ALL`. The `Tests/SubDir` test should fail but the problem is currently covered up by another bug introduced by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) that causes the "all" targets in `EXCLUDE_FROM_ALL` subdirectories to be empty. Revert the top-level "all" and "preinstall" targets to the old approach to prepare to fix the latter bug without exposing the long-existing bug at the top-level. Leave the "clean" target in the new approach because it does not honor `EXCLUDE_FROM_ALL` anyway. Issue: #19753
* | | | | Merge topic 'objective-c-cxx'Brad King2019-09-305-74/+116
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd0f304613 Objective C/C++: Add compiler standard detection b515af782b Help: Add release note for Objective-C/C++ language support 9e66397c28 Languages: Add support for Objective-C++ 80f120a85f Languages: Add support for Objective-C Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3811
| * | | | | Objective C/C++: Add compiler standard detectionCristian Adam2019-09-284-72/+108
| | | | | |
| * | | | | Languages: Add support for Objective-C++Steve Wilson2019-09-281-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add entries in Modules and Modules/Platform to support Objective-C++ compiler determination and identification. Add Modules to check Objective-C++ compiler flags, source compilations, program checks, etc... Use OBJCXX as the designator of the language, eg: project(foo OBJCXX) Add various tests for Objective-C++ language features. Add tests to preserve C++ handling of .M and .mm files when Objective-C++ is not a configured language. Co-authored-by: Cristian Adam <cristian.adam@gmail.com>
| * | | | | Languages: Add support for Objective-CSteve Wilson2019-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add entries in Modules and Modules/Platform to support Objective-C compiler determination and identification. Add Modules to check Objective-C compiler flags, source compilations, program checks, etc... Use OBJC as the designator of the language, eg: project(foo OBJC) Add various tests for Objective-C language features. Add tests to preserve C++ handling of .m and .mm files when OBJC is not a configured language. Co-Authored-By: Cristian Adam <cristian.adam@gmail.com>
* | | | | | Merge topic 'autogen_free_functions'Brad King2019-09-307-977/+1014
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6bd40ccf84 Autogen: Make cmQtAutoMocUic a free function e0e9be3d57 Autogen: Make cmQtAutoRcc a free function 820962edc9 Autogen: Refactor json info file reading interface Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3867
| * | | | | | Autogen: Make cmQtAutoMocUic a free functionSebastian Holtermann2019-09-283-650/+635
| | | | | | |
| * | | | | | Autogen: Make cmQtAutoRcc a free functionSebastian Holtermann2019-09-283-83/+95
| | | | | | |
| * | | | | | Autogen: Refactor json info file reading interfaceSebastian Holtermann2019-09-287-248/+288
| | | | | | |
* | | | | | | Merge topic 'smart_ptr/cmCurses'Brad King2019-09-308-203/+157
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7d6e08b438 cmCursesMainForm: change Entries to object vector 0833486d62 cmCursesStringWidget: remove manual delete bc71b253cb cmCursesCacheEntryComposite: default destructor 36875ff419 cmCursesMainForm: cleanup manual allocation 2b16071149 CursesDialog: modernize CMake usage Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3849
| * | | | | | | cmCursesMainForm: change Entries to object vectorTushar Maheshwari2019-09-273-47/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add move constructor and move assignment operator for `cmCursesCacheEntryComposite`. - Transfer ownership of Entries objects to std::vector.
| * | | | | | | cmCursesStringWidget: remove manual deleteTushar Maheshwari2019-09-272-24/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Relpace `char*` operations with `std::string`
| * | | | | | | cmCursesCacheEntryComposite: default destructorTushar Maheshwari2019-09-263-37/+42
| | | | | | | |
| * | | | | | | cmCursesMainForm: cleanup manual allocationTushar Maheshwari2019-09-264-107/+69
| | | | | | | |
| * | | | | | | CursesDialog: modernize CMake usageTushar Maheshwari2019-09-262-21/+17
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2019-09-301-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2019-09-291-1/+1
| |/ / / / / / |/| | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2019-09-281-1/+1
| |_|/ / / / |/| | | | |
* | | | | | Merge topic 'decompose-custom-command-creation'Brad King2019-09-2716-230/+313
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5a06efda05 cmMakefile: Remove AddUtilityCommand overload without byproducts ea1bed34b2 cmMakefile: Extract utilities used for creation of custom commands 91abf9f3c4 cmCustomCommand: Move custom commands f151a57705 cmMakefile: Move enumerations into new header Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3846
| * | | | | | cmMakefile: Remove AddUtilityCommand overload without byproductsDaniel Eiband2019-09-266-38/+21
| | | | | | |
| * | | | | | cmMakefile: Extract utilities used for creation of custom commandsDaniel Eiband2019-09-263-130/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Decompose creation of custom commands further into logical steps.
| * | | | | | cmCustomCommand: Move custom commandsDaniel Eiband2019-09-265-5/+23
| | | | | | |
| * | | | | | cmMakefile: Move enumerations into new headerDaniel Eiband2019-09-2614-73/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The enumerations will also be used in cmLocalGenerator.
* | | | | | | Merge topic 'free-target-commands'Brad King2019-09-2719-502/+368
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9d1a1bc495 cmTarget*: Port away from cmCommand Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3799
| * | | | | | | cmTarget*: Port away from cmCommandRegina Pfeifer2019-09-2619-502/+368
| | |/ / / / / | |/| | | | |
* | | | | | | Merge topic 'fileapiSourcePropertyBacktraces'Brad King2019-09-273-24/+142
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8b84c046fa fileapi: add some source property backtraces c71ac889ba cmSourceFile: Add backtraces for a few source properties Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3861
| * | | | | | fileapi: add some source property backtracesJustin Goshi2019-09-261-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support backtraces for COMPILE_DEFINITIONS, COMPILE_OPTIONS, and INCLUDE_DIRECTORIES source properties.
| * | | | | | cmSourceFile: Add backtraces for a few source propertiesJustin Goshi2019-09-262-2/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding backtrace support for INCLUDE_DIRECTORIES, COMPILE_OPTIONS, and COMPILE_DEFINITIONS.
* | | | | | | CMake Nightly Date StampKitware Robot2019-09-271-1/+1
|/ / / / / /
* | | | | | Merge topic 'vs-ReferenceOutputAssembly-conditions'Brad King2019-09-261-26/+2
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4dc8c153ec Tests: Teach VSWinStorePhone to verify the content of generated xap 481070a78a Tests: Teach VSWinStorePhone to verify the content of generated appx/msix acdb326610 VS: Do not reference output assemblies of targets with no output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3778
| * | | | | VS: Do not reference output assemblies of targets with no outputVedran Vujinovic2019-09-191-26/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our logic that sets `ReferenceOutputAssembly` in `ProjectReference` has accumulated a series of conditions for different cases in which the referenced target has no output. Simplify the condition to check `GetManagedType` directly for cases with no output. This will explicitly turn off `ReferenceOutputAssembly` in `ProjectReference` for utility (i.e. `add_custom_target`) and special targets (i.e. `ZERO_CHECK`, etc.), and allowing reference of target dependencies that produce some output. Fixes: #19665
* | | | | | Merge topic 'autogen_json'Brad King2019-09-2611-950/+1139
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d867e05892 Autogen: Use JSON instead of CMake script for info files 881e3cfbf9 Autogen: Variable renames and cleanups fc36f4410b Autogen: Inline GetKnownQtVersions function 1f0d23546d Autogen: Return unsigned int from GetParallelCPUCount() 6a05bd3fa6 cm/algorithm: Provide function cm::clamp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3859
| * | | | | | Autogen: Use JSON instead of CMake script for info filesSebastian Holtermann2019-09-2510-861/+1051
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to store information for the _autogen target in a CMake script file AutogenInfo.cmake, which was imported by a temporary cmake instance in the _autogen target. This introduced the overhead of creating a temporary cmake instance and inherited the limitations of the CMake language which only supports lists. This patch introduces JSON files to pass information to AUTORCC and autogen_ targets. JSON files are more flexible for passing data, e.g. they support nested lists. The patch has the side effects that - AutogenInfo.cmake is renamed to AutogenInfo.json - AutogenOldSettings.txt is renamed to AutogenUsed.txt - RCC<qrcBaseName><checksum>Info.cmake is renamed to AutoRcc_<qrcBaseName>_<checksum>_Info.json - RCC<qrcBaseName><checksum>.lock is renamed to AutoRcc_<qrcBaseName>_<checksum>_Lock.lock - RCC<qrcBaseName><checksum>Settings.txt is renamed to AutoRcc_<qrcBaseName>_<checksum>_Used.txt
| * | | | | | Autogen: Variable renames and cleanupsSebastian Holtermann2019-09-256-59/+63
| | | | | | |
| * | | | | | Autogen: Inline GetKnownQtVersions functionSebastian Holtermann2019-09-251-49/+45
| | | | | | |
| * | | | | | Autogen: Return unsigned int from GetParallelCPUCount()Sebastian Holtermann2019-09-251-6/+5
| | | | | | |