Commit Graph

4545 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
Brad King
4838ca14df Merge topic 'initial_cuda_language_support'
4cc601f2 Help: Add release note for CUDA support
7b9131da CUDA: Add tests to verify CUDA compiler works properly.
9cf5b98d CUDA: Prefer environment variables CUDACXX and CUDAHOSTCXX.
a5e806b3 CUDA: Add support for CMAKE_CUDA_COMPILE_OPTIONS_VISIBILITY
d038559e CUDA: Add separable compilation support to the makefile generator.
43ce4414 CUDA: Add separable compilation support to the ninja generator.
4b316097 CUDA: Add support for the CUDA_SEPARABLE_COMPILATION target property
ae05fcc6 CUDA: Add LinkLineComputer that computes cuda dlink lines.
115269a8 CUDA: Refactor cmLinkLineComputer to allow for better derived children.
5dec4031 CUDA: Refactor CMakeCUDAInformation to prepare for separable compilation.
5b20d0ab CUDA: C++ compile features now enable cuda c++11 support.
489c52ce CUDA: Use the host compiler for linking CUDA executables and shared libs.
bbaf2434 CUDA: add support for specifying an explicit host compiler.
a92f8d96 CUDA: Enable header dependency scanning.
ec6ce623 CUDA: State that cuda has preprocessor output and can generate assembly.
4f5155f6 CUDA: We now properly perform CUDA compiler identification.
...
2016-11-29 08:59:03 -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
Brad King
4093bd4025 Merge topic 'include-what-you-use'
d0c14dfb avoid including cmStandardIncludes.h
66a70999 iwyu: Fix VisualStudio specific issues
7b4244ac iwyu: Fix more findings
aeff60e4 iwyu: Fix OSX specific issues
2016-11-28 14:24:07 -05:00
Brad King
56c5c8e17a Merge topic 'cpack-tests-framework-updates'
50c3ebb9 Tests: CPack test documentation facelift
a8a47098 Tests: CPack/DEB test change prerequirements check
48456535 Tests: source CPack tests don't require build stage
d040d164 Tests: CPack test set packaging type
2cc479bd Tests: remove generator prefix from CPack test name
181e9bb6 Tests: CPack test long_filenames prerequirements
b687d2ba Tests: CPack test use same content list
ed8858ed Tests: CPack test unify expected file naming
8575affa Tests: CPack test move and merge VerifyResult
79443e1b Tests: CPack test move per test prerequirements
6d51bea4 Tests: CPack test merge generator specifics
0f15aee7 Tests: CPack test move ExpectedFiles script
a0ad6fc4 Tests: CPack test should always check test output
46b6a25a Tests: CPack test move std error files to test files
53a69c7d Tests: CPack move tests to separate dir
70b52a71 Tests: CPack test should use default package name
...
2016-11-28 14:23:29 -05:00
Brad King
8a975efc94 Merge topic '16449-revert-xcode-system-includes'
543dcb0a Revert "Xcode: Obey SYSTEM keyword for includes (#15687)"
2016-11-28 14:23:21 -05:00
Daniel Pfeifer
7b4244aceb iwyu: Fix more findings 2016-11-28 14:06:40 -05:00
Gregor Jasny
543dcb0ada Revert "Xcode: Obey SYSTEM keyword for includes (#15687)"
Revert commit v3.7.0-rc1~266^2 (Xcode: Obey SYSTEM keyword for includes,
2015-08-31).  It worked for C, C++, and Swift but not for GNU Assembly
files for which Xcode has no property to set flags.

Closes: #16449
2016-11-28 13:42:46 -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
Daniel Pfeifer
aeff60e44c iwyu: Fix OSX specific issues 2016-11-23 00:41:44 +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
460052516f Allow NO_SYSTEM_FROM_IMPORTED on imported INTERFACE libraries
Imported INTERFACE libraries can specify include directories via
`INTERFACE_INCLUDE_DIRECTORIES` so the default behavior of treating them
as system include directories applies.  Allow users to turn this off by
setting `NO_SYSTEM_FROM_IMPORTED` on such targets.

Closes: #16443
2016-11-21 11:42:01 -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
4deaa25f46 ExternalProject: Fix UPDATE_DISCONNECTED with empty update steps
When `UPDATE_DISCONNECTED` is enabled the post-update steps
unconditionally depend on a `skip-update` step instead of `update`.
Make `skip-update` available whenever `UPDATE_DISCONNECTED` is enabled,
whether there is a real update step or not.

Closes: #16428
2016-11-15 08:45:04 -05:00
Robert Maynard
7b9131da64 CUDA: Add tests to verify CUDA compiler works properly. 2016-11-14 16:40:50 -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
4a4be0301b Merge topic 'swig_add_library'
a57e7630 Help: Add notes for topic 'swig_add_library'
013193d0 SwigTest: Update for swig_add_library and add lua example
ec1d585c UseSWIG: Do not set PREFIX property for SHARED and STATIC lua libraries
4c5b3c1c UseSWIG: Do not set NO_SONAME property for SHARED and STATIC libraries
d0a9d8bb UseSWIG: Add swig_add_library macro.
2016-11-14 09:44:17 -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
b4ffd26fd8 ExternalData: Add support for SHA-3 algorithms 2016-11-11 11:46:00 -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