Commit Graph

1931 Commits

Author SHA1 Message Date
Kyle Edwards 264bdac185 CMAKE_ROLE: Fix value for ctest --build-and-test
--build-and-test builds a CMake project, so CMAKE_ROLE should be
PROJECT. Fix this and add a test case.
2019-01-18 10:15:25 -05:00
Brad King 68e20f674a Merge topic 'cmake_role-global-property'
4568d046c4 Properties: Add CMAKE_ROLE global property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2805
2019-01-17 11:43:09 -05:00
Brad King bd3685b6cf Merge topic 'vs-debug-utility-targets'
22b43b0009 VS: Add support for VS_DEBUGGER_* properties on custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2794
2019-01-17 11:07:11 -05:00
Brad King 9e3e93fc6f Merge topic 'fix_csharp_defines'
a541d113e6 VS: Honor target_compile_definitions for C# projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2809
2019-01-17 11:06:04 -05:00
Kyle Edwards 4568d046c4 Properties: Add CMAKE_ROLE global property
This property allows scripts to determine whether they're in project
mode, script mode, find-package mode, CTest, or CPack.
2019-01-17 09:44:29 -05:00
Nils Gladitz 22b43b0009 VS: Add support for VS_DEBUGGER_* properties on custom targets
Visual studio itself supports the corresponding `LocalDebugger*`
properties on utility targets; support generating them from CMake as
well.
2019-01-16 10:21:01 -05:00
Brad King e44cc45530 Merge topic 'autogen_adaptive_warning'
5fe18eee13 Autogen: Adaptive missing Qt warning
f2f1661334 Autogen: Add and use QtAutoGen::Tools method
b2343ff086 Autogen: Fix rcc validity check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2806
2019-01-16 09:51:33 -05:00
Wil Stark a541d113e6 VS: Honor target_compile_definitions for C# projects
Fixes: #18698
2019-01-15 21:29:59 -08:00
Brad King da566d4de8 Merge topic 'fetchcontent-uses-terminal'
2119c33b7e FetchContent: Give access to the terminal for download and update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Hirsch, Ph.D. <michael@scivision.co>
Merge-request: !2800
2019-01-15 13:26:02 -05:00
Brad King 41b0c0dc73 Merge topic 'vs2019'
57e48f16f2 VS: Add Visual Studio 16 2019 generator
bdef729646 VS: Parameterize VS 2017 generator to support future versions
68d316e0cf VS: Rename VS 2017 generator sources to be version-independent
d8ed309d05 VS: Parameterize cmVSSetupAPIHelper instances with VS version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2789
2019-01-15 13:23:38 -05:00
Brad King d7835e4d0e Merge topic 'fix-source-group-CMakeLists.txt'
77303314dc Restore support for a custom source group for CMakeLists.txt

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2803
2019-01-15 13:20:01 -05:00
Brad King 4cf301ca77 Merge topic 'vs10_cs_cf_support'
5b1364a2e3 cmVisualStudio10TargetGenerator: Fix .NET Compact Framework projects.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2715
2019-01-15 13:16:46 -05:00
Brad King b2084a330d Merge topic 'deprecate-policy-old'
6845e2559d Add deprecation warnings for policies CMP0065 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2793
2019-01-15 13:12:08 -05:00
Sebastian Holtermann 5fe18eee13 Autogen: Adaptive missing Qt warning
This makes the warning message for a missing Qt use
the requested Qt version in the message text.
2019-01-15 10:15:03 +01:00
Sebastian Holtermann f2f1661334 Autogen: Add and use QtAutoGen::Tools method 2019-01-15 09:52:35 +01:00
Brad King 77303314dc Restore support for a custom source group for CMakeLists.txt
Since commit v3.11.0-rc1~467^2 (VS,Xcode: Add CMakeLists.txt sources
without mutating targets, 2017-10-18) we do not add `CMakeLists.txt` to
target sources but instead generate references to them directly.  This
accidentally dropped generation of the `.vcxproj.filters` entry for a
source group in which `CMakeLists.txt` is the only member.

Fixes: #18795
2019-01-14 08:43:30 -05:00
Brad King 97d2109294 Tests: Make RunCMake.FindBoost robust to Boost_ROOT in environment
Remove the environment variable within the test to avoid CMP0074
behavior.
2019-01-14 07:44:32 -05:00
Craig Scott 2119c33b7e FetchContent: Give access to the terminal for download and update
A main scenario where this is needed is when a git operation
needs the password to a private key and asks for it on the
console. Without this change, such operations can appear to
hang indefinitely with no prompt if QUIET is in effect (which it
is by default).

