Commit Graph

2192 Commits

Author SHA1 Message Date
Brad King f5be951117 Merge topic 'labels-for-subprojects'
376dc3eb Help: Add notes for topic 'labels_for_subprojects'
a70d8e93 Add tests for new directory labels and labels-for-subprojects features
47b3a57c Display subproject timing summary
d3859624 Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variable
d08ec4d2 Add CTEST_LABELS_FOR_SUBPROJECTS as a CTest module and script variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1004
2017-07-13 07:46:09 -04:00
Brad King e5c762d32d Merge topic 'server-target-backtraces'
0c572382 server: Report backtraces in codemodel response
4db32275 server: Rename cmServerProtocol1_0 to cmServerProtocol1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !992
2017-07-13 07:44:11 -04:00
Brad King ff9321a18a Merge topic 'vs-2017-sln-guid'
5cf9c3d0 VS: Add SolutionGuid to generated .sln files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1042
2017-07-12 08:59:26 -04:00
Brad King 5cf9c3d0cc VS: Add SolutionGuid to generated .sln files
Visual Studio 2017 Update 3 adds a SolutionGuid to its `.sln` files.

Fixes: #17041
2017-07-11 10:41:28 -04:00
Ivan Shcherbakov 0c57238215 server: Report backtraces in codemodel response
Report the source locations (e.g. in `CMakeLists.txt`) for all targets
and target-related statements.  This allows IDEs to locate the
statements and automatically edit them when the user adds or removes
files or changes target properties via GUI.

Increment the protocol minor version number to tell clients that the new
information is available.
2017-07-11 07:50:22 -04:00
Brad King 970569a941 Merge topic 'vs-2017-choose-via-environment'
2644e4c9 VS: Choose VS 2017 instance via environment variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1030
2017-07-11 07:37:42 -04:00
Brad King 59e52b3041 Merge topic 'doc_configure_file'
c7d81e16 Help: Explicitly state that some file generations are lazy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1025
2017-07-11 07:35:27 -04:00
Betsy McPhail 376dc3eb22 Help: Add notes for topic 'labels_for_subprojects' 2017-07-10 16:25:19 -04:00
Betsy McPhail 47b3a57c9b Display subproject timing summary
Use the '--no-subproject-summary' option to disable timing summary.
2017-07-10 16:25:18 -04:00
Betsy McPhail d385962419 Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variable
The specified LABELS will be passed down to subdirectories as well as
any targets or tests in the directory.
2017-07-10 16:25:18 -04:00
Betsy McPhail d08ec4d25a Add CTEST_LABELS_FOR_SUBPROJECTS as a CTest module and script variable
Use this variable to specify a list of labels that will be reported to
CDash as subprojects.
2017-07-10 16:25:18 -04:00
Brad King 2644e4c9fc VS: Choose VS 2017 instance via environment variable
In the `Visual Studio 15 2017` generator, if the `VS150COMNTOOLS`
environment variable points at a specific VS 2017 instance reported by
the Visual Studio Installer tool, use that as the preferred instance.

Inspired-by: Iyyappa Murugandi <iyyappam@microsoft.com>
Fixes: #16846
2017-07-10 11:08:11 -04:00
Brad King 9eaf0fea28 Merge topic 'indented_cmakedefine'
58f47448 configure_file: Add support for indented cmakedefine

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1024
2017-07-10 10:21:00 -04:00
Sylvain Joubert c7d81e16cb Help: Explicitly state that some file generations are lazy
Fixes: #16856
2017-07-07 15:46:35 +02:00
Brad King 1ff7cd1fe7 Merge topic 'iar_improved'
d8e6cd9e IAR: Improve support for IAR ARM Compiler
0b1a2876 Add a CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID variable
fea7d69d Store CMAKE_ASM_COMPILER_VERSION persistently
d2a8b5ce CMakeDetermineASMCompiler: Fix small copy-paste mistake
a2112257 Add infrastructure to use language extensions without any standard
8cd28bb0 cmLocalGenerator: Switch order of <LANG>_{EXTENSIONS,STANDARD} check
0fc2d78e cmLocalGenerator: Simplify logic for language standard or extension flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !991
2017-07-07 08:42:22 -04:00
Sylvain Joubert 58f4744821 configure_file: Add support for indented cmakedefine
Optional spaces and/or tabs are now understood between the '#' character
and the 'cmakedefine'/'cmakedefine01' words. This indentation is
preserved in the output lines.

