Commit Graph

6975 Commits

Author SHA1 Message Date
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
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
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
Petr Hosek
3cfad71c77 Add Fuchsia platform module
Fuchsia is a new operating system. This module provides a minimal
setup needed to use Fuchsia toolchain.
2016-11-09 13:58:12 -08:00
Soji Yamakawa
883bd34a1f VS: Treat libraries ending in .targets as msbuild imports
Generate `<Import Project="..." .../>` to import the `.targets` files
into `.vcxproj` files.

Closes: #16340
2016-11-09 16:19:07 -05:00
Christian Fetzer
2be9d85af8 ExternalProject: Allow passing config flags to git clone
Add a `GIT_CONFIG` parameter that allows to specify `--config` flags
that are passed to the git clone command.  This can be used to specify
for example `core.autocrlf=true`.  The `--config` parameter is supported
since Git 1.7.7.
2016-11-09 15:54:13 -05:00
Brad King
e2565be52c Merge topic 'FindSDL_preventGrowingCacheVar'
f18b18b7 FindSDL: Prevent unbounded growth of SDL_LIBRARY_TEMP variable
2016-11-09 09:49:56 -05:00
Brad King
72190b923b Merge topic 'pkgconfig_imported_target'
61898de6 PkgConfig: Fix FindPkgConfig imported target feature
2016-11-09 09:49:53 -05:00
Craig Scott
f18b18b72b FindSDL: Prevent unbounded growth of SDL_LIBRARY_TEMP variable
Just modify the cache var property rather than using set() to hide it.
Otherwise the set() includes other values added to the temporary list.

Closes: #16406
2016-11-08 09:52:55 -05:00
Brad King
049b10e2f6 Merge topic 'cpack-rpm-omit-unsupported-tags'
b34c0457 Release text for omitting unsupported tags topic
cd042330 CPack/RPM test for Suggests tag
228280d8 CPack/RPM prevent special tags from being removed
d8e83ab9 CPack/RPM omit unsupported tags
2016-11-08 09:44:34 -05:00
Domen Vrankar
228280d833 CPack/RPM prevent special tags from being removed
Some tags are not listed by rpmbuild querytags
even though they are supported. Ignore those
tags during the removal of unsupported tags.
2016-11-05 11:44:32 +01:00
Alexander Adam
d8e83ab979 CPack/RPM omit unsupported tags
Omit tags that are not supported by provided rpmbuild
as some tags get added/removed in later versions of
the tool.

Closes: #13423
2016-11-05 11:42:08 +01:00
Florent Castelli
61898de641 PkgConfig: Fix FindPkgConfig imported target feature
The options to the find_library call to create the imported target
used a literal string "HINTS /path NO_DEFAULT_PATH" instead of a
list of options. This resulted in never finding any library in my
testing.
2016-11-04 23:35:27 +01:00
Brad King
80e477239d FortranCInterface: Make mangling detection robust to PIC Fortran
When using a Fortran compiler that produces PIC executables by default
with a C compiler that does not produce PIC by default then the mangling
detection executable fails to link.  Explicitly enable PIC for the C
compiler just in case the Fortran compiler needs it to link.

Issue: #16405
2016-11-04 09:54:12 -04:00
Brad King
28a9e71c52 Merge topic 'cpackifw-search-algorithm'
20cc76c9 CPackIFW: Update search to find QtIFW distributed with QtSDK
2016-11-04 08:26:05 -04:00
Brad King
8b75290f13 Merge branch 'cpackifw-search-algorithm' into release 2016-11-03 09:30:29 -04:00
Konstantin Podsvirov
20cc76c93a CPackIFW: Update search to find QtIFW distributed with QtSDK
Also avoid CMP0007 warnings.
2016-11-03 09:28:15 -04:00
Brad King
acc2e03d79 Merge topic 'FindHDF5-restore-default-C'
ff3ccc1f FindHDF5: Restore pre-3.6 behavior of finding only C by default
2016-11-03 08:54:43 -04:00
Brad King
e106a6eafb Merge topic 'compile-features-for-language-standards'
9a8d758c Help: Document language standard meta-features
df252db1 Features: Test cycle diagnostic with language standard meta-feature
6d5fb0e0 Features: Test feature propagation with language standard meta-feature
a34b98a8 WCDH: Ignore language standard meta-features
b0996a3f Features: Add meta-features requesting awareness of a particular standard
8b6cc251 Features: Centralize per-compiler recording macros
2d23f7b2 Features: Do not record features on MSVC < 2010
2016-11-03 08:54:33 -04:00
Brad King
90e09fb958 Merge topic 'intel-compile-features-windows'
b902f2a9 Features: Fix Intel cxx_attributes existence condition
2016-11-03 08:54:28 -04:00
Brad King
b902f2a98a Features: Fix Intel cxx_attributes existence condition
This condition needs to follow the same pattern added in note `[1]` by
commit a5a3642f (Features: Port Intel CXX features to test macros where
possible, 2016-10-26).  It was accidentally left out of that commit.
2016-11-03 08:38:23 -04:00
Brad King
a34b98a834 WCDH: Ignore language standard meta-features
The `{c,cxx}_std_*` features are meant for use with
`target_compile_features` but do not make sense for use with
WriteCompilerDetectionHeader.  Filter them out of any requested list.
2016-11-02 10:01:23 -04:00
Brad King
b0996a3fa2 Features: Add meta-features requesting awareness of a particular standard
A common use case of `target_compile_features` is simply to specify that
the compiler should be run in a mode that is aware of e.g. C++11.  Some
projects simply specify a particular C++11-only feature to request this.
Provide a first-class way to do this by naming features after the
corresponding language standard.  Record them as always available in the
corresponding standard level so that requesting them always ensures that
standard (or higher) is used.
2016-11-02 10:00:28 -04:00