Commit Graph

1544 Commits

Author SHA1 Message Date
Shane Parris 915b71010c Enhance RunCMake test coverage for file(GLOB) 2018-02-28 09:34:47 -05:00
Brad King f6fc689c26 Merge topic '14297-partial-xcode-zero-check'
481420ee Xcode: Generate ZERO_CHECK generator target only once

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1790
2018-02-23 08:22:51 -05:00
Gregor Jasny 481420ee89 Xcode: Generate ZERO_CHECK generator target only once
In case CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY has been enabled
generate only the root-level ZERO_CHECK target so targets in
subdirectories pick up the root generator target of ZERO_CHECK.

For the case that CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is not
enabled more investigation and a proper and final fix is still needed.

Issue: 14297
2018-02-22 21:15:48 +01:00
Brad King 846a4dd118 Merge topic 'string-join'
689eeb67 string: Add JOIN subcommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !1762
2018-02-20 11:47:51 -05:00
Alex Turbov 689eeb67cb string: Add JOIN subcommand
This is just like CONCAT but accepts a glue string to put between
each value.  `JOIN ""` is equivalent to `CONCAT`.
2018-02-16 10:04:47 -05:00
Shane Parris e78e24f68c Replaces execute_process calls to touch files with file(TOUCH) calls 2018-02-15 10:54:38 -05:00
Shane Parris 602988e1e5 Adds file(TOUCH) and file(TOUCH_NOCREATE) sub-commands 2018-02-15 10:54:18 -05:00
Brad King a2ec98b7d9 Merge topic 'enhanced-UseSWIG-Module'
0bef9eb4 UseSWIG: modernize module
d6048bd1 UseSWIG: Re-work test framework

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1707
2018-02-15 08:50:29 -05:00
Brad King b5d18cbd77 Merge topic 'directory-property-TESTS'
b513a879 Tests management: add TESTS directory property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1748
2018-02-15 08:49:44 -05:00
Brad King b6d68766b1 Android.mk: Fix export of static libraries with PRIVATE dependencies
The `LINK_ONLY` generator expression is used to represent private
dependencies of static libraries in their `INTERFACE_LINK_LIBRARIES`
property value.  Fix evaluation of generator expressions during export
to support the `LINK_ONLY` genex.  Extend the RunCMake.AndroidMK test
with a case for this.
2018-02-14 11:24:05 -05:00
Marc Chevrier 0bef9eb410 UseSWIG: modernize module 2018-02-14 08:35:04 +01:00
Marc Chevrier d6048bd153 UseSWIG: Re-work test framework 2018-02-14 08:35:04 +01:00
Marc Chevrier b513a879ec Tests management: add TESTS directory property
Implements: #17680
2018-02-08 19:16:28 +01:00
Brad King 18153217e2 Merge topic 'ctest_start_function_scope'
13347740 Help: add release notes, documentation for CTEST_RUN_CURRENT_SCRIPT behavior
74092d92 cmCTestScriptHandler: Add new field ShouldRunCurrentScript

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1703
2018-01-29 08:04:59 -05:00
Kyle Edwards 74092d92bf cmCTestScriptHandler: Add new field ShouldRunCurrentScript
This is to avoid scope issues with CTEST_RUN_CURRENT_SCRIPT. If
ctest_start() is called within a function scope, the value of
CTEST_RUN_CURRENT_SCRIPT that it sets doesn't make it to the global
scope. With this change, ctest_start() no longer sets
CTEST_RUN_CURRENT_SCRIPT, and instead sets a field directly in
cmCTestScriptHandler. The old behavior of CTEST_RUN_CURRENT_SCRIPT
has also been kept for projects and tests that rely on setting it.
2018-01-26 09:27:22 -05:00
Brad King d71be346a4 Tests: Speed up RunCMake.TargetPropertyGeneratorExpressions
Consolidate similar test cases.
2018-01-25 12:08:13 -05:00
Brad King 234a069de3 Tests: Speed up RunCMake.GeneratorExpression
Avoid enabling languages in cases that do not need them.
2018-01-25 10:50:20 -05:00
Brad King 76f5a87cf1 Merge topic 'sourceFile-new-properties'
04483111 sourceFile properties: add property INCLUDE_DIRECTORIES
3073bd1f VisualStudio generators: refactoring
78b1c2e0 sourceFile properties: add property COMPILE_OPTIONS
3f935e69 LocalGenerator: refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1596
2018-01-25 08:33:35 -05:00
Brad King 03050c5689 Merge topic 'fix-include_regular_expression-subdir'
2d64f9f0 include_regular_expression: Fix propagation to subdirectories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1690
2018-01-25 08:31:03 -05:00
Marc Chevrier 0448311179 sourceFile properties: add property INCLUDE_DIRECTORIES 2018-01-24 15:10:10 +01:00
Brad King 2d64f9f08d include_regular_expression: Fix propagation to subdirectories
Refactoring in commit v3.4.0-rc1~321^2 (cmMakefile: Remove special
handling of INCLUDE_REGULAR_EXPRESSION, 2015-04-04) accidentally broke
propagation of the include regex to subdirectories.  Refactoring in
commit v3.5.0-rc1~319^2~1 (cmState: Initialize properties immediately,
2015-10-07) moved maintenance of this value from `cmMakefile` to
`cmStateSnapshot`.