Another scenario this addresses is when progress of a
download or update should be shown. Without this change,
all such progress is buffered with some generators and will
only be shown at the end, which defeats the purpose of logging
any progress to begin with.

Relates: #18238
2019-01-14 23:32:18 +11:00
Brad King 1f411b0cfa Merge topic 'cmake-option-parsing'
27eb7c5bdb cmake: Ensure source and binary dirs are set
a1adbc7243 cmake: Stop processing if -P option lacks file name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2799
2019-01-14 07:25:46 -05:00
Brad King 6a23e16ec2 Merge topic 'autogen_noqt_warning'
0377fe1e2b Merge branch 'backport-autogen_noqt_warning' into autogen_noqt_warning
dd39da5518 Tests: Add case for warning when AUTOMOC/UIC/RCC gets disabled
f44a0414ae Autogen: Issue a warning when AUTOMOC/UIC/RCC gets disabled.
5ae69f5919 Autogen: Issue a warning when AUTOMOC/UIC/RCC gets disabled.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2787
2019-01-14 06:51:42 -05:00
Craig Scott 27eb7c5bdb cmake: Ensure source and binary dirs are set
If only the source dir is provided, the binary dir is assumed
to be the working directory. If only the binary dir is provided
and it doesn't yet have a CMakeCache.txt to provide the
source dir, then the source dir is assumed to be the working
directory. This logic was not previously being handled
correctly when -S and/or -B options were involved.
Furthermore, when both were missing, no suitable error
message was provided and an empty string was used for
the build directory.

Fixes: #18707
2019-01-14 07:13:28 +11:00
Brad King 6845e2559d Add deprecation warnings for policies CMP0065 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for some policies
to encourage projects to port away from setting policies to OLD.
2019-01-11 14:47:20 -05:00
Wil Stark 5b1364a2e3 cmVisualStudio10TargetGenerator: Fix .NET Compact Framework projects.
Fixes: #18672
2019-01-11 09:08:55 -08:00
Brad King 57e48f16f2 VS: Add Visual Studio 16 2019 generator
Add this generator *without* support for specifying the target
architecture in the generator name.  cmake-gui will be taught
to provide a field for this, and command-line builds can use -A.

Also, teach this generator to select a default target architecture
based on the host architecture.

Fixes: #18689
Inspired-by: Egor Pugin <egor.pugin@gmail.com>
2019-01-11 11:04:51 -05:00
Brad King 73aca0572b Merge topic 'vs_ce_support'
5e4887e673 VS: Honor WinCE deployment properties in VS 2010+
a4332cac4b Tests: Detect VS and SDK availability early

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2680
2019-01-11 10:06:58 -05:00
Brad King 0377fe1e2b Merge branch 'backport-autogen_noqt_warning' into autogen_noqt_warning 2019-01-11 08:41:51 -05:00
Brad King dd39da5518 Tests: Add case for warning when AUTOMOC/UIC/RCC gets disabled 2019-01-11 08:28:42 -05:00
Kyle Edwards b4444d6054 Tests: Split CPack DEB and RPM tests into smaller tests
The DEB and RPM tests are quite large, which can result in CTest
clients timing out on these tests even though they're working properly.
The RPM test in particular causes a lot of timeouts on the CMake
dashboard machines. This change splits these tests into smaller tests
so that they don't time out.
2019-01-10 13:56:35 -05:00
Kyle Edwards 450131cc0e Tests: Add infrastructure to split up large CPack tests
This allows CPack generator tests to be split into smaller tests of
the format "<generator>.<test>".
2019-01-10 13:56:35 -05:00
Wil Stark 5e4887e673 VS: Honor WinCE deployment properties in VS 2010+
Previously only VS 2008 was supported.
2019-01-10 13:06:25 -05:00
Brad King 67209a9291 Tests: Add cases for ctest --show-only=json-v1 2019-01-10 07:37:35 -05:00
Brad King 2ec3363ea5 Tests: Add cases for -{C,D,U} without a source tree 2019-01-10 21:19:26 +11:00
Brad King 00530d74d5 Tests: Pass python interpreter into RunCMake.CTestCommandLine
This will be useful for adding python-based result checks.
2019-01-08 11:22:11 -05:00
Craig Scott 5b7eb38e8e Merge topic 'fix-warn-uninitialized-in-configure'
cbf0c0fce4 cmake: Enable --warn-uninitialized inside string(CONFIGURE) and configure_file
1d32a35c10 cmCommandArgumentParserHelper: use cmMakefile::MaybeWarnUninitialized
67ac4ed1dc cmMakefile: Move uninitialized vars logic into MaybeWarnUninitialized()
5257af3634 cmMakefile: move common logic to IsProjectFile function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2676
2019-01-07 15:33:52 -05:00
Alexander Grund 08be74bfd7 GetPrerequisites: Fix handling of executable scripts
Fixes: #18667
2019-01-05 09:09:39 +11:00
Artur Ryt cbf0c0fce4 cmake: Enable --warn-uninitialized inside string(CONFIGURE) and configure_file
Fixes: #18489
2018-12-30 08:31:09 +11:00
Craig Scott d480ede35b Merge topic 'link-options'
f255280fd9 PIE link options: Update strategy to fix performance regression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2739
2018-12-23 17:23:11 -05:00
Craig Scott 170fcebf2e Merge topic 'install-code-script-genex'
25cae1e85d install: Teach CODE,SCRIPT modes to evaluate generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2688
2018-12-23 17:19:57 -05:00
Jon Chronopoulos 25cae1e85d install: Teach CODE,SCRIPT modes to evaluate generator expressions
This also introduces CMP0087 which will keep the OLD behaviour of not
evaluating generator expressions

