Commit Graph

24553 Commits

Author SHA1 Message Date
Kitware Robot
c0fa21322c CMake Nightly Date Stamp 2018-05-08 00:01:04 -04:00
Brad King
dd3e1a7372 Merge topic 'doc-command-synopsis'
72814e46da Utilities/Sphinx: Make HTML links in parsed-literal blocks more obvious
08b4ea639c Help: Organize file command docs into sections
51c0e1407c Help: Add Synopsis section to install, list, and string docs
0acd705119 Help: Improve list command signature group name for read operations
d5b2745b34 Help: Re-order file command docs
7d918b3cee cmRST: Parse inline links and inline literals

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2039
2018-05-07 10:12:05 -04:00
Brad King
7d918b3cee cmRST: Parse inline links and inline literals
Render links as the link text only.  Render literals as themselves.
This is closer to what the Sphinx text generator does.
2018-05-07 10:10:37 -04:00
Brad King
42db369133 Merge topic 'vs-cert'
5cc195f1f4 VS Generator: Only include default certificate if it was actually copied

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2034
2018-05-07 09:19:07 -04:00
Kitware Robot
7489d9cb24 CMake Nightly Date Stamp 2018-05-07 00:01:08 -04:00
Kitware Robot
c97189f9d1 CMake Nightly Date Stamp 2018-05-06 00:01:05 -04:00
Kitware Robot
135825df20 CMake Nightly Date Stamp 2018-05-05 00:01:06 -04:00
Mark Ingram
5cc195f1f4 VS Generator: Only include default certificate if it was actually copied 2018-05-04 18:10:10 +01:00
Brad King
e628d6cd06 Merge topic 'vs-refactor-xml'
3f315dc128 cmVisualStudio10TargetGenerator: XML refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2028
2018-05-04 11:26:36 -04:00
Brad King
5e5ef61ed3 Merge topic 'doc-xref-envvar'
828e18bb3e cmRST: Add support for 'envvar' cmake domain role

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2038
2018-05-04 11:04:53 -04:00
Vitaly Stakhovsky
3f315dc128 cmVisualStudio10TargetGenerator: XML refactoring 2018-05-04 10:46:11 -04:00
Brad King
efaaa729aa Merge topic 'genex-complang-not-loaded'
4f82199bef Genex: Allow COMPILE_LANGUAGE to name a language that is not loaded

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2031
2018-05-04 09:36:08 -04:00
Brad King
828e18bb3e cmRST: Add support for 'envvar' cmake domain role
This was accidentally left out of commit 8acf46caf1 (Utilities/Sphinx:
Add role and directive for 'envvar' in CMake domain, 2018-04-19).
2018-05-04 07:52:14 -04:00
Kitware Robot
c89d2f4a6a CMake Nightly Date Stamp 2018-05-04 00:01:05 -04:00
Craig Scott
7de29da7c4 Merge topic 'feature/cpack-default-package-version'
af1c48871c CPack: Use project version as default for `CPACK_PACKAGE_VERSION`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Harry Mallon <hjmallon@gmail.com>
Merge-request: !2020
2018-05-03 17:18:38 -04:00
Henry Schreiner
4f82199bef Genex: Allow COMPILE_LANGUAGE to name a language that is not loaded
Evaluate to false on `$<COMPILE_LANGUAGE:Lang>` if language `Lang`
is not loaded.  This is helpful in exported targets consumed in other
projects that may not enable all the same languages.

Fixes: #17952
2018-05-03 08:34:39 -04:00
Brad King
7c2866ec60 Merge topic 'namelink-component'
7e8046e20b Help: add release notes for NAMELINK_COMPONENT
c02eeb0853 Help: clarify "undefined behavior" in install(EXPORT) command
edcb545a24 install: add test for new NAMELINK_COMPONENT parameter
0212d7c762 install: add NAMELINK_COMPONENT argument
cbb609072f Help: clean up install(TARGETS) documentation
b81280ba1f Help: add list of command signatures to top of INSTALL page

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !1982
2018-05-03 08:11:20 -04:00
Kyle Edwards
0212d7c762 install: add NAMELINK_COMPONENT argument
For shared libraries, this allows you to specify separate components
for the shared library and for the namelink.

Suggested in https://cmake.org/pipermail/cmake-developers/2014-December/024032.html.
2018-05-03 08:08:37 -04:00
Kitware Robot
9575952996 CMake Nightly Date Stamp 2018-05-03 00:01:05 -04:00
Alex Turbov
af1c48871c CPack: Use project version as default for CPACK_PACKAGE_VERSION
* Introduce `CMAKE_PROJECT_VERSION` and the corresponsing components:
  `CMAKE_PROJECT_VERSION_MAJOR`, `CMAKE_PROJECT_VERSION_MINOR`,
  `CMAKE_PROJECT_VERSION_PATCH` and `CMAKE_PROJECT_VERSION_TWEAK`.

* `CPack` module use `CMAKE_PROJECT_VERSION_MAJOR`,
  `CMAKE_PROJECT_VERSION_MINOR` and `CMAKE_PROJECT_VERSION_PATCH`
  to initialize corresponsing CPack variables.
2018-05-03 08:26:03 +10: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
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
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
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
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
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
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