Commit Graph

25348 Commits

Author SHA1 Message Date
Stephan Szabo 6d855fbf44 Replace header flag tables with json reading
Stop loading flag tables from header files and instead load the flag table
information from json files in Templates/MSBuild/FlagTables.
2018-11-28 07:43:31 -08:00
Stephan Szabo 8279302110 Convert cmIDEFlagTable to use owned strings
Convert from char* to std::string in flag tables.
Change termination condition from nullptr to empty string in command flag.
Update tables to store empty strings.
2018-11-28 07:43:25 -08:00
Stephan Szabo 139b39985f Update XML->JSON generation script
Update generation script to write a newline to generated json.
Update generation script to remove / or - at start of switches in xml
Update generation script to put separators on switch as in headers
2018-11-28 07:43:24 -08:00
Brad King 20aab1a4e7 Merge topic 'configure_file-canonical-deps'
6199637e95 configure_file: canonicalize input and output path in dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2586
2018-11-15 10:40:33 -05:00
Brad King 59fc717c25 Merge topic 'deprecate-findqt'
0f5c1b404b find_package(): Add policy to remove the FindQt module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: noo mook <noomook2519@gmail.com>
Merge-request: !2554
2018-11-15 10:39:55 -05:00
Brad King 64df9ef33a Merge topic 'autogen_info_write'
e0c26406aa Autogen: Sort tests
83bbfb1d53 Autogen: Add a definitions test to the MocOnly test
01d5e5c460 Autogen: Add and use cmQtAutoGenInitializer::InfoWriter class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2610
2018-11-15 08:38:12 -05:00
Kitware Robot 44a5400d10 CMake Nightly Date Stamp 2018-11-15 00:01:04 -05:00
Kyle Edwards 0f5c1b404b find_package(): Add policy to remove the FindQt module
Removing FindQt.cmake gives Qt upstream a path forward to export its
own QtConfig.cmake files which can be found by find_package()
without having to explicitly specify CONFIG. Projects that still
want to use Qt3/4 can call find_package(Qt[34]), include(FindQt),
or add FindQt.cmake to their CMAKE_MODULE_PATH.
2018-11-14 15:05:06 -05:00
Sebastian Holtermann 01d5e5c460 Autogen: Add and use cmQtAutoGenInitializer::InfoWriter class
The new ``cmQtAutoGenInitializer::InfoWriter`` class provides an
interface to write strings/vectors/sets/maps in CMake format
into a file.  Its use replaces various `cmJoin` calls that
failed to address escaping of semicolons in list elements.

Closes #18554
2018-11-14 19:21:03 +01:00
Kitware Robot aa4ab1f904 CMake Nightly Date Stamp 2018-11-14 00:01:04 -05:00
Frank Benkstein 6199637e95 configure_file: canonicalize input and output path in dependencies
Represent the input file path internally in canonical form.  Otherwise
multiple `configure_file` calls that share the same input file but specify
it relative to different directories (e.g. via `../`) result in multiple
copies of the dependency on the rule to re-run CMake.  This causes the
Ninja generator to emit duplicate phony build statements for these
dependencies, which generates an error with `-w dupbuild=err`, which
will be default in Ninja 1.9.

Also canonicalize the output path for consistency.

Add a test case.

Fixes: #18584
2018-11-13 15:01:17 -05:00
Brad King 247266aa3f Merge topic 'vs-just-my-code-flag-map'
516c6fc38c VS: Add flag table entry for -JMC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2587
2018-11-13 10:33:05 -05:00
Brad King d3b932fa67 Merge topic 'colored-ctest-summary'
ffdec37a19 CTest: Add colored output on tests summary where supported

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2577
2018-11-13 10:32:05 -05:00
Brad King 71e77972c1 Merge topic 'if_support_checking_if_cache_var_defined'
1222f02e34 If: Support the 'DEFINED CACHE{}' syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2561
2018-11-13 10:29:36 -05:00
Kitware Robot 5e12fad870 CMake Nightly Date Stamp 2018-11-13 00:01:07 -05:00
Craig Scott ddb967cca1 Merge topic 'pie-link-options'
c4b4d8b3a6 POSITION_INDEPENDENT_CODE: Manage link flags for executables
724a0346f7 POSITION_INDEPENDENT_CODE: Fix erroneous '-fPIE' flag for Sun Studio
023188ffb4 INTERFACE_POSITION_INDEPENDENT_CODE: add generator expressions support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2465
2018-11-12 15:43:07 -05:00
Brad King c310480c5d Merge topic 'autogen_global_target'
0e97ef74d8 Autogen: Add release notes for CMAKE_GLOBAL_AUTOGEN/RCC_TARGET
2ef8fe2222 Autogen: Add documentation for CMAKE_GLOBAL_AUTOGEN/RCC_TARGET
8c8731b422 Autogen: Add test for CMAKE_GLOBAL_AUTOGEN/RCC_TARGET
3baa817c34 Autogen: Add support for global ``autogen`` and ``autorcc`` targets
3327d3bb20 Autogen: Add cmQtAutoGenGlobalInitializer class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2567
2018-11-12 08:22:39 -05:00
Kitware Robot 776fd9b947 CMake Nightly Date Stamp 2018-11-12 00:01:07 -05:00
Marc Chevrier c4b4d8b3a6 POSITION_INDEPENDENT_CODE: Manage link flags for executables
Fixes: #14983, #16561
2018-11-11 17:34:09 +01:00
Sebastian Holtermann 3baa817c34 Autogen: Add support for global `autogen and autorcc` targets
This teaches CMake the variables

