Commit Graph

7048 Commits

Author SHA1 Message Date
Brad King
967dcf36d0 Intel: Remove incorrect C++98 standard compiler flag on Windows
The change in commit 05e05cd2 (Intel: Fix compiler C++98 standard flag
on Windows, 2016-10-26) was wrong.  The Intel C++ Compiler for Windows
does not support either `-Qstd=c++98` or `-Qstd=gnu++98`.  Simply remove
both flags for this compiler and use no options at all to achieve this
mode.

Issue: #16384
2016-10-27 13:28:34 -04:00
Brad King
8f6fd091b8 Merge topic 'intel-compiler-windows-c++98'
05e05cd2 Intel: Fix compiler C++98 standard flag on Windows
2016-10-27 11:17:09 -04:00
Brad King
6613434376 Merge topic 'intel-17-features'
554b4f90 Features: Record features for Intel C++ 17 on UNIX
2016-10-27 11:17:05 -04:00
Brad King
05e05cd2aa Intel: Fix compiler C++98 standard flag on Windows
The Intel C++ Compiler for Windows does not support the `-Qstd=c++98`
flag but does support `-Qstd=gnu++98`.

Issue: #16384
2016-10-26 15:03:53 -04:00
Brad King
075cc0f28c Merge branch 'intel-17-features' into release 2016-10-26 09:22:13 -04:00
Brad King
554b4f9010 Features: Record features for Intel C++ 17 on UNIX
Issue: #16384
2016-10-26 09:18:38 -04:00
Brad King
61758bf4b9 Merge topic 'intel-compile-features-windows'
881585f9 Intel: Fix compiler extension flags on Windows
2016-10-25 09:09:01 -04:00
Brad King
644ff572f7 Merge topic 'android-pic'
4c272adb Android: Link position-independent executables with proper flags
6205f179 Android: Set CMAKE_POSITION_INDEPENDENT_CODE automatically
2016-10-25 09:08:55 -04:00
Brad King
de21e564ed Merge branch 'intel-compile-features-windows' into release 2016-10-24 14:36:46 -04:00
Brad King
881585f975 Intel: Fix compiler extension flags on Windows
The extension flags enabled by commit v3.6.0-rc1~120^2~1 (Features:
Record standard flags for Intel C/C++ on Windows, 2016-04-18) of the
form `-Qstd=gnu++11` are not supported by the Intel C/C++ Compiler for
Windows.  Fall back to using the non-extension form of the flags.

Issue: #16384
2016-10-24 14:29:40 -04:00
Brad King
4c272adbe1 Android: Link position-independent executables with proper flags
Add `-fPIE -pie` to the default executable link flags when
`CMAKE_POSITION_INDEPENDENT_CODE` is enabled.  This is required by
Android 16 and above for executables to run on the device.

Closes: #16382
2016-10-24 11:45:18 -04:00
Brad King
6205f1797e Android: Set CMAKE_POSITION_INDEPENDENT_CODE automatically
If the toolchain file or cache does not set this, enable it
automatically based on the Android API version.  Versions 16
and above expect position independent code.

Use the main `CMAKE_POSITION_INDEPENDENT_CODE` setting in favor of
hard-coding `-fpic` or `-fPIC` in the compiler flags for each ABI.
This allows CMake to use `-fpie` or `-fPIE` as needed when sources
are meant for executables, and `-fpic` or `-fPIC` for other sources.
2016-10-24 11:40:53 -04:00
Brad King
3d5ec790ee Merge topic 'android-link-exe'
295c8efa Android: Add missing link flags for device executables
2016-10-24 10:16:37 -04:00
Brad King
295c8efa35 Android: Add missing link flags for device executables
See `${ndk}/build/core/default-build-commands.mk` for link flags the NDK
uses for executables.  Add them to our default executable link flags.
Suppress `nocopyreloc` on `arm64-v8a` because it does not work with
some STL types.

Closes: #16380
2016-10-21 10:43:45 -04:00
Brad King
97670dbf2f Merge topic 'android-armeabi-c++_static'
43f4326e Android: Fix support for armeabi with c++_static
2016-10-21 08:59:07 -04:00
Brad King
43f4326ece Android: Fix support for armeabi with c++_static
Add missing "unwind" and "atomic" libraries needed for this combination.
See `${ndk}/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++.a` for the
libraries the NDK uses.