Restore propagation of the `INCLUDE_REGULAR_EXPRESSION` to
subdirectories and add a test to cover it.

Fixes: #17676
2018-01-24 08:20:19 -05:00
Kyle Edwards b1ae9aaf79 GenerateExportHeader: add release notes, tests for include guard changes 2018-01-23 10:43:40 -05:00
Brad King e68a269cd2 Merge topic 'cache-truncate-newlines'
c42b377c cmCacheManager: Test and document newline truncation behavior
a9c48307 cmCacheManager: Truncate values containing newlines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1652
2018-01-19 10:08:06 -05:00
Brad King b4dfe1d816 Merge topic 'extend-compile-language-genex'
506fda1c Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode
c2f79c98 Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode
0795d25b cmVisualStudio10TargetGenerator: Factor out include dir computation
1ab4d186 cmLocalVisualStudio7Generator: Clarify variable name of compiled language
07e1a743 cmLocalVisualStudio7Generator: Clarify condition for target that compiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1657
2018-01-16 09:33:23 -05:00
Kyle Edwards c42b377c29 cmCacheManager: Test and document newline truncation behavior 2018-01-15 09:28:32 -05:00
Brad King 506fda1cf0 Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`INCLUDE_DIRECTORIES` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of include directories for C and C++ is frequently similar but may
be distinct from those for other languages like CUDA.

Fixes: #17435
2018-01-12 14:27:37 -05:00
Brad King c2f79c9867 Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`COMPILE_DEFINITIONS` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of definitions for C and C++ is frequently similar but may be
distinct from those for other languages like CUDA.

Issue: #17435
2018-01-12 14:27:37 -05:00
Brad King e1f0518de0 GNU: Use -fvisibility on AIX when supported
Revise the logic from commit v3.7.0-rc1~173^2~2 (GNU: Do not use
-fvisibility on AIX or HP-UX, 2016-09-03) to add a version check.
The GCC 7 release notes [1] state that visibility support has been
added for AIX 7.1 and above.

