Commit Graph

39513 Commits

Author SHA1 Message Date
Brad King 6dd11ffbde Help: Clarify add_custom_command build event execution order
Fixes: #17949
2018-05-02 13:19:00 -04:00
Brad King 5e455ac120 Merge topic 'code-improvements'
0c47ed6430 cmMakefile: Convert private helpers to file static functions
e13fa223fc cmMakefile: Improve ExpandVariablesInString return type
b542e0c74f cmCPluginAPI: Remove a few unnecessary c_str() calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Rejected-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !2018
2018-05-02 11:33:33 -04:00
Kitware Robot e90fa38f8d CMake Nightly Date Stamp 2018-05-02 00:01:04 -04:00
Brad King 4ac48237a0 Merge topic 'source_group-empty-prefix'
b3baa97e80 Source_Group: Allow an empty prefix with the TREE syntax.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2022
2018-05-01 11:32:59 -04:00
Brad King 1155f96dd9 Merge topic 'doc-wiki-links'
052743556b Modules: Update documented links to CMake community Wiki

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2023
2018-05-01 11:32:29 -04:00
Vitaly Stakhovsky 0c47ed6430 cmMakefile: Convert private helpers to file static functions
The two-argument forms of `AddDefineFlag` and `RemoveDefineFlag`
need no access to `cmMakefile` class members.  They are used only
within the implementation file.
2018-05-01 10:25:49 -04:00
Vitaly Stakhovsky e13fa223fc cmMakefile: Improve ExpandVariablesInString return type
Return `std::string const&` instead of a `const char*` that points
into a string anyway.  Update call sites accordingly.
2018-05-01 10:24:31 -04:00
Vitaly Stakhovsky b542e0c74f cmCPluginAPI: Remove a few unnecessary c_str() calls 2018-05-01 10:21:53 -04:00
Kitware Robot 6f0cd64f89 CMake Nightly Date Stamp 2018-05-01 00:01:03 -04:00
Brad King 052743556b Modules: Update documented links to CMake community Wiki
The wiki has moved.  Update links to reference the new pages.
2018-04-30 15:34:50 -04:00
Yohann Benedic b3baa97e80 Source_Group: Allow an empty prefix with the TREE syntax.
When calling

    source_group(TREE <root> PREFIX "" FILES ...)

the files located at the root directory were not assigned
to the correct source group: they were put in a default
group (e.g. "Source Files" in Visual Studio).

Fixes: #17608
2018-04-30 16:44:08 +02:00
Brad King f6c558e315 Merge topic 'cpack_docs_cleanup'
9a8687121f Help: Improve accuracy, readability and cross-referencing of cpack docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2013
2018-04-30 09:25:08 -04:00
Brad King 9b19d922c8 Merge branch 'release-3.11' 2018-04-30 09:22:22 -04:00
Brad King ddff7aebbc Merge topic 'cxx-checks-tolerate-more-warnings'
2254b72061 C++ feature checks: Filter out warnings caused by local configuration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2019
2018-04-30 09:21:16 -04:00
Brad King 27279fa2db Merge topic 'java-new-packaging-version-sort'
1013560a6a FindJava, FindJNI: Ensure most recent version is searched first

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2016
2018-04-30 09:20:42 -04:00
Brad King 321442580e Merge branch 'cxx-checks-tolerate-more-warnings' into release-3.11
Merge-request: !2019
2018-04-30 09:18:58 -04:00
Brad King 2254b72061 C++ feature checks: Filter out warnings caused by local configuration
In some environments the linker produces warnings like

    warning: directory not found for option
    warning: object file compiled with -mlong-branch ...

These do not affect the availability of C++ features we're checking,
so filter them out.