Issue: #16380
2016-10-21 08:42:25 -04:00
Brad King
fc7ecd6b05 Merge topic 'external-project-clone-progress'
e89fbfaf ExternalProject: support GIT_PROGRESS argument
64aa29b7 ExternalProject: fix typo
2016-10-20 08:51:18 -04:00
Ben Boeckel
63d215dfa8 ExternalProject: support extracting the configure command
Previously, the configure command generated by ExternalProject was not
accessible prior to actually adding the targets. This makes the CMake
configure command accessible with just a call to _ep_parse_arguments.

Future work will leverage this to support custom environment settings on
a per-project basis.
2016-10-19 08:58:25 -04:00
Brad King
a08a48c2da Merge topic 'external-project-source-subdir-usage'
615f3ed2 ExternalProject: make SOURCE_SUBDIR directly appendable
fdce782b ExternalProject: error out only if the property is unset
2016-10-19 08:48:40 -04:00
Brad King
c61b6f7f37 Merge topic 'ExternalData-multiple-hashes'
33a9aaa8 ExternalData: Add support for multiple hash algorithms
2016-10-19 08:48:37 -04:00
Brad King
1745733809 Merge topic 'fix-Android-NsightTegra'
9af881d8 Tests: Add VSNsightTegra test for VS 2015
6739d240 Tests: Fix VSNsightTegra test on Android NDK r12b
06c39612 VS: Fix NVIDIA Nsight Tegra Visual Studio Edition support
2016-10-19 08:48:31 -04:00
Ben Boeckel
e89fbfaf66 ExternalProject: support GIT_PROGRESS argument 2016-10-18 17:41:02 -04:00
Brad King
a0c539b546 Merge branch 'fix-Android-NsightTegra' into release 2016-10-18 14:24:34 -04:00
Brad King
06c396126f VS: Fix NVIDIA Nsight Tegra Visual Studio Edition support
The guard added by commit v3.7.0-rc1~229^2~17 (Android: Suppress new
functionality with Nsight Tegra in VS IDE builds, 2016-06-02) to
`Modules/Platform/Android-Determine.cmake` does not work in that
location because `CMAKE_VS_PLATFORM_NAME` is not set until after the
module is loaded.  Change this particular guard to test for the Visual
Studio generator instead.  If in the future we add support for using
Visual Studio for Android without Nsight Tegra then something more will
be needed, but this is good enough for now.

Closes: #16371
2016-10-18 13:32:50 -04:00
Brad King
e3cb3116bc Merge branch 'external-project-source-subdir-usage' into release 2016-10-18 12:56:13 -04:00
Ben Boeckel
615f3ed2b4 ExternalProject: make SOURCE_SUBDIR directly appendable
This allows it to be used in expansions without being conditional based
on its value.
2016-10-18 12:51:38 -04:00
Ben Boeckel
fdce782b61 ExternalProject: error out only if the property is unset
Property values may be empty; instead make sure they exist and allow for
empty values.
2016-10-18 12:51:06 -04:00
Ben Boeckel
64aa29b7d6 ExternalProject: fix typo 2016-10-18 11:30:44 -04:00
Matt McCormick
33a9aaa89b ExternalData: Add support for multiple hash algorithms
Add support for projects to have `Data.txt.md5` *and* `Data.txt.sha512`
where the content links hold hashes for the same file.  Check all
`ExternalData_URL_TEMPLATES` entries in order for all available hashes.
The data acquisition is considered a failure if none of the available
URL resources has any of the given hashes.  This makes it possible to
have multiple data server resources where all servers do not support all
hashing algorithms.
2016-10-18 11:16:45 -04:00
Brad King
99177a2029 Merge topic 'propagate_ctest_use_launchers'
19beee46 ctest_configure: Propagate CTEST_USE_LAUNCHERS from caller to project
2016-10-18 08:43:00 -04:00
Brad King
cff5112385 Merge topic 'CheckFunctionExists-prototype'
4bc17345 CheckFunctionExists.c: avoid gcc warnings with -Wstrict-prototypes
2016-10-18 08:42:57 -04:00
Brad King
086f356f6c Merge topic 'FindwxWidgets-unversioned-library-path'
52e8fa23 FindwxWidgets: Fix finding unversioned VS-built directory prefixes
2016-10-18 08:42:47 -04:00
Bill Hoffman
19beee46cc ctest_configure: Propagate CTEST_USE_LAUNCHERS from caller to project
If `CTEST_USE_LAUNCHERS` is `TRUE` in a CTest script then the
`ctest_configure` command will add `-DCTEST_USE_LAUNCHERS:BOOL=TRUE` to
the cmake command used to configure the project.  This allows a project
to only set `CTEST_USE_LAUNCHERS` in a ctest script and have launchers
work.
2016-10-17 11:15:36 -04:00
Brad King
df68d8a17e Merge branch 'FindwxWidgets-unversioned-library-path' into release 2016-10-17 11:07:37 -04:00
Brad King
52e8fa2312 FindwxWidgets: Fix finding unversioned VS-built directory prefixes
The change in commit v3.7.0-rc1~217^2 (FindwxWidgets: Add VS-versioned
library directory prefixes, 2016-08-24) works only for official
wxWidgets builds that add the VS-versioned directory prefixes.  Local
wxWidgets builds still have an unversioned prefix.  Search them.

