Commit Graph
47352 Commits
Author SHA1 Message Date
Craig Scott df8aa3c8ad Help: try_compile() readability and grammar improvements 2019-02-24 17:19:45 +11:00
Craig Scott 7975edeac5 Help: User-provided variable names for try_* commands
All uppercase is typically used for command keywords. Non-keyword
arguments should generally be shown as `<something>` according
to the CMake documentation guide.
2019-02-24 17:16:07 +11:00
Kitware Robot d930e8c043 CMake Nightly Date Stamp 2019-02-24 00:01:05 -05:00
Craig Scott 92d9ec9bfb CheckLangSourceRuns: Capture run output to log files
Fixes: #18973
2019-02-23 21:16:03 +11:00
Kitware Robot e4ad054e49 CMake Nightly Date Stamp 2019-02-23 00:01:05 -05:00
Brad King 6ebe40c6ae Merge branch 'remove-exclude-from-all-warning' into release-3.14
Merge-request: !3002
2019-02-22 11:19:09 -05:00
Ben Boeckel c7f3663b10 cmServerConnection: make return conversions explicit
GCC 9 warns that `std::move` is not necessary, but in fact it is
necessary to call the proper conversion constructor.  Make that call
explicit.
2019-02-22 11:02:13 -05:00
Brad King 3f685ac3e1 Use shorter names in internal TARGET_PROPERTY expressions
The change in commit 2f708f5d65 (Make internal TARGET_PROPERTY generator
expressions more robust, 2018-09-07, v3.13.0-rc1~94^2~4) introduced
globally unique names in synthesized `$<TARGET_PROPERTY:...>` generator.
We used the pattern `<target-name>::T<pointer-to-generator-target>` to
guarantee uniqueness.  However, in projects that require many such
expressions to be generated there was a measurable increase in runtime.

We had included the target name in the synthesized genex only for human
reference during debugging.  It is not necessary.  Switch to the pattern
`:<pointer-to-generator-target>` to shorten the name.  Also hand-roll a
hex-print loop instead of using sprintf.  Together these optimizations
get at least some of the time back.

Issue: #18964
2019-02-22 09:14:27 -05:00
Sebastian Holtermann 2d29166758 Autogen: Use cm::make_unique to allocate jobs 2019-02-22 10:10:42 +01:00
Sebastian Holtermann 8182c21d2d Autogen: Use std::unordered_set instead of std::set for skip lists 2019-02-22 10:10:42 +01:00
Kitware Robot 63928f0868 CMake Nightly Date Stamp 2019-02-22 00:01:05 -05:00
Craig Scott d3b765d451 EXCLUDE_FROM_ALL: Don't warn if installing target excluded from all
The original warning pre-dates support for install components.
There are now legitimate scenarios where an install(TARGETS)
command may list a target that is excluded from all, e.g.
hierarchical projects that will never install the component such a
target belongs to.

