Commit Graph

2195 Commits

Author SHA1 Message Date
Matthew Woehlke bfcda4013a Add dynamic test discovery for for Google Test
Add a new gtest_discover_tests function to GoogleTest.cmake,
implementing dynamic test discovery (i.e. tests are discovered by
actually running the test executable and asking for the list of
available tests, which is used to dynamically declare the tests) rather
than the source-parsing approach used by gtest_add_tests. Compared to
the source-parsing approach, this has the advantage of being robust
against users declaring tests in unusual ways, and much better support
for advanced features such as parameterized tests.

A unit test, modeled after the TEST_INCLUDE_DIR[S] test, is also
included. Note that the unit test does not actually require that Google
Test is available. The new functionality does not actually depend on
Google Test as such; it only requires that the test executable lists
tests in the expected format when invoked with --gtest_list_tests, which
the unit test can fake readily.
2017-07-27 09:47:28 -04:00
Brad King 0f158272d6 Merge topic 'test_include_files'
117033c1 Add TEST_INCLUDE_DIR[S] unit test
ed5bde30 Add TEST_INCLUDE_FILES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1031
2017-07-13 07:46:47 -04:00
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
Matthew Woehlke ed5bde30f7 Add TEST_INCLUDE_FILES
Add new directory property TEST_INCLUDE_FILES. This supersedes
TEST_INCLUDE_FILE, though the latter is of course retained for
compatibility.

Basically, this is a list rather than a single file. This allows the
feature to be used by generic utilities without conflicting with local
use.
2017-07-12 13:28:21 -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