- CMAKE_GLOBAL_AUTOGEN_TARGET
- CMAKE_GLOBAL_AUTOGEN_TARGET_NAME
- CMAKE_GLOBAL_AUTORCC_TARGET
- CMAKE_GLOBAL_AUTORCC_TARGET_NAME

which control the generation of global
``autogen`` and ``autorcc`` targets.

Closes #17721
2018-11-11 14:28:55 +01:00
Sebastian Holtermann 3327d3bb20 Autogen: Add cmQtAutoGenGlobalInitializer class
This moves the global ``AUTOMOC/UIC/RCC`` targets initializer
generation code into a separate new ``cmQtAutoGenGlobalInitializer`` class.
2018-11-11 09:35:28 +01:00
Kitware Robot 206ce3c0ba CMake Nightly Date Stamp 2018-11-11 00:01:03 -05:00
Kitware Robot 94744965f8 CMake Nightly Date Stamp 2018-11-10 00:01:05 -05:00
Tengiz Sharafiev 516c6fc38c VS: Add flag table entry for -JMC
Add support for mapping Just My Code compiler flag

Fixes: #18289
2018-11-10 11:06:37 +08:00
Sylvain Joubert ffdec37a19 CTest: Add colored output on tests summary where supported
- Number of passed/failed tests is colored according to the whole outcome
- Individual listed tested are colored according to their completion status:
  * Disabled: blue
  * Failed: red
  * Not Run: yellow
2018-11-09 18:57:41 +01:00
Robert Maynard 1222f02e34 If: Support the 'DEFINED CACHE{}' syntax 2018-11-09 10:38:07 -05:00
Brad King 65522e5e0e Merge topic 'cpack-improve-unknown-generator-error'
f29e2292c9 cpack: When given an unknown generator print out all valid generators
eba7273c20 cpack: Better error message when generator doesn't exist.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: David Cole <dlrdave@aol.com>
Merge-request: !2580
2018-11-09 10:37:14 -05:00
Kitware Robot 8db4bd115c CMake Nightly Date Stamp 2018-11-09 00:01:04 -05:00
Robert Maynard f29e2292c9 cpack: When given an unknown generator print out all valid generators
This makes cpack behavior match cmake when passed an invalid generator
2018-11-08 19:07:24 -05:00
Robert Maynard eba7273c20 cpack: Better error message when generator doesn't exist.
Currently the CPack error message when passed an invalid generator
name  reads like the generator failed to work, rather than the
name was invalid.
2018-11-08 09:32:18 -05:00
Marc Chevrier 023188ffb4 INTERFACE_POSITION_INDEPENDENT_CODE: add generator expressions support
Fixes: #16532
2018-11-08 14:58:57 +01:00
Brad King 17e98e00c4 Merge topic 'install-defaults'
fdcd559a8e Help: Add documentation and release notes for install
9fc20a4f3e install: Add sane set of defaults for DESTINATION and file type parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Acked-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
Merge-request: !2558
2018-11-08 07:33:18 -05:00
Kitware Robot 4193430628 CMake Nightly Date Stamp 2018-11-08 00:01:08 -05:00
Kyle Edwards 9fc20a4f3e install: Add sane set of defaults for DESTINATION and file type parameters
If the user does not specify a DESTINATION for a target type, the
install() command checks to see if the appropriate variable from
GNUInstallDirs is set. If it is not, then it uses an appropriate
hard-coded guess.