Fixes: #13037
2017-07-04 12:00:02 +02:00
Brad King b6cbbbe129 Merge topic 'server-mode-protocol-version-docs'
ab533e48 Help: Document server-mode protocol versions more clearly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1015
2017-06-30 10:32:22 -04:00
Norbert Lange d8e6cd9ed8 IAR: Improve support for IAR ARM Compiler
Make the implementation for this compiler more complete.

IAR has multiple C++ modes, historically they were reduced c++ versions
for embedded that gradually improved to the full standard (which can be
reduced again by e.g. disabling rtti and exceptions).  The new
implementation picks the best available, but the c++ mode can also be
overridden by defining `CMAKE_IAR_CXX_FLAG`.

Add C/C++ standard flags so that all modes up to and including the last
supported standard are defined.

Fixes: #16826
2017-06-29 13:25:58 -04:00
Norbert Lange 0b1a2876c8 Add a CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID variable
Compilers such as MSVC and IAR may have variants that target different
architectures.  We have been using a `MSVC_<LANG>_ARCHITECTURE_ID`
variable to hold this information for MSVC.  Add an alternative with a
more general name (later we can port MSVC to it too).

This additional information may be needed to generate proper invocations
of the compiler based on its architecture variant.
2017-06-29 13:25:57 -04:00
Tobias Hunger ab533e4851 Help: Document server-mode protocol versions more clearly 2017-06-29 09:58:49 -04:00
Brad King 1ac89a4e06 Merge topic 'deb-on-windows'
52991413 CPackDeb: Enable the DEB generator on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !979
2017-06-29 09:49:29 -04:00
Nils Gladitz 5299141320 CPackDeb: Enable the DEB generator on Windows
While some features require external Unix tools the
generator is mostly portable.

By enabling it on Windows it can be used for cross platform
packaging.
2017-06-28 19:55:12 +02:00
Brad King 0552747b58 Merge topic 'feature/include_guard'
c96f43b7 include_guard: add tests for the feature
80f1221f include_guard: add doc pages and a release note
85b52a04 include_guard: add vim syntax highlighting rules
d44bd1c2 include_guard: implement new command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !928
2017-06-28 08:53:30 -04:00
Robert Maynard adbd1468cb Help: Document the CMAKE_MSVCIDE_RUN_PATH variable. 2017-06-27 13:52:11 -04:00
Brad King 420e48442b Help/dev: Update maintainer guide with note about docs and tests 2017-06-22 11:02:05 -04:00
Pavel Solodovnikov 80f1221f50 include_guard: add doc pages and a release note 2017-06-22 11:13:15 +03:00
Brad King 2beac8991b Merge topic 'cuda-version-for-vs'
f94213a1 Help: Update 3.9 release notes with recommended CUDA version for VS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !990
2017-06-21 08:36:05 -04:00
Brad King ab4c3270ae Merge branch 'cuda-version-for-vs' into release-3.9 2017-06-20 10:25:19 -04:00
Brad King f94213a1ee Help: Update 3.9 release notes with recommended CUDA version for VS
CUDA 8.0.44 contains a bug in its VS integration that breaks
preprocessor definitions in some cases.  Recommend using at least 8.0.61
which fixes the problem.

Fixes: #16993
2017-06-20 10:25:05 -04:00
Michael Stürmer 1844360099 Vs: fix documentation for target property VS_DOTNET_REFERENCEPROP_* 2017-06-17 22:56:28 +02:00
Brad King 4dbbb275d5 Merge topic 'doc-dev-maint'
b0725f2f Help/dev: Add review instructions to maintainer guide

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !973
2017-06-16 09:51:02 -04:00
Brad King 6c60ec0907 Merge topic 'doc-compile-features'
c4610df0 Help: Document that VS 2017 compile features are recorded
69d50a7e Help: Fix typo in Cray/PGI/XL compile features docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !971
2017-06-16 09:34:07 -04:00
Brad King b0725f2fcd Help/dev: Add review instructions to maintainer guide 2017-06-15 14:32:54 -04:00
Brad King 7c5299add4 Merge topic 'doc-test-layout'
1c547152 Tests: Document test directory layout in a README.rst
4e3483c0 Help/dev: Update source code guide to cover source tree layout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !967
2017-06-15 10:23:38 -04:00
Brad King c4610df03c Help: Document that VS 2017 compile features are recorded
They were recorded by commit v3.7.0-rc1~156^2~2 (Features: Record
features for VS 15 Preview 4, 2016-09-05).