Fixes: #15785
2018-12-23 09:03:38 +11:00
Craig Scott d780fb15a4 Merge topic 'runcmake-test-filter'
b6eafd5781 Tests: Add RunCMake_TEST_FILTER environment variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Artur Ryt <artur.ryt@gmail.com>
Merge-request: !2743
2018-12-22 16:10:29 -05:00
Craig Scott 91bcb88c3c Merge topic 'output-on-failure'
19d86e26e3 ExternalProject: add LOG_OUTPUT_ON_FAILURE option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2625
2018-12-21 16:21:47 -05:00
Wouter Klouwen 19d86e26e3 ExternalProject: add LOG_OUTPUT_ON_FAILURE option
This option only has an effect if at least one of the other LOG_<step>
options is enabled.  If an error occurs for a step which has logging to
file enabled, that step's output will be printed to the console.  For
cases where a large amount of output is recorded, just the end of that
output may be printed to the console.
2018-12-21 07:52:08 +11:00
Kyle Edwards 3f915531ad Tests: Fix Cygwin failure on RunCMake.install 2018-12-19 12:04:59 -05:00
Marc Chevrier f255280fd9 PIE link options: Update strategy to fix performance regression
Fixes: #18700
2018-12-19 19:41:27 +11:00
Kyle Edwards b6eafd5781 Tests: Add RunCMake_TEST_FILTER environment variable
This environment variable allows developers to locally run only a
subset of RunCMake subtests in a single RunCMakeTest.cmake script.
If the environment variable is not set, all of the tests in the
script are run.
2018-12-13 18:47:13 -05:00
Brad King e2d0da3366 Merge topic 'vs_deploy_content_fix'
b5b63da088 VS: Fix Deploy content in .csproj files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2713
2018-12-13 10:03:52 -05:00
Brad King dc90cd6877 Merge topic 'fileapi'
b9c6f08276 Help: Add release note for fileapi feature
4b6b2a571c fileapi: extend codemodel v2 with directory details
eb8c7676a4 fileapi: extend codemodel v2 with a project model
42f0125ceb fileapi: Add test for cmakeFiles v1
6615408193 fileapi: add cmakeFiles v1
3f6ee75a66 fileapi: Add test for cache v2
7489e95b8e fileapi: add cache v2
ea0a060168 fileapi: Add test for codemodel v2
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2706
2018-12-13 09:57:59 -05:00
Brad King 4b6b2a571c fileapi: extend codemodel v2 with directory details
Issue: #18398
Co-Author: Kyle Edwards <kyle.edwards@kitware.com>
2018-12-12 15:12:26 -05:00
Brad King eb8c7676a4 fileapi: extend codemodel v2 with a project model
Offer clients a `project()`-centric view of the build system.  This is
similar to the directory-centric view but consolidates subdirectories
that do not call `project()` with a new project name.

Issue: #18398
Co-Author: Kyle Edwards <kyle.edwards@kitware.com>
2018-12-12 15:12:26 -05:00
Kyle Edwards 42f0125ceb fileapi: Add test for cmakeFiles v1 2018-12-12 13:02:31 -05:00