Commit Graph

32081 Commits

Author SHA1 Message Date
Yury Zhuravlev f8d4e3d7f8 bindexplib: Export symbols from objects even with explicit markup
Drop our `HaveExportedObjects` check before dumping exports for an
object file.  It is possible for only a subset of needed symbols to have
explicit markup, and re-exporting the marked symbols does not hurt.

This leaves no callers of `HaveExportedObjects`, but leave the
method in place anyway because it may be useful in the future.

Fixes #16161.
2016-07-05 15:19:56 -04:00
Brad King b1883bc8b7 Merge topic 'try_compile-config-flags'
d582c23a try_compile: Add policy CMP0066 to honor CMAKE_<LANG>_FLAGS_<CONFIG>
2016-06-30 09:47:41 -04:00
Brad King 2bef377427 Merge topic 'refactor-auto_ptr'
b5ec5b09 Avoid using KWSys auto_ptr by adopting it ourselves
2016-06-30 09:47:38 -04:00
Brad King 21afc0291e Merge topic 'update-liblzma'
60212979 Merge branch 'upstream-liblzma' into update-liblzma
e4d39146 liblzma 2014-12-21 (265e5ffb)
d4f52404 liblzma: Revise update script to get version 5.0.8
bf969198 Merge branch 'upstream-liblzma' into update-liblzma
ca4276e4 liblzma: Remove CMake-specific README
d38a37ea liblzma 2013-06-30 (b69900ed)
ec8f744a Add script to update liblzma from upstream
2016-06-30 09:47:33 -04:00
Brad King b399d13568 Merge topic 'CM_OVERRIDE-cmTypeMacro'
4e8480db cmTypeMacro: mark overridden functions with CM_OVERRIDE
2016-06-30 09:47:31 -04:00
Brad King 0639e23920 Merge topic 'CM_OVERRIDE-clang'
3f77655d CM_OVERRIDE: fix feature test for clang
2016-06-30 09:47:28 -04:00
Kitware Robot 2c759971e4 CMake Nightly Date Stamp 2016-06-30 00:01:07 -04:00
Brad King 108c665877 Merge branch 'release' 2016-06-29 13:25:21 -04:00
Brad King 60212979ea Merge branch 'upstream-liblzma' into update-liblzma
* upstream-liblzma:
  liblzma 2014-12-21 (265e5ffb)
2016-06-29 10:14:03 -04:00
liblzma upstream e4d3914639 liblzma 2014-12-21 (265e5ffb)
Code extracted from:

    http://git.tukaani.org/xz.git

at commit 265e5ffb70d9c175b424621576294d28807efd9b (v5.0.8).
2016-06-29 10:08:26 -04:00
Brad King d4f524040e liblzma: Revise update script to get version 5.0.8 2016-06-29 10:07:48 -04:00
Brad King bf96919806 Merge branch 'upstream-liblzma' into update-liblzma 2016-06-29 10:06:53 -04:00
Brad King ca4276e435 liblzma: Remove CMake-specific README
We will now manage the liblzma source tree updates using
the `Utilities/Scripts/update-liblzma.bash` script.  Drop
the README that covered the old method.
2016-06-29 10:06:16 -04:00
liblzma upstream d38a37ea15 liblzma 2013-06-30 (b69900ed)
Code extracted from:

    http://git.tukaani.org/xz.git

at commit b69900ed0b2f914fc6c0a180dcb522dbe5b80ea7 (v5.0.5).
2016-06-29 10:02:54 -04:00
Daniel Pfeifer ec8f744a11 Add script to update liblzma from upstream 2016-06-29 10:01:33 -04:00
Brad King dd71ec2c93 CMake 3.6.0-rc4 2016-06-29 09:51:33 -04:00
Brad King 7808ba0852 Merge branch 'release' 2016-06-29 09:50:09 -04:00
Brad King b5ec5b0901 Avoid using KWSys auto_ptr by adopting it ourselves
Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to
our own implementation adopted from the KWSys auto_ptr implementation.
Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers
that do not warn about it.

Automate the client site conversions:

    git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \
      's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