[1] https://gcc.gnu.org/gcc-7/changes.html
2018-01-12 11:50:10 -05:00
Brad King eae0a85d84 Tests: Remove redundant code from RunCMake.GenerateExportHeader case
Drop extra `add_compiler_export_flags` calls from subdirectories because
it is already called in the top-level directory before entering them.
2018-01-12 11:01:37 -05:00
Craig Scott e44c5828d3 Merge topic 'add_cuda_to_source_regex'
81868e6b CUDA: Add cu as default source file extension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !1629
2018-01-09 16:15:11 -05:00
Robert Maynard 81868e6bad CUDA: Add cu as default source file extension 2018-01-08 16:16:52 -05:00
Brad King f7f34a46e6 Merge topic 'use_generator_is_multi_config'
3c413e2a GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Modules
c267ea1c GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1627
2018-01-08 11:14:16 -05:00
Brad King f4a3143940 Merge topic 'execute_process_UTF8_keyword'
8caec41e execute_process: Allow UTF-8 as a synonym for the UTF8 keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !1623
2018-01-08 10:44:47 -05:00
Brad King a3bba2a5ad Merge topic '17431-iphone-deployment-target'
4017bf40 Darwin: Emit deployment target that matches the SDK
8f4663ff Xcode: rename embedded SDK query function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1447
2018-01-08 09:58:11 -05:00
Luz Paz 3ab7bf8285 Various typo fixes
Some are user-facing. Others are source comments.
2018-01-04 06:52:01 +11:00
Craig Scott c267ea1c3e GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
Craig Scott 8caec41e6e execute_process: Allow UTF-8 as a synonym for the UTF8 keyword
UTF-8 is the proper naming according to the UTF-8 RFC and is also the
name used for a similar keyword in the file() command. This commit
brings (backward compatible) consistency to the keyword names and allows
the standard UTF-8 name to be used with execute_process(). The old UTF8
keyword is still supported.
2017-12-27 21:56:00 +11:00
Gregor Jasny 4017bf40de Darwin: Emit deployment target that matches the SDK
Closes: #17431
2017-12-22 21:56:53 +01:00
Craig Scott b0ff528adc FindPkgConfig: Make IMPORTED_TARGET test verify NO...PATH properly 2017-12-16 22:38:56 +11:00
Marc Chevrier 10f58b27ac Genex: Per-source $<COMPILE_LANGUAGE:...> support
Fixes: #17542
2017-12-13 16:35:22 +01:00
Brad King e016d6d255 Merge topic 'cpack-rpm-check-executable-flags'
a2031d3a CPack/RPM: check executable flags for debuginfo packages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1565
2017-12-07 08:28:31 -05:00
Brad King e1a09cfbd1 Merge topic 'externalproject_download_dir'
b8b87489 ExternalProject: Support substituting <DOWNLOAD_DIR>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1537
2017-12-07 08:14:34 -05:00
Brad King ea63c522ef Merge topic 'gtest-discovery-timeout'
935848a8 GoogleTest: Add test for missing test executable
29731d89 GoogleTest: Add timeout to discovery
e99e3982 GoogleTest: Improve gtest_discover_tests messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1534
2017-12-07 08:06:27 -05:00
Craig Scott b8b8748977 ExternalProject: Support substituting <DOWNLOAD_DIR> 2017-12-07 07:22:02 +11:00
Domen Vrankar a2031d3a3a CPack/RPM: check executable flags for debuginfo packages
Debuginfo packages can not be created from programs and
shared libraries that do not have execute permissions.
2017-12-06 21:04:20 +01:00
Matthew Woehlke 935848a8a7 GoogleTest: Add test for missing test executable
Add a test to verify expected behavior when a test executable on which
gtest_discover_tests is invoked was not built. (The test for the newly
added timeout conveniently sets up this situation, so this new test was
almost trivial to add.)
2017-12-06 07:37:48 -05:00
Matthew Woehlke 29731d8919 GoogleTest: Add timeout to discovery
Add a TIMEOUT option to gtest_discover_tests. This provides a
work-around in case a test goes out to lunch, rather than causing the
build to simply hang. (Although this is still a problem with the user's
project, hanging the build is not cool, especially in the case of
automatically running CI builds. It is much preferred that the build
should actively fail in this case, and it is trivially easy for us to
implement that.)
2017-12-06 07:37:48 -05:00
Marc Chevrier 9432f686e6 Add generator expression support to per-source COMPILE_DEFINITIONS
This allows users to specify different genex-based compile definitions for each file in a target.

Fixes: #17508
2017-12-05 14:47:39 +01:00
Brad King 0236e50802 Merge topic 'update-cpplint'
bfcc2034 Update cpplint support to return 0 and mark warnings for CDash.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1544
2017-12-05 08:14:39 -05:00
Brad King caa1c4967a Merge topic 'csharp_project_without_sources'
8e654a37 VS: Enable generation of CSharp projects without initial .cs files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1521
2017-12-04 10:48:53 -05:00