Commit Graph

7643 Commits

Author SHA1 Message Date
Brad King
1181ad61d2 Merge branch 'UseSWIG-Java-enabled' into release-3.9
Merge-request: !1095
2017-08-02 11:56:07 -04:00
Brad King
b4fbf677bb UseSWIG: Fix when Java is enabled as a language
Since commit v3.8.0-rc1~251^2 (UseSWIG: Record generated java files as
custom command outputs, 2016-11-28) the generated `.java` files are
listed as sources in the call to `add_library` by swig_add_library.
They are listed only as the outputs of custom commands and not intended
for compilation as part of the library.

Reported-by: Alan W. Irwin <irwin@beluga.phys.uvic.ca>
2017-08-02 11:52:36 -04:00
Brad King
39bd20a490 Merge branch 'FindJava-fix-1.6-registry' into release-3.9
Merge-request: !1079
2017-08-02 11:31:27 -04:00
Rechi Rechi
5479074be1 FindJava: fix hint for windows jre 1.6
Fix typo in commit v3.8.0-rc1~112^2 (FindJava: add hints for jre,
2017-01-11).
2017-08-02 11:30:48 -04:00
Craig Scott
f71f1943db Merge branch 'FindJava_earlyAccessDebian' into release-3.9
Tested-by: Felix Geyer <debfx@fobos.de>
Merge-request: !1080
2017-08-02 11:15:42 -04:00
Cristian Adam
eddbd62d0f FindBoost: pop policy stack before returning
CMake would give a fatal error if the policy stack was cleaned up
upon exiting the module.
2017-07-27 07:49:48 +10:00
Craig Scott
e42fa012b6 Allow early access version trailing string to be mixed case
The original regex was expecting to match strings like "ea", but it has
been reported that other strings like "Debian" are also possible.
2017-07-25 22:35:45 +10:00
Brad King
9d9085ab36 Merge branch 'ninja_cuda_export_compile_commands_support' into release-3.9 2017-07-13 11:40:08 -04:00
Robert Maynard
712af07e47 CUDA: CMAKE_EXPORT_COMPILE_COMMANDS now works with CUDA and Ninja
Fixes: #17061
2017-07-13 11:23:16 -04:00
Brad King
4bafa3922e Android: Always add standard include directories last
The logic added in commit v3.6.0-rc1~30^2 (Add a variable to specify
language-wide system include directories, 2016-05-24) to use
`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` incorrectly filters them by
`CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`.  Rather than recognizing
this, commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory
explicitly, 2017-01-20) worked around the problem by incorrectly
removing `/usr/include` from `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`
so it worked in `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`.

By not filtering out `/usr/include` from user-specified include
directories, we allow the code

    include_directories(${CMAKE_SYSROOT}/usr/include)

to place the include directory too early on the command line.

Fix support for standard include directories to not be filtered by
implicit include directories, and do not remove `/usr/include` from the
list of implicit include directories for Android builds.  Add a test
case to verify that an explicit `/usr/include` is ignored in favor
of the standard directory at the end.

Fixes: #17059
2017-07-13 10:03:58 -04:00
Brad King
e8e38aea26 Merge branch 'android-fix-c++_shared' into release-3.9 2017-07-12 08:39:55 -04:00
Brad King
e0fb3f314f Android: Link to android_support with c++_shared
The NDK has done this in `build/core/definitions.mk` since r13
(r12 and below do so only for c++_static).
2017-07-12 08:39:42 -04:00
Robert Dailey
796b8fcb14 FindDoxygen: Create DOXYGEN_OUTPUT_DIRECTORY if it doesn't exist
If the doxygen output directory does not exist, create it prior to
running the doxygen commands.
2017-07-06 10:00:28 -05:00
Robert Dailey
97a9a35607 FindDoxygen: Use a stable reference to the location of global resources
FindDoxygen generates some files based on the version of Doxygen whose
content will not vary across a project and are therefore a global
resource that can be shared by all calls to `find_package(Doxygen)` and
to `doxygen_add_docs`.  We currently use `${PROJECT_BINARY_DIR}` to
reference their location, but this is not stable because `project()`
calls in a subdirectory can change it.  Use `${CMAKE_BINARY_DIR}`
instead.