2016-06-29 09:47:58 -04:00
Brad King d582c23a47 try_compile: Add policy CMP0066 to honor CMAKE_<LANG>_FLAGS_<CONFIG>
In the `try_compile` source file signature we propagate the caller's
value of `CMAKE_<LANG>_FLAGS` into the test project.  Extend this to
propagate `CMAKE_<LANG>_FLAGS_<CONFIG>` too instead of always using the
default value in the test project.  This will be useful, for example, to
allow the MSVC runtime library to be changed (e.g. `-MDd` => `-MTd`).
However, some projects may currently depend on this not being done,
so we need to activate the behavior using a policy.

This change was originally made by commit v3.6.0-rc1~160^2 (try_compile:
Honor CMAKE_<LANG>_FLAGS_<CONFIG> changes, 2016-04-11) but without the
policy and so had to be reverted during the 3.6 release candidate cycle.

Fixes #16174.
2016-06-29 09:11:02 -04:00
Brad King 8d79375818 Merge topic 'GenerateExportHeader-custom-content'
a9252441 Tests: Run clang-format on GenerateExportHeader code
2016-06-29 09:10:29 -04:00
Brad King a9252441b3 Tests: Run clang-format on GenerateExportHeader code 2016-06-29 09:09:54 -04:00
Brad King 5e2c638072 Merge topic 'cmliblzma-static'
f05f5b01 cmliblzma: always build as static library
2016-06-29 09:07:36 -04:00
Brad King cb93dc048f Merge topic 'GenerateExportHeader-custom-content'
843402b0 GenerateExportHeader: Add option to specify custom content
2016-06-29 09:07:33 -04:00
Brad King db4ba61f39 Merge topic 'revert-try_compile-config-flags'
943fe6e3 Revert "try_compile: Honor CMAKE_<LANG>_FLAGS_<CONFIG> changes"
2016-06-29 09:07:28 -04:00
Tobias Hunger 4e8480db54 cmTypeMacro: mark overridden functions with CM_OVERRIDE 2016-06-29 11:48:50 +02:00
Daniel Pfeifer 3f77655d06 CM_OVERRIDE: fix feature test for clang
Clang refuses to default initialize an instance of a class that does not
have a default constructor.  Fix the check by adding default
constructors.  Don't use brace initialization like it is proposed in the
error message.  We want to test the override support independent from
the support for brace initialization.
2016-06-29 11:33:38 +02:00
Kitware Robot b9b3ec4d98 CMake Nightly Date Stamp 2016-06-29 00:01:05 -04:00
Daniel Pfeifer f05f5b01d0 cmliblzma: always build as static library 2016-06-28 23:05:37 +02:00
Brad King e34c5543fa Merge branch 'revert-try_compile-config-flags' into release 2016-06-28 15:09:44 -04:00
Brad King 943fe6e3b4 Revert "try_compile: Honor CMAKE_<LANG>_FLAGS_<CONFIG> changes"
Revert commit v3.6.0-rc1~160^2 (try_compile: Honor
CMAKE_<LANG>_FLAGS_<CONFIG> changes, 2016-04-11).  The behavior it
introduced can break projects that depend on the lack of such behavior.
We will have to introduce a policy or other mechanism to enable the
behavior in a compatible way.  Simply revert it for now.

