Commit Graph

4653 Commits

Author SHA1 Message Date
Brad King
8df12fc9d4 Merge topic 'FeatureSummary_enhancement'
560574b0 FeatureSummary: Update release notes
3cfde818 FeatureSummary: Refactor to use global properties for package types
f0165eb6 FeatureSummary: Allow lists of dependencies in ADD_FEATURE_INFO
9da7bf08 FeatureSummary: Add QUIET_ON_EMPTY option to feature_summary
4cf4aceb FeatureSummary: Add unit tests
614a97a5 FeatureSummary: Do not force OPTIONAL type in SET_PACKAGE_PROPERTIES
65a0bfd8 FeatureSummary: Add deprecation warnings to deprecated commands
4da3cae9 FeatureSummary: Clean printed output
2017-01-30 08:43:23 -05:00
Brad King
5c6c766da1 Merge topic 'timestamp-percent'
6c54f7b3 string: Teach TIMESTAMP to treat %% as %
2017-01-30 08:43:21 -05:00
Brad King
e6659f6323 Merge topic 'test-preprocess-configs'
f01045ea Tests: Make Preprocess test work in RelWithDebInfo and MinSizeRel
2017-01-30 08:43:17 -05:00
Bernhard M. Wiedemann
6c54f7b365 string: Teach TIMESTAMP to treat %% as %
This encoding is documented by `strptime`.
2017-01-27 09:25:37 -05:00
Gilles Khouzam
f01045ea36 Tests: Make Preprocess test work in RelWithDebInfo and MinSizeRel 2017-01-27 09:09:15 -05:00
Brad King
325c615308 Merge topic 'genex-if'
895f7f16 Genex: Add `IF` generator expression
2017-01-27 09:04:58 -05:00
Brad King
86ec0aca05 Merge topic 'topic-reproducible-build'
243aed52 cmTimestamp: Support SOURCE_DATE_EPOCH to override current time
2017-01-27 09:04:53 -05:00
Brad King
fa9c12933f Merge topic 'test-GeneratorExpression-update'
c3a22518 Tests: Extend GeneratorExpression to work with more configurations
d4911724 Tests: Teach GeneratorExpression to cover spaces in include dirs
1a2a9b0d Tests: Simplify GeneratorExpression imported include directory check
2017-01-27 09:04:49 -05:00
Colby Pike
895f7f16a7 Genex: Add IF generator expression
This allows a single condition to be used to choose between two
alternatives.  Without this the condition must be duplicated with
one surrounded by `NOT`.

Closes: #15585
2017-01-26 11:18:50 -05:00
Brad King
b8db2ed796 Merge topic 'tests_auto_type'
ef47272b Tests: use cxx_auto_type only if actually available
2017-01-26 10:40:47 -05:00
Brad King
09cad30904 Merge topic 'FindGTK2_RunTwice'
4bc2c16b FindGTK2: Add unit test to check variables when run twice
9702b3ee FindGTK2: Fix GTK2_LIBRARIES and GTK2_TARGETS when called twice
2017-01-26 10:40:39 -05:00
Bernhard M. Wiedemann
243aed525a cmTimestamp: Support SOURCE_DATE_EPOCH to override current time
See https://reproducible-builds.org/ for why this is good and
https://reproducible-builds.org/specs/source-date-epoch/ for the
definition of this variable.
2017-01-26 10:21:41 -05:00
Brad King
c3a22518f8 Tests: Extend GeneratorExpression to work with more configurations
Add missing pieces for RelWithDebInfo and MinSizeRel.
2017-01-26 10:16:08 -05:00
Brad King
d491172445 Tests: Teach GeneratorExpression to cover spaces in include dirs
Add a space to the imported include directories used for the test.
This works around funny quoted-`;` interpretation by Visual Studio.
2017-01-26 10:11:25 -05:00
Brad King
1a2a9b0d08 Tests: Simplify GeneratorExpression imported include directory check
Do not duplicate the list of include directories 4 times.
2017-01-26 10:09:55 -05:00
Daniele E. Domenichelli
3cfde81835 FeatureSummary: Refactor to use global properties for package types
These new global properties were added:

* FeatureSummary_PKG_TYPES: Package types accepted by FeatureSummary
  (default REQUIRED RECOMMENDED OPTIONAL RUNTIME).
* FeatureSummary_REQUIRED_PKG_TYPES: Package types that will cause
  FeatureSummary to abort when called with
  FATAL_ON_MISSING_REQUIRED_PACKAGES and a package in these categories
  is missing (default REQUIRED).
* FeatureSummary_DEFAULT_PKG_TYPE: Default package type assigned when
  not explicitly assigned by the user (default OPTIONAL).