Fixes: #18938
2019-02-22 07:55:56 +11:00
Sebastian Holtermann 84819c79e7 Autogen: Refactor cmQtAutoGenInitializer::AddGeneratedSource method
In AUTOGEN pass the abstract cmQtAutoGenInitializer::GenVarsT to methods
to identify the generator (moc/uic/rcc).
2019-02-21 18:27:21 +01:00
Sebastian Holtermann d9893fb594 Autogen: Refactor Qt executable name computation
In AUTOGEN a common new  base class cmQtAutoGenInitializer::GenVarsT for
mo/uic/rcc generator variables allows to generalize variable computation
functions.
2019-02-21 18:27:10 +01:00
Brad King 214fcefa52 Remove now-unused code once used for MIPSpro on IRIX
In commit beb991110d (Remove now-unused code once used on IRIX,
2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support.
Also remove remnants of MIPSpro compiler support.
2019-02-21 11:12:51 -05:00
Brad King 02587d80cf Add deprecation warnings for policies CMP0066 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for policies
introduced in CMake 3.7 and below to encourage projects to port away
from setting policies to OLD.
2019-02-21 11:02:46 -05:00
Regina Pfeifer b8031308f3 cmRange: Add unit tests 2019-02-21 08:24:26 -05:00
Regina Pfeifer a8d51ef8b7 cmRange: Add functions filter and transform 2019-02-21 08:24:26 -05:00
Regina Pfeifer da4773e8b8 cmRange: Add functions all_of, any_of, none_of 2019-02-21 08:24:26 -05:00
Regina Pfeifer 17a367e77f cmRange: Stylistic cleanup 2019-02-21 08:24:25 -05:00
Regina Pfeifer 9eb0e73f46 cmRange: Move to dedicated header file 2019-02-21 08:24:25 -05:00
Sebastian Holtermann 5e36209f71 Autogen: Rename cmQtAutoGen::GeneratorT enum to cmQtAutoGen::GenT 2019-02-21 11:38:30 +01:00
Sebastian Holtermann 14ae19c327 Autogen: cmQtAutoGen: Store generator names in class static const strings 2019-02-21 11:37:51 +01:00
Kitware Robot eb08e68b77 CMake Nightly Date Stamp 2019-02-21 00:01:07 -05:00
Craig Scott 0ffdcba178 Merge topic 'readme-build-out-of-source'
943a50da55 README: Suggest bootstrapping out-of-source for development

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Bartosz <gang65@poczta.onet.pl>
Merge-request: !2993
2019-02-20 16:39:22 -05:00
Vitaly Stakhovsky 4e315e9449 cmSystemTools: More functions accept std::string params 2019-02-20 14:53:39 -05:00
Brad King c925166764 Merge branch 'link-options' into release-3.14
Merge-request: !2996
2019-02-20 14:32:37 -05:00
Marc Chevrier 98a2d42301 PIE link options: No warning when policy CMP0083 is not set.
Fixes: #18955
2019-02-20 14:30:57 -05:00
Saleem Abdulrasool 001446126e Ninja: add final placeholders to merge Swift partials
This adds the placeholders that are needed to merge the swift partial
modules.  It permits generating the rules necessary to actually merge
the partial modules emitted for a partial compilation.
2019-02-20 09:25:34 -08:00
Vitaly Stakhovsky 9dd255548d cmSystemTools::Error: consolidate parameters into single std::string 2019-02-20 11:18:11 -05:00
Brad King b76b83efd3 Merge topic 'cray-cleanup'
d59159afdb Cray: clean up CrayPrgEnv and CrayLinuxEnvironment modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2945
2019-02-20 09:05:57 -05:00
Brad King e0fbb7bf08 Merge topic 'list-prepend-and-pop-subcommands'
a84e509844 list: add sub-commands PREPEND, POP_BACK, POP_FRONT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2980
2019-02-20 09:04:58 -05:00
Brad King c2f6da3399 Merge topic 'configurefile-stdstring'
0281f9a4ca cmMakefile::ConfigureFile: Accept `std::string` parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2982
2019-02-20 09:03:48 -05:00
Brad King b38023f958 Merge topic 'optimize-cmuuid-ctor'
8a95808f8f cmUuid: Hide UUID group info in implementation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2976
2019-02-20 09:02:51 -05:00
Brad King bb6d46d7e4 Merge topic 'ninja-swift-partial'
c048cb75fc Ninja: add properties for Swift partial module and doc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2985
2019-02-20 09:01:58 -05:00
Brad King 8732a2b3ba Merge topic 'once-is-enough'
c489c3e715 Ninja: remove duplicate local variable (NFC)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2986
2019-02-20 09:01:00 -05:00
Brad King c36bf6b13c Merge branch 'fix-implicit-includes-fortran' into release-3.14
Merge-request: !2994
2019-02-20 08:57:20 -05:00
Brad King 462a320c8d Merge branch 'release-3.14' 2019-02-20 08:56:58 -05:00
Brad King 7abe332ced Merge topic 'autogen_cache_binary_checks'
b5befac154 Autogen: Use output caching GetExecutableTestOutput
a4e01d6707 Autogen: Add output caching GetExecutableTestOutput

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2990
2019-02-20 08:55:25 -05:00
Brad King fcdd6efb72 Merge topic 'vs-win-sdk'
4dab8e69bd VS: Tell VS 2019 to use Windows SDK 8.1 explicitly when needed
35bf9ded3b VS: Factor out a method to set the Windows SDK version internally

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2989
2019-02-20 08:54:36 -05:00
Brad King 85d779442b Merge topic 'asm-no-slash-question'
b186329d3d Use -? instead of /? to test compiler for MSVC-like command-line support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2984
2019-02-20 08:53:41 -05:00
Brad King 3dc81a48ff Fortran: Do not suppress explicit use of implicit include directories
Since commit 2e91627dea (ParseImplicitIncludeInfo: add Fortran implicit
include handling, 2019-01-25, v3.14.0-rc1~73^2) we actually populate
`CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES` for the first time.  This
value may be useful to project code to pass to other tooling that wants
to preprocess the way Fortran does, so we should compute the value.
However, compilers like `gfortran` do not actually search their own
implicit include directories for `.mod` files.  The directories must be
passed via `-I` in order for `.mod` files in them to be found.

Since Fortran has no standard library header files that we need to avoid
overriding, it is safe to *not* filter out implicit include directories
from those passed explicitly via `-I` options.  Skip this filtering so
that include directories specified by project code to find `.mod` files
will be searched by the compiler even if they happen to be implicitly
searched by the preprocessor.

Fixes: #18914
2019-02-20 08:13:57 -05:00
Brad King 943a50da55 README: Suggest bootstrapping out-of-source for development
Building in-source and running the test suite in-source both leave
many artifacts that we (purposely) do not cover via `.gitignore`.
For developing CMake we typically use out-of-source builds, so
suggest this in the README.
2019-02-20 08:00:03 -05:00
Kitware Robot 18ff514b52 CMake Nightly Date Stamp 2019-02-20 00:01:08 -05:00
Brad King 0794dd3018 Merge branch 'autogen_cache_binary_checks' into release-3.14
Merge-request: !2990
2019-02-19 13:29:48 -05:00
Sebastian Holtermann b5befac154 Autogen: Use output caching GetExecutableTestOutput
Use the output caching cmQtAutoGenGlobalInitializer::GetExecutableTestOutput
method to avoid identical calls to moc, uic and rcc.

Closes #18947
2019-02-19 13:11:44 -05:00
Sebastian Holtermann a4e01d6707 Autogen: Add output caching GetExecutableTestOutput
This adds the cmQtAutoGenGlobalInitializer::GetExecutableTestOutput method
which caches the output of the called executable and returns the cached value
on any subsequent call.
2019-02-19 13:11:44 -05:00
Alex Turbov a84e509844 list: add sub-commands PREPEND, POP_BACK, POP_FRONT 2019-02-19 09:42:36 -05:00
Brad King 4f5bb64c56 Merge branch 'vs-win-sdk' into release-3.14
Merge-request: !2989
2019-02-19 09:33:34 -05:00
Brad King 4dab8e69bd VS: Tell VS 2019 to use Windows SDK 8.1 explicitly when needed
VS 2019 does not default to the 8.1 SDK as VS 2017 and VS 2015 did.
When `CMAKE_SYSTEM_VERSION` is 8.1 or lower, select the 8.1 SDK
explicitly.

Fixes: #18927
2019-02-19 09:31:50 -05:00