Commit Graph

24581 Commits

Author SHA1 Message Date
Brad King 18c71919ac Merge topic 'xml-element-enhance'
ff13b0cdc2 cmCTestLaunch: use cmXMLElement for XML generation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2057
2018-05-14 09:34:19 -04:00
Brad King a04ca510c1 Merge topic 'cpack-nuget'
f739752ad6 CPack: Add NuGet support
dd43e6fe89 Tests: Format `RunCPackVerifyResult.cmake` more consistently
43582cda57 Tests: Fix comment for finding dpkg tool

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1972
2018-05-14 09:32:04 -04:00
Kitware Robot 653eb6ebdc CMake Nightly Date Stamp 2018-05-14 00:01:03 -04:00
Kitware Robot 9388d13f60 CMake Nightly Date Stamp 2018-05-13 00:01:04 -04:00
Kitware Robot 9afeb2e5a7 CMake Nightly Date Stamp 2018-05-12 00:01:12 -04:00
Vitaly Stakhovsky ff13b0cdc2 cmCTestLaunch: use cmXMLElement for XML generation
class `cmXMLElement` enhanced with more members; its use demonstrated
2018-05-11 11:33:13 -04:00
Alex Turbov f739752ad6 CPack: Add NuGet support
Create a CPack generator that uses `nuget.exe` to create packages:

    https://docs.microsoft.com/en-us/nuget/what-is-nuget

NuGet packages could be easily produced from a `*.nuspec` file (running
`nuget pack` in the directory w/ the spec file).  The spec filename does
not affect the result `*.nupkg` name -- only `id` and `version` elements
of the spec are used (by NuGet).

Some implementation details:

* Minimize C++ code -- use CMake script do to the job. It just let the
  base class (`cmCPackGenerator`) to preinstall everything to a temp
  directory, render the spec file and run `nuget pack` in it, harvesting
  `*.nupkg` files...;

* Ignore package name (and use default paths) prepared by the base class
  (only `CPACK_TEMPORARY_DIRECTORY` is important) -- final package
  filename is a responsibility of NuGet, so after generation just scan the
  temp directory for the result `*.nupkg` file(s) and update
  `packageFileNames` data-member of the generator;

* The generator supports _all-in-one_ (default), _one-group-per-package_
  and _one-component-per-package_ modes.
2018-05-11 09:28:44 -04:00
Brad King c9e995c9ef Merge topic 'vs-refactor'
a2b5acec3b cmVisualStudio10TargetGenerator: refactor

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2054
2018-05-11 09:23:13 -04:00
Brad King 1dda570edc Merge topic 'vs-fix-csharp-recompile'
91754b4e60 VS: When not referencing output assembly do not try to copy it either

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2037
2018-05-11 09:20:49 -04:00
Brad King 1e521a1a91 Merge topic 'restore-imported-lib-alias-diagnostic'
e567d7eb63 add_library: Restore error on alias of non-global imported target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2058
2018-05-11 09:18:08 -04:00
Kitware Robot ad83aa0f3d CMake Nightly Date Stamp 2018-05-11 00:01:05 -04:00
Brad King e567d7eb63 add_library: Restore error on alias of non-global imported target
In commit v3.11.0-rc1~433^2~1 (Add support for IMPORTED GLOBAL targets
to be aliased, 2017-09-14) we accidentally dropped the error on calling
`add_library` to alias an imported target that is not globally visible.
The `add_executable` command's equivalent check was properly updated.
Restore the check in `add_library` with the same update.  Also fix the
test case accordingly.

Fixes: #17982
2018-05-10 09:57:31 -04:00
Craig Scott da30ba3ab8 Merge topic 'ctest-start-args-rework'
9deaf07597 Help: add release notes for ctest_start() changes
563781099f ctest_start: read model from TAG file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2036
2018-05-10 05:36:32 -04:00
Kitware Robot 5498cb7cdb CMake Nightly Date Stamp 2018-05-10 00:01:04 -04:00
Kyle Edwards 563781099f ctest_start: read model from TAG file
This change reworks ctest_start() so that simply calling
ctest_start(APPEND) will read all the information from the TAG file.
On top of that, it relaxes the argument parsing for ctest_start() to
allow greater flexibility in the argument ordering, and the documentation
for ctest_start() has been cleaned up.
2018-05-09 08:22:55 -04:00
Andreas Schönle 91754b4e60 VS: When not referencing output assembly do not try to copy it either
When generating a `ProjectReference` with `ReferenceOutputAssembly` set
to `false`, also set `CopyToOutputDirectory` to `Never`.  Otherwise
MSBuild might report a diagnostic like

    Project '<name>' is not up to date.
    CopyLocal reference '...\ZERO_CHECK' is missing from output location.

and rebuild the referencing project unnecessarily.
2018-05-09 08:17:42 -04:00
Vitaly Stakhovsky a2b5acec3b cmVisualStudio10TargetGenerator: refactor
`WritePlatformConfigTag` moved to local `Elem` class; other improvements
2018-05-09 08:04:34 -04:00
Brad King d3292d2d10 Merge topic 'vs-refactor-xml'
0bd1d1fcc4 VS: Fix regression in XML generation for CUDA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2053
2018-05-09 07:44:28 -04:00
Kitware Robot 547df3a385 CMake Nightly Date Stamp 2018-05-09 00:01:05 -04:00
Brad King 0bd1d1fcc4 VS: Fix regression in XML generation for CUDA
Refactoring in commit 3f315dc128 (cmVisualStudio10TargetGenerator: XML
refactoring, 2018-05-02) accidentally left the `<Import>` element for
the CUDA build customizations unclosed.
2018-05-08 10:29:22 -04:00
Brad King f60e2eb3c5 Merge topic 'vs-improve-options'
e76a0c6071 VS: improve options generation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2044
2018-05-08 08:36:57 -04:00
Brad King 42d198744b Merge topic 'deprecate_static_managed_targets'
b7c2b2cd78 cmVisualStudio10TargetGenerator: add handling of static C# targets
d244f2cad3 cmVisualStudio10TargetGenerator: add handling of manual /clr setting
1e5a8f882f cmVisualStudio10TargetGenerator: fix checking for managed target
8d7ffed048 cmVisualStudio10TargetGenerator: issue warning when adding static C# lib
73ee599a82 cmGeneratorTarget: make GetManagedType() return 'Native' for static targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2014
2018-05-08 08:36:20 -04:00
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
Michael Stürmer b7c2b2cd78 cmVisualStudio10TargetGenerator: add handling of static C# targets 2018-05-07 07:21:12 +02:00
Michael Stürmer d244f2cad3 cmVisualStudio10TargetGenerator: add handling of manual /clr setting 2018-05-07 07:21:10 +02:00
Michael Stürmer 1e5a8f882f cmVisualStudio10TargetGenerator: fix checking for managed target 2018-05-07 07:21:08 +02:00
Michael Stürmer 8d7ffed048 cmVisualStudio10TargetGenerator: issue warning when adding static C# lib 2018-05-07 07:20:46 +02:00
Michael Stürmer 73ee599a82 cmGeneratorTarget: make GetManagedType() return 'Native' for static targets 2018-05-07 07:20:45 +02: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
Vitaly Stakhovsky e76a0c6071 VS: improve options generation
Make use of the `Elem` and `OptionsHelper` classes; some cleanup
2018-05-05 17:35:37 -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