In addition, for FILES and DIRECTORY, the user can specify a file
type instead of a DESTINATION, and the command will use the
appropriate variable from GNUInstallDirs, or a hard-coded guess if
it is not set.
2018-11-07 14:08:48 -05:00
Brad King 7e6b787599 Merge topic 'string_func_usage'
c67ab22cdc Using front() and back() instead of calculations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2571
2018-11-07 07:30:20 -05:00
Brad King cf78a7df95 Merge topic 'fix-double-warn-uninitialized-in-script-mode'
53a5aec899 CMP0053: Fix double warning on uninitialized variables in -P mode
f92f93467e cmMakefile: Rename SuppressWatches to SuppressSideEffects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2565
2018-11-07 07:28:02 -05:00
Kitware Robot df542558c6 CMake Nightly Date Stamp 2018-11-07 00:01:09 -05:00
Cengizhan Pasaoglu c67ab22cdc Using front() and back() instead of calculations 2018-11-06 21:43:33 +03:00
Brad King 7bed050755 Merge topic 'autogen_origin_depends'
47f9c15c60 Autogen: Update <ORIGIN>_autogen target documentation
336893d9eb Autogen: Separate AUTOGEN_TARGET_DEPENDS tests into own tests suite
846043dd35 Autogen: Rename MocDepends test to AutogenOriginDependsOn
b71a9598a4 Autogen: Add test for AUTOGEN_ORIGIN_DEPENDS=OFF
f74c406501 Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS release notes
0669de5d36 Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS documentation
b5e895b5d4 Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2518
2018-11-06 11:38:23 -05:00
Brad King 1674a5b0a4 Merge topic 'rename-cpack-ext-generator'
20d5e77a27 CPack: Rename Ext generator to External

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2566
2018-11-06 11:30:27 -05:00
Kitware Robot 44760059fc CMake Nightly Date Stamp 2018-11-06 00:01:08 -05:00
R2RT 53a5aec899 CMP0053: Fix double warning on uninitialized variables in -P mode
When `CMP0053` is not set to OLD or NEW then we compute both variants
in case we need to warn about a behavior change.  Do not allow both
code paths to produce an uninitialized variable warning.

Fixes: #18552
2018-11-05 08:31:09 -05:00
R2RT f92f93467e cmMakefile: Rename SuppressWatches to SuppressSideEffects 2018-11-05 08:29:10 -05:00
Craig Scott 20d5e77a27 CPack: Rename Ext generator to External
Ext and External were used inconsistently in the code and the
docs. This change converts all uses of Ext to External, including
within variable names used by the generator.
2018-11-05 07:56:03 -05:00
Brad King e5d298b8fd Merge topic 'lwyu-hides-link-error'
85aceda026 cmNinjaNormalTargetGenerator: don't use `|| true` for link-what-you-use

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2546
2018-11-05 07:50:20 -05:00
Brad King 259292ebcc Merge topic 'custom-command-work-dir-genex'
98d59417b0 add_custom_{command,target}: Fix WORKING_DIRECTORY leading genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2559
2018-11-05 07:42:47 -05:00
Kitware Robot 95894a605e CMake Nightly Date Stamp 2018-11-05 00:01:52 -05:00
Kitware Robot 112100da90 CMake Nightly Date Stamp 2018-11-04 00:01:06 -04:00
Brad King 98d59417b0 add_custom_{command,target}: Fix WORKING_DIRECTORY leading genex
Since commit v3.13.0-rc1~39^2 (add_custom_{command,target}:
WORKING_DIRECTORY generator expressions, 2018-09-22) the
`WORKING_DIRECTORY` option accepts generator expressions.
Fix support for the case of a leading generator expression
by deferring conversion to an absolute path until after
evaluation of the generator expression.

Fixes: #18543
2018-11-03 08:39:45 -04:00
Sebastian Holtermann b5e895b5d4 Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS support
This adds

- the variable ``CMAKE_AUTOGEN_ORIGIN_DEPENDS`` which initializes
- the target property ``AUTOGEN_ORIGIN_DEPENDS``

which controls whether or not the origin target dependencies
should be forwarded to the corresponding ``_autogen`` target.

The default value of ``CMAKE_AUTOGEN_ORIGIN_DEPENDS`` is ``ON``
which corresponds to the behavior that is in place since CMake 3.9.

Closes: #18493
2018-11-03 12:14:40 +01:00