This allows to add and remove new package types that can be printed
selectively using the "WHAT" argument.
2017-01-26 12:28:12 +01:00
Daniele E. Domenichelli
f0165eb624 FeatureSummary: Allow lists of dependencies in ADD_FEATURE_INFO 2017-01-26 10:52:37 +01:00
Daniele E. Domenichelli
9da7bf0825 FeatureSummary: Add QUIET_ON_EMPTY option to feature_summary
This option suppresses the output when the list of packages that belong
to the selected category is empty.
2017-01-26 10:52:35 +01:00
Daniele E. Domenichelli
4cf4acebe3 FeatureSummary: Add unit tests 2017-01-26 10:52:09 +01:00
Daniele E. Domenichelli
4da3cae9ff FeatureSummary: Clean printed output
* Remove space before commas
* Do not add an empty line before the first type of packages

Also fix a typo in unit test.
2017-01-26 10:50:08 +01:00
Rolf Eike Beer
ef47272b07 Tests: use cxx_auto_type only if actually available
The presence of CMAKE_CXX_COMPILE_FEATURES doesn't mean cxx_auto_type is always
available.
2017-01-25 21:00:30 +01:00
Brad King
54790e77d7 Merge topic 'sanitizer-options'
e116f2a5 ctest_memcheck: Fix sanitizers when MemoryCheckSanitizerOptions is empty
522e1588 Tests: Use CTEST_MEMORYCHECK_SANITIZER_OPTIONS where appropriate
2017-01-25 08:41:21 -05:00
Brad King
4f37987e3f Merge topic 'lang_lint'
0618ddf6 Add properties to run the cpplint style checker with the compiler
2017-01-25 08:41:18 -05:00
Daniele E. Domenichelli
4bc2c16b5d FindGTK2: Add unit test to check variables when run twice 2017-01-25 10:20:35 +01:00
Brad King
c59d381065 Merge topic 'cpack-stgz-minimal-test'
624709c8 CPack/STGZ: minimalistic packages test
1c93eb68 CPack/STGZ prefer pax for extraction
2017-01-24 14:45:35 -05:00
Brad King
6122fc54a9 Merge topic '16253-xcode-effective-platform-name'
10c9c73d Xcode: Control emission of EFFECTIVE_PLATFORM_NAME
2017-01-24 14:45:24 -05:00
Jamie Snape
0618ddf6b1 Add properties to run the cpplint style checker with the compiler
Create a `<LANG>_CPPLINT` target property (initialized by a
`CMAKE_<LANG>_CPPLINT` variable) to specify a `cpplint` style checker
command line to be run along with the compiler.
2017-01-23 14:47:13 -05:00
Jamie Snape
e116f2a5de ctest_memcheck: Fix sanitizers when MemoryCheckSanitizerOptions is empty 2017-01-23 10:50:38 -05:00
Jamie Snape
522e1588ec Tests: Use CTEST_MEMORYCHECK_SANITIZER_OPTIONS where appropriate
Previously the ThreadSanitizer and MemorySanitizer tests erroneously
used `CTEST_MEMORYCHECK_COMMAND_OPTIONS`.
2017-01-23 09:13:26 -05:00
Domen Vrankar
624709c824 CPack/STGZ: minimalistic packages test 2017-01-22 22:07:16 +01:00
Gregor Jasny
10c9c73d58 Xcode: Control emission of EFFECTIVE_PLATFORM_NAME
When building with multiple SDKs within one project Xcode requires
the usage of ${EFFECTIVE_PLATFORM_NAME} to put temporary and build
outout into separate directories. For example an iOS device and
simulator build use two different SDKs (iphoneos and iphonesimulator).

In the past cmake tries to detect embedded toolchains that could
possibly use simulators and emitted EFFECTIVE_PLATFORM_NAME (EPN)
at the proper locations. In #16253 Mark noticed that if he
uses macosx and iphoneos in combination the necessary EPN is not
emitted. This is because CMake by default assumes macosx SDK which
does not trigger EPN emission.

The fist naive approach - enabling EPN unconditionally revealed that
then the EPN leaks into generator expressions like $<TARGET_FILE:xxx>
which might be a regression and thus is unacceptable.

The next approach was to add an CMake property to enable EPN emission
unconditionally. This solved the reported problem.

But the EPN leakage also happened for the embedded toolchains already
without anyone noticing. So the control property was turned into a
tri-state one:

 * No definition: EPN is activated for embedded toolchains like before
 * ON: EPN is always emitted
 * OFF: EPN is never emitted

That approach gives the user the chance to disable EPN for embedded
toolchains and restores generator expression functionality for those.

