Commit Graph

27617 Commits

Author SHA1 Message Date
Kitware Robot ed98209ddc Revise include order using clang-format-6.0
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Brad King 42ef28b4f3 Remove unused uid_t/gid_t types on Windows
These were added and used by commit 5299141320 (CPackDeb: Enable the DEB
generator on Windows, 2017-06-17, v3.10.0-rc1~445^2) but have not been
used since commit df556e65f2 (cmCPackDebGenerator: Use libarchive to
create .deb file, 2017-08-24, v3.10.0-rc1~220^2).
2019-10-01 12:25:43 -04:00
Brad King 62d65286e7 Merge topic 'fix-EXCLUDE_FROM_ALL-subdir-all'
8a15e75fe3 Tests: Cover EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/all
7420843370 Makefiles: Fix EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/all
d713bcb642 Ninja: Factor out per-dir "all" target computation into common generator
a75586c775 Ninja: Simplify top-level "all" target generation
a49cd4d1a7 Ninja: Fix EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/all
0733a94f64 Ninja,Makefile: Fix subdir "all" with nested EXCLUDE_FROM_ALL subdir
11fb377eb9 cmLocalUnixMakefileGenerator3: Mark GetRelativeTargetDirectory const
be7857f40d cmLocalCommonGenerator: Mark GetConfigName as const
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3869
2019-10-01 12:25:13 -04:00
Brad King ec16afc9e8 Merge topic 'typos'
ab06de68c5 Help: fixed typos in PCH / Unity Build doc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3870
2019-10-01 11:06:22 -04:00
Kitware Robot a06472b168 CMake Nightly Date Stamp 2019-10-01 00:01:08 -04:00
Corentin Plouet ab06de68c5 Help: fixed typos in PCH / Unity Build doc
+ typos in source code
2019-10-01 05:33:50 +10:00
Brad King 7420843370 Makefiles: Fix EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/all
Defer adding a test to a later commit after all generators have been
fixed.

Issue: #19753
Co-Author: Sebastian Holtermann <sebholt@xwmw.org>
2019-09-30 10:34:23 -04:00
Brad King d713bcb642 Ninja: Factor out per-dir "all" target computation into common generator
This will make it re-usable for the Makefile generator.
2019-09-30 10:33:20 -04:00
Brad King a75586c775 Ninja: Simplify top-level "all" target generation
Remove its dedicated implementation and update the per-directory "all"
target generation to work for the top-level directory too.
2019-09-30 10:30:28 -04:00
Brad King a49cd4d1a7 Ninja: Fix EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/all
Defer adding a test to a later commit after all generators have been
fixed.