See issue #16174.
2016-06-28 15:03:45 -04:00
Brad King 843402b04a GenerateExportHeader: Add option to specify custom content 2016-06-28 09:43:52 -04:00
Brad King 4bbfea1751 Merge topic 'doc-cross-reference-lang-standard-and-extensions'
c6a077d6 Help: Cross reference CXX_STANDARD and CXX_EXTENSIONS (#16162)
2016-06-28 09:16:38 -04:00
Brad King eb6f81705a Merge branch 'doc-cross-reference-lang-standard-and-extensions' into release 2016-06-28 09:15:25 -04:00
Gregor Jasny c6a077d698 Help: Cross reference CXX_STANDARD and CXX_EXTENSIONS (#16162) 2016-06-28 09:14:00 -04:00
Brad King f913121758 Merge topic 'compiler-features'
059a6ca0 Merge branch 'unknown-aliased-target' into compiler-features
1d6909a2 use CM_NULLPTR
b4b73f56 cxx features: add check for nullptr
a7a92390 mark functions with CM_OVERRIDE
9e2d6f0c CM_OVERRIDE: mark destructor overridden in the feature test.
2ca76a66 Validate target name in ALIASED_TARGET property getter
2016-06-28 09:06:39 -04:00
Brad King f23d846a97 Merge topic 'FindHDF5-handle-unsuffixed'
234deec2 FindHDF5: create all the *_LIBRARIES when using hdf5-config.cmake
963b576f FindHDF5: cache the correct path to the high level libraries
9f2728ce FindHDF5: When component targets not found fallback to compiler wrappers
149539d9 FindHDF5: Handle HDF5 builds with non-suffixed components
f30b0fec FindHDF5: correctly add lang to each component target name.
2016-06-28 09:06:37 -04:00
Brad King 1b021a64f8 Merge topic 'ninja-no-rsp-for-rc'
15b3f6f0 ninja, rc: ignore CMAKE_NINJA_FORCE_RESPONSE_FILE for RC files
2016-06-28 09:06:34 -04:00
Brad King 059a6ca07a Merge branch 'unknown-aliased-target' into compiler-features 2016-06-28 09:03:00 -04:00
Daniel Pfeifer 1d6909a287 use CM_NULLPTR 2016-06-28 09:02:26 -04:00
Kitware Robot 7287893d41 CMake Nightly Date Stamp 2016-06-28 00:01:07 -04:00
Daniel Pfeifer b4b73f56a2 cxx features: add check for nullptr 2016-06-27 23:24:39 +02:00
Daniel Pfeifer a7a9239096 mark functions with CM_OVERRIDE 2016-06-27 23:24:38 +02:00
Daniel Pfeifer 9e2d6f0c4d CM_OVERRIDE: mark destructor overridden in the feature test.
This is important for two reasons:

1. A compiler might warn about a class that has a virtual member
function but no virtual destructor.  We don't want to treat the feature
as incomplete in this case.

2. MSVC10 supports the override identifier except on destructors.  In
this case, the feature really is incomplete and we want to detect it as
such.
2016-06-27 23:24:09 +02:00
Brad King e2c0363bd7 Merge branch 'release' 2016-06-27 14:39:25 -04:00
Brad King 76c66bf575 Merge branch 'ninja-no-rsp-for-rc' into release 2016-06-27 14:38:19 -04:00
Ben Boeckel 15b3f6f0f1 ninja, rc: ignore CMAKE_NINJA_FORCE_RESPONSE_FILE for RC files
In commit v3.6.0-rc1~174^2 (Ninja: Honor CMAKE_NINJA_FORCE_RESPONSE_FILE
for compile rules, 2016-04-06), Ninja learned to look for
`CMAKE_NINJA_FORCE_RESPONSE_FILE` in the current scope or the
environment in order to force response file usage for all compilation
rules.

However, on Windows, the RC compiler goes through cmcldeps which does a
`replace(output, output + ".dep.obj")` on the command line. However,
with a response file (which we name `output + ".rsp"`), the response
file path is replaced instead causing the compiler to (correctly)
complain that the response file `output + ".dep.obj.rsp"` does not
exist.

What needs to happen is for cmcldeps to look through the response file,
replace *its* contents and place it in the `output + ".dep.obj.rsp"`
file.

Also add a test which actually compiles an RC file into a library and
executable for all generators on Windows and additionally test
`CMAKE_NINJA_FORCE_RESPONSE_FILE` for Ninja generators.

Fixes #16167.
2016-06-27 14:34:06 -04:00
Brad King d3544d023b Merge topic 'compiler-features'
7647f6af Add CM_OVERRIDE to some functions
5286110d cxx features: add check for override
09aa2c94 Use <unordered_set> where available
ea5477e4 Make C++ feature checks extensible
2016-06-27 10:40:35 -04:00
Brad King 4adab7093a Merge topic 'ios-universal-fixes'
11c3a8dc CMakeIOSInstallCombined: add some sanity checks
aff1e77f CMakeIOSInstallCombined: do not merge content of OUTPUT and ERROR variables
2016-06-27 10:40:33 -04:00
Brad King fd36f4e024 Merge topic 'ninja-osx-content-on-target'
8bbd5db4 Ninja: Make bundle resources a dependency of their target
2016-06-27 10:40:30 -04:00
Brad King 9e073b8842 Merge topic 'doc-osx-versions'
00caa1dd Help: Describe VERSION and SOVERSION meanings for Mach-O binaries
2016-06-27 10:40:28 -04:00