Reviewed-by: Craig Scott <craig.scott@crascit.com>
Fixes: #17022
2017-06-29 13:39:26 -05:00
Brad King
7f1fd07b19 Merge branch 'FindDoxygen-internal-var' into release-3.9 2017-06-27 10:48:30 -04:00
Brad King
d194bd915b FindDoxygen: Add private prefix to internal variables
Since commit v3.9.0-rc1~55^2 (Improve Doxygen support, 2017-04-10) we
accidentally leave a non-prefixed internal `result` variable set.
This may interfere with project code.  Add a prefix to avoid this.
2017-06-27 10:45:45 -04:00
Brad King
c24e665613 Merge branch 'GetPrerequisites-ucrt-no-warn' into release-3.9 2017-06-26 10:34:02 -04:00
Brad King
23451a66ac GetPrerequisites: Do not warn about non-absolute UCRT system libraries
Issue: #17007
2017-06-26 10:33:16 -04:00
Brad King
04b2fc08b4 GCC,Clang: Mark CMAKE_<LANG>_COMPILER_{AR,RANLIB} as advanced 2017-06-22 11:33:54 -04:00
Brad King
5ba09a75a2 Merge branch 'android-unified-headers' into release-3.9 2017-06-22 09:52:23 -04:00
Brad King
5d31793023 Android: Fix include path for unified headers
In commit v3.9.0-rc3~3^2 (Android: Add support for unified headers,
2017-06-12) we accidentally constructed the unified header include
directories from the linking sysroot.  Construct them from the
compiling sysroot instead.

Fixes: #16584
2017-06-22 08:28:44 -04:00
Brad King
61c1848cdc Merge branch 'ipo-per-lang' into release-3.9 2017-06-14 15:10:39 -04:00
Brad King
ba247ccaba IPO: Consider support for each language separately
We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and
Fortran languages.  Do not try to enable support for other languages.
Furthermore, each language builds with a different compiler, so check
for support by CMake and the compiler for each language independently.

Fixes: #16944
2017-06-14 10:36:57 -04:00
Brad King
fb99b0b87b Merge branch 'cuda-dlink-no-deprecated-gpu' into release-3.9 2017-06-13 09:17:06 -04:00
Robert Maynard
7368ade250 CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings
The CUDA compiler automatic deprecation warnings are pure noise when
doing device linking, and should be suppressed to reduce the amount of
confusion from users.
2017-06-13 09:15:19 -04:00
Brad King
70ec0f2ad1 Merge branch 'doc-pkgconfig-list' into release-3.9 2017-06-12 16:24:50 -04:00
Rolf Eike Beer
70a6cb70f6 FindPkgConfig: mention that variables will be ;-lists 2017-06-12 22:03:20 +02:00
Rolf Eike Beer
6610fdbed2 FindPkgConfig: fix confusing indentation 2017-06-12 22:03:20 +02:00
Brad King
3d00be13ee Android: Add support for unified headers
The unified headers are preferred as of NDK r15, so use them by default
if available and provide an option to use the deprecated headers.

Inspired-by: Florent Castelli <florent.castelli@gmail.com>
Fixes: #16584
2017-06-12 11:47:30 -04:00
Brad King
a131316a95 Merge branch 'android-standalone-no-sysroot-include' into release-3.9 2017-06-09 16:42:13 -04:00
Brad King
22f8a465d7 Android: Do not pass sysroot include for standalone toolchain
The change in commit v3.8.0-rc1~60^2 (Android: Pass sysroot include
directory explicitly, 2017-01-20) does not make sense when compiling
with a standalone toolchain which is tied to a single API version.
Drop the explicit include directory so that the compiler uses its
default system include order.

Fixes: #16954
2017-06-09 16:28:32 -04:00
Brad King
f83d3e3f2c Merge branch 'android-standalone-unified-api-level' into release-3.9 2017-06-09 14:20:09 -04:00
Brad King
5f93bf787d Android: Detect API version of standalone toolchain with unified headers
A standalone toolchain with unified headers keeps the `__ANDROID_API__`
macro in the `bin/clang` launcher instead of in `api-level.h`.

