Commit Graph

1123 Commits

Author SHA1 Message Date
Brad King
839cd16396 Merge topic 'vs-default-build-package'
9e3164df VS: Add option to place `PACKAGE` target in solution default build
2016-11-29 08:59:11 -05:00
Brad King
2f7bafd6da Merge topic 'try_compile-honor-CMAKE_WARN_DEPRECATED'
6d604c49 try_compile: Honor CMAKE_WARN_DEPRECATED in test project
2016-11-29 08:59:07 -05:00
Michael Stürmer
9e3164dfa2 VS: Add option to place PACKAGE target in solution default build
Add a `CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD` variable to control
this behavior.
2016-11-29 08:46:27 -05:00
Domen Vrankar
50c3ebb903 Tests: CPack test documentation facelift 2016-11-27 23:20:35 +01:00
Domen Vrankar
a8a4709808 Tests: CPack/DEB test change prerequirements check
Prerequirements should be searched for in
generator prerequirements function and only
checked for presence in configure file in
per test prerequirements function.
2016-11-27 23:20:35 +01:00
Domen Vrankar
48456535f3 Tests: source CPack tests don't require build stage 2016-11-27 23:20:35 +01:00
Domen Vrankar
d040d1647d Tests: CPack test set packaging type
CPack tests can now define one or more
packaging types and that test will be
executed once per generator per packaging
type. This also enables us to set default
values per packaging type for each generator
which makes tests shorter.
2016-11-27 23:20:35 +01:00
Domen Vrankar
2cc479bdac Tests: remove generator prefix from CPack test name 2016-11-27 23:20:35 +01:00
Domen Vrankar
181e9bb612 Tests: CPack test long_filenames prerequirements
Fakeroot executable is already searched
for in DEB packager tests prerequirements
so the test prerequirement just has to
check that it is present in config file
and not search for it once more.
2016-11-27 23:20:35 +01:00
Domen Vrankar
b687d2ba09 Tests: CPack test use same content list
Content list for a certain test
should be the same between different
generators so whenever possible use
a single expected files list per
file for all generators.
2016-11-27 23:20:35 +01:00
Domen Vrankar
ed8858edb7 Tests: CPack test unify expected file naming
Each generator generates its own file
format with different extensions but
they all create those file names by
a certain pattern and all of them
require the same pieces for that pattern
to work. Now we can only provide pieces
once and and each generator will use those
pieces to generate an expected file name.
2016-11-27 23:20:35 +01:00
Domen Vrankar
8575affa4c Tests: CPack test move and merge VerifyResult
Merge VerifyResult of different generators
pertest and move the file to its test dir.
2016-11-27 23:20:35 +01:00
Domen Vrankar
79443e1b8b Tests: CPack test move per test prerequirements
Move per test prerequirements into the
belonging test.
2016-11-27 23:20:35 +01:00
Domen Vrankar
6d51bea4e6 Tests: CPack test merge generator specifics
Merge test generator specifics into
test itself.
2016-11-27 23:20:35 +01:00
Domen Vrankar
0f15aee799 Tests: CPack test move ExpectedFiles script
Merge per generator ExpectedFiles scripts
into one per test and move it to test dir.
2016-11-27 23:20:35 +01:00
Domen Vrankar
a0ad6fc4dc Tests: CPack test should always check test output 2016-11-27 23:20:35 +01:00
Domen Vrankar
46b6a25ada Tests: CPack test move std error files to test files 2016-11-27 23:20:35 +01:00
Domen Vrankar
53a69c7dd4 Tests: CPack move tests to separate dir
For greater transparency tests
are moved to a subfolder with
each test having its own dir.
2016-11-27 23:20:34 +01:00
Domen Vrankar
70b52a7113 Tests: CPack test should use default package name
Package names are irrelevant for most
CPack tests so tests now set default
package name that is created from test
name and used if it is not explicitly
provided in the test.
2016-11-27 23:20:34 +01:00
Domen Vrankar
7763bd7207 Tests: CPack/RPM test introduction of default stderr test output 2016-11-27 23:20:34 +01:00
Domen Vrankar
70a2bfe97c Tests: fix CPack test source packages missing generator type
Source packages testing for RunCMake CPack
tests did not provide generator type to
the project built from source package.
2016-11-27 23:20:34 +01:00
Domen Vrankar
a15f51620b Tests: CPack fix for invalid config file path
Invalid config file path was passed to
per test specific prerequirements script.
2016-11-27 23:20:34 +01:00
Brad King
6d604c4972 try_compile: Honor CMAKE_WARN_DEPRECATED in test project
This causes the `-Wno-deprecated` option to be honored even inside a
`try_compile` test project, which is needed to suppress all deprecation
warnings as the option documents.