Fixes: #16974
2017-06-15 10:11:09 -04:00
Brad King 69d50a7edb Help: Fix typo in Cray/PGI/XL compile features docs
Reported-by: Rolf Eike Beer <eike@sf-mail.de>
2017-06-15 10:08:59 -04:00
Brad King 1c5471527e Tests: Document test directory layout in a README.rst
Cross-reference the CMake Source Code Guide document.
Also drop the outdated `Tests/README` file.
2017-06-14 15:04:19 -04:00
Brad King 4e3483c007 Help/dev: Update source code guide to cover source tree layout 2017-06-14 15:03:50 -04:00
Brad King a7cbc5f245 Merge topic 'add-missing-compiler-release-notes'
28756437 Help: Add docs for new compilers supporting language standards.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !966
2017-06-14 14:12:47 -04:00
Brad King c8b4da5838 Merge topic 'vs-dotnet-custom-reference-tags'
07ec212a VS: add target property VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !960
2017-06-14 12:43:34 -04:00
Chuck Atkins 28756437f2 Help: Add docs for new compilers supporting language standards. 2017-06-14 11:54:58 -04:00
Michael Stürmer 07ec212ae8 VS: add target property VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>
Fixes: #16689
2017-06-13 10:46:31 -04:00
Brad King 9203aff851 Merge topic 'android-unified-headers'
3d00be13 Android: Add support for unified headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !956
2017-06-13 09:27:17 -04:00
Brad King 3d00be13ee Android: Add support for unified headers
The unified headers are preferred as of NDK r15, so use them by default
if available and provide an option to use the deprecated headers.

Inspired-by: Florent Castelli <florent.castelli@gmail.com>
Fixes: #16584
2017-06-12 11:47:30 -04:00
Brad King 00b91b1530 Merge topic 'execute_process-pipeline-results'
d6051ca3 execute_process: Add option to get results of every child

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !702
2017-06-12 10:22:12 -04:00
Brad King 0cb8730c0b Merge topic 'cpack-freebsd-pkg'
2042cae9 CPack-FreeBSD: add a generator for FreeBSD pkg(8)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !693
2017-06-12 10:21:42 -04:00
Brad King 99153a9eb6 Merge topic 'cuda-compiler-launcher'
414438b2 CUDA: Add option to run the compiler through launcher tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !949
2017-06-12 10:20:58 -04:00
Adam Weisi d6051ca39e execute_process: Add option to get results of every child
Add a `RESULTS_VARIABLE` option to get the results of all children
in a pipeline of one or more `COMMAND`s.
2017-06-10 08:03:06 -04:00
Adriaan de Groot 2042cae9a5 CPack-FreeBSD: add a generator for FreeBSD pkg(8)
Adds an option CPACK_ENABLE_FREEBSD_PKG to allow CPack to look
for FreeBSD's libpkg / pkg(8). If this is set and the libpkg
headers and library are found (which they will be, by default,
on any FreeBSD system), then add a FreeBSD pkg(8) generator.

The FreeBSD package tool pkg(8) uses tar.xz files (.txz) with two
metadata files embedded (+MANIFEST and +COMPACT_MANIFEST).
This introduces a bunch of FreeBSD-specific CPACK_FREEBSD_PACKAGE_*
variables for filling in the metadata; the Debian generator does
something similar. Documentation for the CPack CMake-script is styled
after the Debian generator.

Implementation notes:
 - Checks for libpkg -- the underlying implementation for pkg(8) --
   and includes FreeBSD package-generation if building CMake on
   a UNIX host. Since libpkg can be used on BSDs, Linux and OSX,
   this potentially adds one more packaging format. In practice,
   this will only happen on FreeBSD and DragonflyBSD.
 - Copy-paste from cmCPackArchiveGenerator to special-case
   the metadata generation and to run around the internal
   archive generation: use libpkg instead.
 - Generating the metadata files is a little contrived.
 - Most of the validation logic for package settings is in
   CPackFreeBSD.cmake, as well as the code that tries to re-use
   packaging settings that may already be set up for Debian.
 - libpkg has its own notion of output filename, so we have
   another contrived bit of code that munges the output file
   list so that CPack can find the output.
 - Stick with C++98.
2017-06-10 07:53:59 -04:00
Brad King 414438b2fb CUDA: Add option to run the compiler through launcher tools
Add a `CUDA_COMPILER_LAUNCHER` target property like those added for C
and CXX by commit v3.4.0-rc1~450^2 (Add options to launch the compiler
through tools like ccache or distcc, 2015-06-04).

Fixes: #16953
2017-06-09 12:34:39 -04:00