Closes: #16253
2017-01-20 13:51:48 -05:00
Brad King
910ef6d0a3 Merge topic '16165-manually-added-dependencies'
d9f836e9 Add a getter for manually added target dependencies
2017-01-20 11:54:31 -05:00
Brad King
22d240184c Merge topic 'cdash_upload_retry'
05ed82b1 ctest_submit: Update documentation for CDash upload retries
0ce7643a ctest_submit: improve handling of QUIET option
5614a5cd ctest_submit: Allow RETRY_COUNT for CDASH_UPLOAD
2017-01-20 11:54:28 -05:00
Zack Galbreath
5614a5cd1f ctest_submit: Allow RETRY_COUNT for CDASH_UPLOAD
Teach the CDASH_UPLOAD signature of ctest_submit() to honor the
RETRY_COUNT and RETRY_DELAY options.

Also teach HttpRequest() to honor the default 120 second timeout
for curl connections.
2017-01-20 11:37:27 -05:00
Brad King
6e4eb083d6 Merge topic 'fixtureUnusedOrdering'
298b5b31 CTest: Ensure setup/cleanup ordering even when fixture not required
2017-01-17 09:04:57 -05:00
Brad King
65124233da Merge topic 'file-GLOB-empty-no-crash'
2bba0bfc file: Fix crash on GLOB with no expressions after LIST_DIRECTORIES
2017-01-17 09:04:53 -05:00
Brad King
aa63ab6d3e Merge topic 'expand_custom_commands'
7c8ab7dd add_custom_{command,target}: Add COMMAND_EXPAND_LISTS option
2017-01-17 09:04:50 -05:00
Gregor Jasny
d9f836e956 Add a getter for manually added target dependencies
Closes: #16165
2017-01-16 22:38:24 +01:00
Craig Scott
298b5b31ca CTest: Ensure setup/cleanup ordering even when fixture not required
Closes: #16558
2017-01-16 11:29:24 -05:00
Brad King
35ad12f99e Merge topic 'source_group-tree'
b42330be source_group: Add options create groups matching directory tree
2017-01-16 11:01:38 -05:00
Brad King
47d391d71d Merge topic 'csharp_simple'
397b8546 VS: added documentation for C# support
a7dd8e66 VS: added support for C# (for Visual Studio 2010, 2012, 2013, 2015)
6fda6005 VS: renamed target property VS_USER_PROPS_CXX to VS_USER_PROPS
2017-01-16 11:01:29 -05:00
Brad King
743085a579 Merge topic 'cuda_propagate_flags_when_dlink_on_executables'
8d1f9e5b CUDA: Now pass correct FLAGS when device link cuda executables.
dc5051f1 CUDA: Test that CUDA flags are used when device linking executables.
2017-01-16 11:01:17 -05:00
Brad King
0f3bb10dbe Merge topic 'fix_repeat_until_fail_duplicated_output'
a1058637 CTest: Properly reset output to avoid duplication with --repeat-until-fail
2017-01-16 11:01:02 -05:00
Mateusz Janek
b42330be21 source_group: Add options create groups matching directory tree
Add `TREE` and `PREFIX` arguments to enable this behavior.
2017-01-16 10:52:48 -05:00
Brad King
2bba0bfc2c file: Fix crash on GLOB with no expressions after LIST_DIRECTORIES
Since commit v3.3.0-rc1~318^2~1 (file: Teach GLOB to list directories
optionally, 2015-03-17) using `LIST_DIRECTORIES` followed by no
expression causes a crash.  Fix the logic to avoid the crash.

Fixes: #16565
2017-01-16 10:47:32 -05:00
Ed Branch
7c8ab7ddc8 add_custom_{command,target}: Add COMMAND_EXPAND_LISTS option
This option allows lists generated by generator expressions to be expanded.

Closes: #15935
2017-01-13 20:02:16 -06:00
Michael Stürmer
a7dd8e6692 VS: added support for C# (for Visual Studio 2010, 2012, 2013, 2015) 2017-01-13 09:28:13 +01:00
Michael Stürmer
6fda6005b3 VS: renamed target property VS_USER_PROPS_CXX to VS_USER_PROPS 2017-01-13 09:27:21 +01:00
Robert Maynard
dc5051f1c1 CUDA: Test that CUDA flags are used when device linking executables. 2017-01-12 15:13:31 -05:00
Brad King
728820f3ea Merge topic 'cuda-windows'
f9a810f7 CUDA: Enable CudaOnly.SeparateCompilation test runtime calls
5599d858 CUDA: Port test cases to Windows with MSVC host compiler
11551702 CUDA: Populate NVIDIA compiler information on Windows
5365421e CUDA: Detect implicit link information on Windows
522b913f CUDA: Find MSVC binutils on Windows
02582b91 CUDA: Populate compiler PDB placeholder during device linking
d470cb70 CUDA: Use `.obj` object file extension on Windows
a2e80cb0 CUDA: Detect MSVC architecture id
65c1e012 CUDA: Detect use of MSVC host compiler
945dd207 CUDA: Allow platform files to set device linking rules
95420cea CMakeParseImplicitLinkInfo: Add support for MSVC invoked by CUDA nvcc
2017-01-12 10:41:57 -05:00