Closes: #16446
2016-11-22 10:17:20 -05:00
Brad King
95cfb54579 Merge topic 'capture-clang-tidy-errors'
80ebc55a cmake: Report if the <LANG>_CLANG_TIDY tool exits with non-zero
ce1abfa4 cmake: If ldd for LINK_WHAT_YOU_USE fails to run then report why
44de6157 cmake: Comment why we ignore the include-what-you-use return code
2016-11-21 10:02:02 -05:00
Brad King
80ebc55a7c cmake: Report if the <LANG>_CLANG_TIDY tool exits with non-zero
When using `<LANG>_CLANG_TIDY` our internal launcher for the tool must
capture its return code and stderr and report them on failure.
Otherwise incorrect command lines silently fail.

Closes: #16435
2016-11-18 09:43:22 -05:00
Brad King
44de615781 cmake: Comment why we ignore the include-what-you-use return code
The include-what-you-use tool always returns non-zero to indicate that
it did not actually produce an object file as Clang would from the same
command line.  Add a comment explaining that this is why we ignore its
return code.  Also update our `pseudo_iwyu` test suite tool to always
exit with an error too.
2016-11-18 09:43:19 -05:00
Brad King
25b6e7b710 Tolerate removed/replaced CMakeCache.txt with old CMakeFiles/
Users or scripts commonly remove or replace `CMakeCache.txt` without
also removing `CMakeFiles/`.  In this case the information saved in the
cache from platform information initialization is missing, so we need to
re-initialize it.  In such a case, remove the platform information
directory so that re-initialization will occur and restore needed
information to the cache.

Closes: #14820
2016-11-17 10:29:58 -05:00
Brad King
0e9634d2c9 Merge topic 'android-info-variables'
f7c5e970 Android: Add CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE
d95e6dff Android: Add CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG variable
3d42a72b Android: Always set CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
2016-11-17 09:40:32 -05:00
Brad King
8dd3c319c9 Merge topic 'improve_ctest_memcheck_output'
f0d50957 ctest: Improve output for `-T memcheck`
2016-11-17 09:40:26 -05:00
Bill Hoffman
f0d50957b9 ctest: Improve output for -T memcheck
Show how many defects each test that had a defect produced.
Also tell the user where to find the full log files.
2016-11-17 09:38:06 -05:00
Brad King
338e681c76 Merge topic 'test_vs_targets_file_reference'
c9560a9a Tests: Extend VS10Project to cover `.targets` file linking
2016-11-16 07:47:12 -05:00
Soji Yamakawa
c9560a9a7b Tests: Extend VS10Project to cover .targets file linking
With VS generators for 2010 and above, passing a `.targets` file to
`target_link_libraries` is expected to generate content in the
`.vcxproj` file to import the targets file.  Add a test to cover this.
2016-11-15 10:47:15 -05:00
Brad King
b6f1b1741d Merge topic 'add-SHA-3'
f636d1e7 Help: Add notes for topic 'add-SHA-3'
cb5dba8e Tests: Add SHA-3 algorithm coverage to CPack checksum test
a9fa6099 ExternalProject: Add support for SHA-3 algorithms
b4ffd26f ExternalData: Add support for SHA-3 algorithms
60939702 file: Add support for SHA-3 algorithms
92f95aed string: Add support for SHA-3 algorithms
c326209f cmCryptoHash: Add support for SHA-3 algorithms
979e8ba6 Help: De-duplicate and spell out supported hash algorithms
7a79f7e3 librhash: Activate SHA-3 implementation
87584b5e Merge branch 'upstream-librhash' into add-SHA-3
7fcbd47e librhash 2016-11-06 (de79828d)
c50c32a3 librhash: Update import script to add SHA-3 implementation
2016-11-15 09:26:16 -05:00
Brad King
f7c5e970a0 Android: Add CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE
Expose the binutils' machine name (typically used as a prefix on the
tool names) publicly.  This is expected to match the `gcc -dumpmachine`
value.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-14 14:39:50 -05:00
Brad King
d95e6dff3c Android: Add CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG variable
The NDK provides prebuilt toolchain files in directories named for the
host architecture.  The NDK build system calls this `HOST_TAG`.
Expose the value publicly for use by clients that need to pass it
to external tools.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-14 14:29:18 -05:00
Brad King
3d42a72bd5 Android: Always set CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
When this variable is not set by the user or toolchain file, set it to
the default selected.  This will be useful for client code that needs to
pass the value to an external tool that needs to find the same toolchain
in the NDK.  Leave it empty for a standalone toolchain.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-14 14:29:14 -05:00
Brad King
cb5dba8eb1 Tests: Add SHA-3 algorithm coverage to CPack checksum test 2016-11-11 11:46:01 -05:00
Brad King
8b33507aba Merge topic 'cdash_version_check'
d3633731 Do not query CDash for version
f725b20b Update tests that expect uncompressed output
2016-11-11 10:44:24 -05:00
Brad King
6338652a87 Merge topic 'ctest_memcheck_defect_count'
3a523eec ctest_memcheck: Add DEFECT_COUNT option to capture defect count
2016-11-11 10:44:13 -05:00
Betsy McPhail
3a523eec78 ctest_memcheck: Add DEFECT_COUNT option to capture defect count 2016-11-09 15:34:07 -05:00
Brad King
453df662ba Merge topic 'imported-interface-libname'
09cda9d5 Allow imported INTERFACE libraries to specify a link library name
1d1f1eeb cmTarget: Refactor GetMappedConfig to choose location property up front
479932fa cmTarget: Add comment clarifying interface library special case
925e4270 cmTarget: Clarify comments in GetMappedConfig
2016-11-09 09:49:49 -05:00
Brad King
09cda9d5e7 Allow imported INTERFACE libraries to specify a link library name
Add an `IMPORTED_LIBNAME[_<CONFIG>]` target property to specify a library
name to be placed on the link line in place of an interface library
since it has no library file of its own.  Restrict use of the property
to imported `INTERFACE` libraries.