Closes: #16366
2016-10-17 11:06:00 -04:00
Brad King
69be82394d Merge topic 'osx-no-deployment-target-on-cross-compile'
e8bafb6f OS X: Do not try to set deployment target when cross-compiling
2016-10-17 10:15:02 -04:00
Brad King
b6e5b6485f Merge branch 'osx-no-deployment-target-on-cross-compile' into release 2016-10-17 10:04:29 -04:00
Gregor Jasny
e8bafb6fcb OS X: Do not try to set deployment target when cross-compiling
The change in commit v3.4.0-rc2~6^2 (Xcode: Adjust deployment target SDK
version to host version, 2015-10-11) does not make sense when
cross-compiling.  Make it conditional to fix this regression in some
cross-compiling cases.

Closes: #16355
2016-10-17 10:02:17 -04:00
Andre McCurdy
4bc17345c0 CheckFunctionExists.c: avoid gcc warnings with -Wstrict-prototypes
Avoid warnings (and therefore build failures etc) if a user happens
to add -Wstrict-prototypes to CFLAGS.

 | $ gcc --version
 | gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
 |
 | $ gcc -Wstrict-prototypes -Werror -DCHECK_FUNCTION_EXISTS=pthread_create -o foo.o -c Modules/CheckFunctionExists.c
 | Modules/CheckFunctionExists.c:7:3: error: function declaration isn't a prototype [-Werror=strict-prototypes]
 |    CHECK_FUNCTION_EXISTS();
 |    ^
 | cc1: all warnings being treated as errors
 |

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
2016-10-14 16:26:58 -07:00
Brad King
a8513d8a80 Merge topic 'vs-host-x64-tools'
d079e71c VS: Provide an option to use x64 host tools
779939a0 Help: Document VS and Xcode toolset selection
2016-10-14 09:25:34 -04:00
Brad King
d079e71c29 VS: Provide an option to use x64 host tools
Visual Studio provides toolchains that are themselves built for 32-bit
or 64-bit host architectures.  By default it uses the 32-bit tools, but
it can be told to prefer the 64-bit tools on 64-bit hosts.  Extend the
`CMAKE_GENERATOR_TOOLSET` specification to provide a way to request
use of the 64-bit host tools.

Closes: #15622
2016-10-14 09:22:26 -04:00
Brad King
02946e0b95 Merge topic 'FindBoost-minor-cleanup'
08b9a0fd FindBoost: Simplify library dir detection with cascading if/elseif/else
ca4029fa FindBoost: Minor style updates
2e242b5c FindBoost: Use list(INSERT) to simplify suffix list generation
6699d46a FindBoost: Use string(APPEND) in more cases
2016-10-14 09:02:48 -04:00
Alex Turbov
08b9a0fdfa FindBoost: Simplify library dir detection with cascading if/elseif/else 2016-10-13 10:19:07 -04:00
Alex Turbov
ca4029fa9a FindBoost: Minor style updates 2016-10-13 10:17:24 -04:00
Alex Turbov
2e242b5c1e FindBoost: Use list(INSERT) to simplify suffix list generation 2016-10-13 10:16:46 -04:00
Alex Turbov
6699d46a2a FindBoost: Use string(APPEND) in more cases 2016-10-13 10:15:34 -04:00
Brad King
d61bfcbf47 Merge topic 'ice-3.6.3'
6e5a3655 FindIce: Add support for version 3.6.3
2016-10-13 09:03:36 -04:00
Brad King
30fe9f0243 Merge topic 'FindSDL-mingw-mwindows'
632326a7 FindSDL: Add -mwindows to link flags for MinGW, correct wording
2016-10-13 08:26:05 -04:00
Brad King
bd74517325 Merge topic 'FindProtobuf-debug-suffix'
d9190f33 FindProtobuf: Search for debug library named with `d` suffix
2016-10-13 08:26:02 -04:00
Brad King
2be36b0ab5 Merge topic 'remove-obsolete'
b6a174d2 Makefiles: Remove query for CMAKE_OBJECT_NAME
d0faa58a Makefiles: Remove forbidden flag logic
2016-10-13 08:25:58 -04:00