Issue: #16954
2017-06-09 14:19:52 -04:00
Brad King
522c92d752 FindDoxygen: Create imported targets at most once in a given scope
The imported targets added by commit v3.9.0-rc1~55^2 (Improve Doxygen
support, 2017-04-10) need to be guarded against duplicate creation on
multiple inclusion.
2017-06-09 10:03:26 -04:00
Konstantin Podsvirov
893ee1b17c FindDoxygen: Restore DOXYGEN_DOT_FOUND variable
The changes in commit v3.9.0-rc1~55^2 (Improve Doxygen support,
2017-04-10) accidentally dropped this variable from its compatibility
mode.
2017-06-07 12:51:06 -04:00
Brad King
2d3d88f3bb Merge topic 'GoogleTest-disabled-tests'
92bbb706 GoogleTest: Add support for disabled tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !920
2017-06-05 10:16:39 -04:00
Chuck Atkins
92bbb70695 GoogleTest: Add support for disabled tests
Fixes: #10612
2017-06-05 10:11:08 -04:00
Brad King
860db083ca Merge topic 'add-common-record-features-macros'
3c1ecb52 Intel: Fix missing C std default for 12.0 <= ver < 12.1
f70b0bb3 SunPro: Make sure all known versions get CXX98 defaults
220ede74 GNU: Fix language defaults for 3.4
a40e6ba8 Clang: Fix language defaults for 2.1
9b112a84 Compilers: Port to use default cmake_record_lang_compile_features macros
37221529 MSVC: Add empty definitions for std compile options
e556f1b9 CompileFeatures: Makes tests work with meta-feature only
20ffa147 Tests: Allow test macro to take no executable arguments
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !833
2017-06-01 13:40:47 -04:00
Chuck Atkins
3c1ecb5214 Intel: Fix missing C std default for 12.0 <= ver < 12.1 2017-05-31 13:09:49 -04:00
Chuck Atkins
f70b0bb365 SunPro: Make sure all known versions get CXX98 defaults 2017-05-31 13:09:42 -04:00
Silvio Traversaro
78841f27e3 FindGSL: recognize libraries name with debug postfix as debug libraries
This modification is necessary if the GSL libraries are installed
in an installation layout without Release and Debug subdirectories,
for example when installed by vcpkg .
2017-05-31 15:01:49 +02:00
Chuck Atkins
220ede74ff GNU: Fix language defaults for 3.4 2017-05-30 09:35:06 -04:00
Chuck Atkins
a40e6ba88d Clang: Fix language defaults for 2.1 2017-05-30 09:35:06 -04:00
Chuck Atkins
9b112a848a Compilers: Port to use default cmake_record_lang_compile_features macros 2017-05-30 09:34:36 -04:00
Chuck Atkins
37221529c7 MSVC: Add empty definitions for std compile options
There are no specific options for MSVC to set language standards, but
set them as empty strings anyways so the feature test infrastructure
can at least check to see if they are defined.
2017-05-29 13:51:54 -04:00
Chuck Atkins
5bb7429166 Compilers: Add default cmake_record_{c,cxx}_compile_features macros
Add default implementations for the cmake_record_lang_compile_features
macros.  All implementations of this are the same so it can be safely
factored out to a common implementation.
2017-05-29 12:33:42 -04:00
Brad King
d375618921 Merge topic 'sunpro-std-flags'
370d0d25 SunPro: update flags used for CMake itself
f1f21e30 SunPro: set -library=stlport as standard compile option for C++98
9316120c SunPro: add standard compile option for C++03
783fbb77 Tests: Compile entire Plugin test with the same language standard

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !879
2017-05-28 09:22:33 -04:00
Brad King
ff1563199c Merge topic 'intel-std-flags'
fc51b92c Intel: avoid variables in language standard flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !894
2017-05-28 09:21:43 -04:00
Brad King
f9ea6247c1 Merge topic 'FindBoost-use-IN_LIST'
cc329a01 FindBoost: Simplify search in lists.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !750
2017-05-28 09:12:04 -04:00
Brad King
5a0fa11fec Merge topic 'autogen_config'
e3e692ca Autogen: Test adaptions
dbda5906 Autogen: Per-config file suffixes. New AUTOGEN_BUILD_DIR target property.
0965002e Autogen: Pass build directory in Info file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !858
2017-05-28 09:11:33 -04:00