This will be particularly useful for find modules that need to provide
imported libraries from system SDKs where the full path to the library
file is not known.  Now such find modules will be able to provide an
imported interface library and set `IMPORTED_LIBNAME` to refer to the
SDK library by name.

Issue: #15267
2016-11-09 09:45:14 -05:00
Zack Galbreath
f725b20be3 Update tests that expect uncompressed output
Pass --no-compressed-output to ctest for tests that expect uncompressed output.
2016-11-08 15:58:29 -05:00
Alexander Adam
cd0423300b CPack/RPM test for Suggests tag
Suggests tag was not present in older versions
of rpmbuild so we test that the rpm package is
always generated either with Suggests tag present
or skipped if not supported.
2016-11-05 11:44:32 +01:00
Brad King
df252db15a Features: Test cycle diagnostic with language standard meta-feature
The `cxx_static_assert` feature may be available in C++ 98 mode of some
compilers or not available at all in others.  Intstead of using an
individual feature to test cyclic requirement of a feature requiring
C++ 11, use the `std_cxx_11` meta-feature that has exactly this meaning.
2016-11-02 10:01:24 -04:00
Brad King
505f56dc91 Merge topic 'custom-command-CROSSCOMPILING_EMULATOR'
f648b9be Tests: Check that CROSSCOMPILING_EMULATOR is not used on imported targets
e7480d67 Fix custom command target substitution with CROSSCOMPILING_EMULATOR
2016-11-01 09:14:37 -04:00
Brad King
f648b9be63 Tests: Check that CROSSCOMPILING_EMULATOR is not used on imported targets 2016-10-28 15:08:08 -04:00
Brad King
e7480d670b Fix custom command target substitution with CROSSCOMPILING_EMULATOR
In commit v3.6.0-rc1~88^2 (CustomCommandGenerator: Add support for
CROSSCOMPILING_EMULATOR, 2016-05-04) logic was introduced to substitute
a target's `CROSSCOMPILING_EMULATOR` for argv0 in a custom command.
However, it broke the case when the argv0 was a target name and now
fails to expand the target name to its location at the same time as
inserting the emulator.  Fix the latter case.

Inspired-by: Brian Maher <brian@brimworks.com>
Closes: #16288
2016-10-28 15:08:03 -04:00
Brad King
9a58517df4 Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnostic 2016-10-28 11:18:15 -04:00
Alexis Murzeau
e983bd326a Ninja: Use binary dir for $subdir/all targets
The targets added by commit v3.6.0-rc1~240^2~2 (Ninja: Add `$subdir/all`
targets, 2016-03-11) use as `$subdir` the relative path from the top of
the source tree to the current source directory.  This is not correct
when using `add_subdirectory(test test_bin)`.  Instead we need to use
the relative path from the top of the binary tree to the current binary
directory as was done for related targets by commit v3.7.0-rc1~268^2
(Ninja: Add `$subdir/{test,install,package}` targets, 2016-08-05).
2016-10-24 10:30:02 -04:00