Fixes: #17850, #17947
2018-04-30 09:18:15 -04:00
Brad King 36d7f8ca10 Merge topic 'vs-shader-generator-expressions'
83ed65cdde Add generator expressions for VS_SHADER_ source file properties.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2000
2018-04-30 09:18:02 -04:00
Brad King bea55a02d1 Merge topic 'doc_required_vs_component'
d94754b2a7 Help: Add hint to required VS 2017 component for C++/CLI support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2015
2018-04-30 09:15:43 -04:00
Kitware Robot 81aeb065e9 CMake Nightly Date Stamp 2018-04-30 00:01:04 -04:00
Kitware Robot 1925fe9fed CMake Nightly Date Stamp 2018-04-29 00:01:04 -04:00
Kitware Robot 65a4b2aade CMake Nightly Date Stamp 2018-04-28 00:01:06 -04:00
Craig Scott 9a8687121f Help: Improve accuracy, readability and cross-referencing of cpack docs
This is primarily a cleanup of the cpack(1) page. The cpack.cxx file
and CPack module were also updated to make the docs relating to
the generator specification and option names consistent in all
three places.
2018-04-28 09:31:42 +10:00
Brad King 1f06c0d8a8 Merge branch 'java-new-packaging-version-sort' into release-3.11
Merge-request: !2016
2018-04-27 08:53:02 -04:00
Marc Chevrier 1013560a6a FindJava, FindJNI: Ensure most recent version is searched first 2018-04-27 08:52:22 -04:00
Michael Stürmer d94754b2a7 Help: Add hint to required VS 2017 component for C++/CLI support 2018-04-27 08:43:30 -04:00
Brad King 0036966c0b Merge topic 'vs-refactor-xml'
4465a27882 cmVisualStudio10TargetGenerator: XML refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2012
2018-04-27 08:24:51 -04:00
Brad King ea8189ee55 Merge topic 'vs-managed-fastlink'
27b28c001f VS: Don't turn on /DEBUG:FASTLINK for managed C++ targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2011
2018-04-27 08:24:06 -04:00
Kitware Robot 48dcb2cacb CMake Nightly Date Stamp 2018-04-27 00:01:05 -04:00
Jeremiah van Oosten 83ed65cdde Add generator expressions for VS_SHADER_ source file properties. 2018-04-26 23:00:10 +02:00
Vitaly Stakhovsky 4465a27882 cmVisualStudio10TargetGenerator: XML refactoring 2018-04-26 13:45:29 -04:00
Calum Robinson 27b28c001f VS: Don't turn on /DEBUG:FASTLINK for managed C++ targets
FastLink is only supported for native C++ targets. Turning it off avoids
a warning when building managed C++.
2018-04-26 15:36:59 +01:00
Brad King e52cf1034f Merge topic 'csharp_reference_imported_targets'
de549083e3 cmVisualStudio10TargetGenerator: warn if /clr flag is set manually
59ec7d50bd cmVisualStudio10TargetGenerator: fix for backward compatibility
663f5120f4 cmGlobalVisualStudioGenerator: remove TargetCanBeReferenced()
359544a907 add tests for using target_link_libraries() with imported managed targets
43571073e0 cmVisualStudio10TargetGenerator: store managed reference information in maps
16fec7e2fc cmVisualStudio10TargetGenerator: make some methods config aware
f3c6828876 cmVisualStudio10TargetGenerator: /clr compatible flags for managed tgt
f9042d807d remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1805
2018-04-26 08:55:19 -04:00
Brad King 6fd60c6ef0 Merge branch 'release-3.11' 2018-04-26 08:50:33 -04:00
Brad King cca8bc88ba Merge topic 'ninja-issue-17942'
ee44f390ce Ninja: Make assumed source dependencies order-only
625b8f9076 Ninja: Avoid empty phony edges for target ordering
ae6722483e Merge branch 'backport-ninja-issue-17942' into ninja-issue-17942
0826c20128 Ninja: Do not add empty custom command for file(GENERATE) outputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2010
2018-04-26 08:48:45 -04:00
Brad King a92ee4e30d Merge branch 'backport-ninja-issue-17942' into release-3.11
Merge-request: !2010
2018-04-26 08:41:18 -04:00
Brad King ee44f390ce Ninja: Make assumed source dependencies order-only
Since its beginning the Ninja generator has handled `GENERATED` source
files that have no custom command producing them by writing a dummy
custom command for them that depends on the target ordering phony edge.
Make the custom command's dependency order-only since the phony edge
also has only order-only dependencies.  The dummy custom command
should never be considered "dirty" by `ninja`.

