Commit Graph

6995 Commits

Author SHA1 Message Date
Brad King
325e452ea2 Merge topic 'find-module-cleanup-sweep'
745b56f5 Find*.cmake: drop the comments before including FPHSA
0ab9cb46 FindLibArchive: do not set LibArchive_FOUND explicitly
703d1943 FindLibArchive: use CMAKE_CURRENT_LIST_DIR to find FPHSA
2016-11-29 08:59:20 -05:00
Brad King
9e8f74fbb0 Merge topic 'FindDevIL-updates'
7abb12c8 FindDevIL: Make the ILUT library optional
d3f9f512 FindDevIL: fail properly when library is not found.
2016-11-29 08:59:17 -05:00
Brad King
2ee5eac366 Merge topic 'FindPkgConfig-fix-print-errors'
cbccebba FindPkgConfig: Fix missing error text when library version is specified
2016-11-29 08:59:14 -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
Rolf Eike Beer
745b56f58c Find*.cmake: drop the comments before including FPHSA
No need to explain this over and over again.  While at it, do some other
minor cleanups to whitespace and comments (i.e. delete them).
2016-11-28 16:40:13 -05:00
Rolf Eike Beer
0ab9cb4699 FindLibArchive: do not set LibArchive_FOUND explicitly
FPHSA already does this.
2016-11-28 16:39:24 -05:00
Rolf Eike Beer
703d194338 FindLibArchive: use CMAKE_CURRENT_LIST_DIR to find FPHSA
The version of CMake required to build CMake is now new enough to have
that variable.
2016-11-28 16:38:42 -05:00
Vladimír Vondruš
7abb12c826 FindDevIL: Make the ILUT library optional
Some distributions (such as ArchLinux) have only the IL and ILU
libraries and since these are mainly used, the module should succeed
even though ILUT was not found.  Removed it from the FPHSA() macro call,
making it effectively optional.
2016-11-28 16:31:25 -05:00
Vladimír Vondruš
d3f9f5120c FindDevIL: fail properly when library is not found.
Due to a mismatch between module name and name passed to FPHSA() the
macro printed an error message but the error was not caught up by CMake.
Fix the typo.
2016-11-28 16:31:04 -05:00
Gautier Pelloux-Prayer
cbccebbac9 FindPkgConfig: Fix missing error text when library version is specified
Calls like `pkg_check_modules(somelibrary>=3.22)` that specify a version
requirement should still display an informative error when the package
is not found.  Fix our logic accordingly.
2016-11-28 16:18:07 -05:00
Brad King
6e72c8d491 Merge topic 'ExternalProject-cmd-poisoning'
02445138 ExternalProject: Do not trip over pre-existing 'cmd' variable
2016-11-18 09:10:26 -05:00
Karsten Sperling
0244513838 ExternalProject: Do not trip over pre-existing 'cmd' variable
Callers of `_ep_get_build_command` do not initialize the output variable
they pass and expect the function to unconditionally set it.  Revise the
function to not check its own output variable.  Otherwise if a `cmd`
variable happens to be set when `ExternalProject_Add` is called then it
will be erroneously used as the default `BUILD`, `TEST`, and `INSTALL`
command.
2016-11-17 13:40:29 -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
e1c410dea3 Merge topic 'msvc-no-explicit-_DEBUG'
6d0b5ff6 MSVC: Do not define _DEBUG explicitly when using /MDd
2016-11-16 07:47:06 -05:00
Brad King
b6da714af7 Merge topic 'armcc-response-file-flag'
d608e85c ARMCC: Fix flag used for response files
2016-11-16 07:45:54 -05:00
Brad King
6d0b5ff60d MSVC: Do not define _DEBUG explicitly when using /MDd
With the latter flag the compiler automatically defines `_DEBUG`:

  https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx

Closes: #16430
2016-11-15 10:24:06 -05:00
Ben Boeckel
d608e85cfe ARMCC: Fix flag used for response files
ARMCC does not use the `@` sigil to indicate response files, but instead
the `--via=` flag. See the documentation here:

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491h/CHDCIEGC.html

Fixes: #16425
2016-11-15 09:31:33 -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
2b7cc76440 Merge topic 'UseSWIG_USE_BUILD_SHARED_LIBS'
d5b56dd1 UseSWIG: Add USE_BUILD_SHARED_LIBS to accepted values for the TYPE arg
2016-11-15 09:26:13 -05:00
Brad King
06209c4ce2 Merge topic 'ExternalProject-fix-UPDATE_DISCONNECTED'
4deaa25f ExternalProject: Fix UPDATE_DISCONNECTED with empty update steps
2016-11-15 09:26:10 -05:00
Brad King
06ee14f5be Merge topic 'FindBISON-fix-rebuild'
c087072e FindBISON: Do not rebuild every time when not VERBOSE
2016-11-15 09:25:54 -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
9cf5b98d54 CUDA: Prefer environment variables CUDACXX and CUDAHOSTCXX. 2016-11-14 16:40:49 -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
Daniele E. Domenichelli
d5b56dd15c UseSWIG: Add USE_BUILD_SHARED_LIBS to accepted values for the TYPE arg
The new signature is

  SWIG_ADD_LIBRARY(<name>
                   [TYPE <SHARED|MODULE|STATIC|USE_BUILD_SHARED_LIBS>]
                   LANGUAGE <language>
                   SOURCES <file>...
                   )