Issue: #19753
2019-09-30 10:30:28 -04:00
Brad King 0733a94f64 Ninja,Makefile: Fix subdir "all" with nested EXCLUDE_FROM_ALL subdir
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>
2019-09-30 10:30:28 -04:00
Brad King 11fb377eb9 cmLocalUnixMakefileGenerator3: Mark GetRelativeTargetDirectory const 2019-09-30 10:30:28 -04:00
Brad King be7857f40d cmLocalCommonGenerator: Mark GetConfigName as const 2019-09-30 10:30:28 -04:00
Brad King 4a92df8667 cmGlobalNinjaGenerator: Remove unused AddDependencyToAll overload 2019-09-30 10:30:28 -04:00
Brad King 8aa5f6ba44 Merge topic 'fix-EXCLUDE_FROM_ALL-subdir-all'
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
2019-09-30 10:27:15 -04:00
Brad King 9b03baee30 Merge topic 'objective-c-cxx'
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
2019-09-30 10:25:19 -04:00
Brad King b24e501bc2 Merge topic 'autogen_free_functions'
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
2019-09-30 10:23:42 -04:00
Brad King 45507eeb6a Merge topic 'smart_ptr/cmCurses'
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
2019-09-30 10:21:38 -04:00
Brad King dce58afd30 Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'
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`.
2019-09-30 09:34:57 -04:00
Brad King 05d7ca14e9 Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 2019-09-30 09:19:21 -04:00
Brad King b3b1c7bf3a Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL
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
2019-09-30 09:18:20 -04:00
Kitware Robot 3f7829fc4f CMake Nightly Date Stamp 2019-09-30 00:01:05 -04:00
Kitware Robot c174e603be CMake Nightly Date Stamp 2019-09-29 00:01:05 -04:00
Sebastian Holtermann 6bd40ccf84 Autogen: Make cmQtAutoMocUic a free function 2019-09-29 00:07:32 +02:00
Sebastian Holtermann e0e9be3d57 Autogen: Make cmQtAutoRcc a free function 2019-09-29 00:07:32 +02:00
Sebastian Holtermann 820962edc9 Autogen: Refactor json info file reading interface 2019-09-29 00:07:32 +02:00
Cristian Adam dd0f304613 Objective C/C++: Add compiler standard detection 2019-09-28 15:56:53 +02:00
Steve Wilson 9e66397c28 Languages: Add support for Objective-C++
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>
2019-09-28 15:56:53 +02:00
Steve Wilson 80f120a85f Languages: Add support for Objective-C
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>
2019-09-28 15:56:46 +02:00
Kitware Robot 9cd47ff3c8 CMake Nightly Date Stamp 2019-09-28 00:01:06 -04:00
Brad King f30f1625c2 Merge topic 'decompose-custom-command-creation'
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
2019-09-27 14:54:58 -04:00
Brad King 0672647e12 Merge topic 'free-target-commands'
9d1a1bc495 cmTarget*: Port away from cmCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3799
2019-09-27 14:52:01 -04:00
Brad King d608b2c620 Merge topic 'fileapiSourcePropertyBacktraces'
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
2019-09-27 14:38:30 -04:00
Brad King 156b56480a Makefiles: Revert "Make build root targets ... recursive"
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
2019-09-27 14:15:00 -04:00
Tushar Maheshwari 7d6e08b438 cmCursesMainForm: change Entries to object vector
- Add move constructor and move assignment operator for
`cmCursesCacheEntryComposite`.
- Transfer ownership of Entries objects to std::vector.
2019-09-27 17:18:16 +05:30
Tushar Maheshwari 0833486d62 cmCursesStringWidget: remove manual delete
- Relpace `char*` operations with `std::string`
2019-09-27 17:18:16 +05:30
Kitware Robot 8c568722d7 CMake Nightly Date Stamp 2019-09-27 00:02:11 -04:00
Regina Pfeifer 9d1a1bc495 cmTarget*: Port away from cmCommand 2019-09-26 13:27:55 -04:00
Tushar Maheshwari bc71b253cb cmCursesCacheEntryComposite: default destructor 2019-09-26 11:10:22 -04:00
Tushar Maheshwari 36875ff419 cmCursesMainForm: cleanup manual allocation 2019-09-26 11:10:20 -04:00
Justin Goshi 8b84c046fa fileapi: add some source property backtraces
Support backtraces for COMPILE_DEFINITIONS, COMPILE_OPTIONS, and
INCLUDE_DIRECTORIES source properties.
2019-09-26 10:56:52 -04:00
Justin Goshi c71ac889ba cmSourceFile: Add backtraces for a few source properties
Adding backtrace support for INCLUDE_DIRECTORIES, COMPILE_OPTIONS, and
COMPILE_DEFINITIONS.
2019-09-26 10:56:52 -04:00
Brad King b4087a2353 Merge topic 'vs-ReferenceOutputAssembly-conditions'
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
2019-09-26 10:43:27 -04:00
Daniel Eiband 5a06efda05 cmMakefile: Remove AddUtilityCommand overload without byproducts 2019-09-26 10:04:03 -04:00
Daniel Eiband ea1bed34b2 cmMakefile: Extract utilities used for creation of custom commands
Decompose creation of custom commands further into logical steps.
2019-09-26 10:03:48 -04:00
Daniel Eiband 91abf9f3c4 cmCustomCommand: Move custom commands 2019-09-26 10:02:08 -04:00
Daniel Eiband f151a57705 cmMakefile: Move enumerations into new header
The enumerations will also be used in cmLocalGenerator.
2019-09-26 10:02:06 -04:00
Brad King 28a2613dd2 Merge topic 'autogen_json'
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
2019-09-26 09:57:15 -04:00
Brad King 3cb12895f3 Merge topic 'pch-export'
c54448e185 PCH: Propagate INTERFACE_PRECOMPILE_HEADERS in install(EXPORT)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !3862
2019-09-26 09:51:55 -04:00
Brad King a29b8d285e Merge topic 'fix-vsmacro-access-violation'
7847fef510 VS: Fix access violation when calling Visual Studio macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3853
2019-09-26 09:49:56 -04:00