Fixes: #17942
2018-04-26 08:40:59 -04:00
Brad King 625b8f9076 Ninja: Avoid empty phony edges for target ordering
Since commit v3.9.0-rc1~230^2~2 (ninja: break unnecessary target
dependencies, 2017-04-17) we unconditionally generate a phony edge for
target ordering.  It is needed in case a later target depends on it.
However, if the phony edge has no inputs then `ninja -d explain` prints:

    ninja explain: output ... of phony edge with no inputs doesn't exist

Furthermore the phony edge's output is considered dirty and can cause
dependents to be incorrectly considered dirty.  Avoid this by always
generating at least one input to the target ordering phony edges.
If we have no real dependencies just use a path that always exists.

Fixes: #17942
2018-04-26 08:40:57 -04:00
Brad King ae6722483e Merge branch 'backport-ninja-issue-17942' into ninja-issue-17942 2018-04-26 08:40:49 -04:00
Brad King 0826c20128 Ninja: Do not add empty custom command for file(GENERATE) outputs
Internally we mark `file(GENERATE)` outputs as `GENERATED` in order
to tell custom command dependency tracing logic not to expect the
files to exist on disk yet.  This is because we do not generate the
files until after that tracing is done.

The Ninja generator also interprets the `GENERATED` property to mean
that it is expected that some build rule will generate the file if
another build rule depends on it.  If the generator does not know of a
custom command that generates the file then it adds an empty one so that
the `ninja` build tool does not complain about a dependency on a file
that does not exist and has no rule to generate it.  However, this step
is not necessary for `file(GENERATE)` outputs because there is no build
rule to generate them and they will exist before `ninja` runs.

Add an additional `__CMAKE_GENERATED_BY_CMAKE` property internally to
tell the Ninja generator that a `GENERATED` file will exist before the
build starts and is not expected to have a build rule producing it.

Fixes: #17942
2018-04-26 08:39:44 -04:00
Brad King 5858267df6 Merge topic 'vs-refactor-xml'
dfff12c808 VS: Add Elem::Content() helper and usage demo
1f29777798 cmVisualStudio10TargetGenerator: refactoring (continued)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2005
2018-04-26 08:36:44 -04:00
Vitaly Stakhovsky dfff12c808 VS: Add Elem::Content() helper and usage demo 2018-04-26 08:35:43 -04:00
Brad King caf6d93acd Merge topic 'numeric-indent'
7d407b438d cmVisualStudioGeneratorOptions: specify indentation with integer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2008
2018-04-26 08:31:09 -04:00
Brad King 0fada977fe Merge branch 'release-3.11' 2018-04-26 08:25:45 -04:00
Brad King 3f673f9b27 Merge topic 'java-new-packaging'
ea54a9c666 Merge branch 'backport-java-new-packaging' into java-new-packaging
5482f485b8 FindJava, FindJNI, UseJava: update for version 10 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2007
2018-04-26 08:24:38 -04:00
Kitware Robot 52ae29e63b CMake Nightly Date Stamp 2018-04-26 00:01:04 -04:00
Vitaly Stakhovsky 7d407b438d cmVisualStudioGeneratorOptions: specify indentation with integer 2018-04-25 11:01:37 -04:00
Brad King b58e41ccbd Merge branch 'backport-java-new-packaging' into release-3.11
Merge-request: !2007
2018-04-25 09:42:58 -04:00
Brad King ea54a9c666 Merge branch 'backport-java-new-packaging' into java-new-packaging
Fix conflicts by combining the changes from both sides.
2018-04-25 09:19:35 -04:00
Marc Chevrier 5482f485b8 FindJava, FindJNI, UseJava: update for version 10 support
* new version format
* new registry layout on Windows

Fixes: #17938
2018-04-25 09:18:53 -04:00