2016-11-14 18:02:12 +01:00
Robert Maynard
5dec403103 CUDA: Refactor CMakeCUDAInformation to prepare for separable compilation. 2016-11-14 11:36:45 -05:00
Robert Maynard
489c52ce68 CUDA: Use the host compiler for linking CUDA executables and shared libs. 2016-11-14 11:36:44 -05:00
Robert Maynard
bbaf243410 CUDA: add support for specifying an explicit host compiler. 2016-11-14 11:36:44 -05:00
Robert Maynard
a92f8d9616 CUDA: Enable header dependency scanning. 2016-11-14 11:36:44 -05:00
Robert Maynard
4f5155f6ab CUDA: We now properly perform CUDA compiler identification. 2016-11-14 11:36:43 -05:00
Robert Maynard
aaeee1ca72 CUDA: CompilerId now errors out properly when passed a non CUDA compiler.
Previously we only reported an error if the compiler was a C compiler.
2016-11-14 11:36:43 -05:00
Robert Maynard
bf326ebb76 CUDA: Explicitly state all source files are cuda sources.
This way you can mark a .C/.CPP files as a cuda source file and
have nvcc build it as a cuda file.
2016-11-14 11:36:43 -05:00
Robert Maynard
ce4ec876ce CUDA: Add support language levels (98/11) 2016-11-14 11:36:43 -05:00
Robert Maynard
f8aac21947 CUDA: Add basic CUDA language support for *NIX systems. 2016-11-14 11:36:42 -05:00
Brad King
c087072e21 FindBISON: Do not rebuild every time when not VERBOSE
Since commit v3.7.0-rc1~348^2~3 (FindBISON: Change usage of [VERBOSE
<file>] to [VERBOSE [<file>]], 2016-07-16) we always list the VERBOSE
output file as an output of our custom command even if the option is not
used.  This causes the rule to re-run every time (e.g. with Ninja).
Revert one hunk from that change (that looks incorrect) to fix it.

Closes: #16426
2016-11-14 10:06:48 -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
a9fa60997a ExternalProject: Add support for SHA-3 algorithms 2016-11-11 11:46:00 -05:00
Brad King
b4ffd26fd8 ExternalData: Add support for SHA-3 algorithms 2016-11-11 11:46:00 -05:00
Brad King
a0b159685e Merge topic 'vs_targets_file_as_library'
883bd34a VS: Treat libraries ending in `.targets` as msbuild imports
2016-11-11 10:44:20 -05:00
Brad King
5733d3fbb9 Merge topic 'fuchsia-platform'
3cfad71c Add Fuchsia platform module
2016-11-11 10:44:17 -05:00
Brad King
8715157c73 Merge topic 'ExternalProject-GIT_CONFIG'
2be9d85a ExternalProject: Allow passing config flags to git clone
2016-11-11 10:44:10 -05:00
Brad King
68a9fc1bca Merge topic 'intel-compile-features'
5e428389 Features: Detect Intel C++14 mode more reliably
1f848031 Features: Suppress c_static_assert test coverage on Intel <= 15
2016-11-11 10:44:07 -05:00
Daniele E. Domenichelli
ec1d585c43 UseSWIG: Do not set PREFIX property for SHARED and STATIC lua libraries 2016-11-11 08:14:10 +01:00
Daniele E. Domenichelli
4c5b3c1cea UseSWIG: Do not set NO_SONAME property for SHARED and STATIC libraries 2016-11-11 08:14:10 +01:00
Daniele E. Domenichelli
d0a9d8bbe6 UseSWIG: Add swig_add_library macro.
swig_add_module does not allow to set the type for the library and
instead always create the library as MODULE.

This patch adds the new swig_add_library command with this signature:

  SWIG_ADD_LIBRARY(<name>
                   [TYPE <SHARED|MODULE|STATIC>]
                   LANGUAGE <language>
                   SOURCES <file>...
                   )

The swig_add_module is deprecated in favour of swig_add_library.

Closes: #16415
2016-11-11 08:13:47 +01:00
Brad King
979e8ba6c6 Help: De-duplicate and spell out supported hash algorithms
Spell out the supported algorithms in a definition list in the
`string(<HASH>)` command documentation.  Revise the `file(<HASH>)`
command and CPack module documentation to reference it instead of
duplicating the list.
2016-11-10 16:07:46 -05:00
Brad King
5e42838961 Features: Detect Intel C++14 mode more reliably
The `__cplusplus` macro is not defined to the language level reliably.
When simulating MSVC it is always set to `1`.  When simulating GCC it is
set to the lower value of the current language level and the maximum
level supported by the simulated version of GCC (from observation).

For MSVC we already used a combination of `__INTEL_CXX11_MODE__` and
`__cpp_aggregate_nsdmi` to detect C++14 mode.  Extend this for general
use by removing the condition on `_MSC_VER`.
2016-11-10 15:37:05 -05:00
Brad King
be73273952 Features: Fix standards and features for Intel 15 on Windows
The Intel 15 compiler for Windows does not support the same set of
standards and features as the same version for other platforms.
2016-11-10 12:54:06 -05:00