Commit Graph

33279 Commits

Author SHA1 Message Date
Daniel Pfeifer e6380b11e9 Use std::auto_ptr on compilers that do not warn about it 2016-09-26 09:03:46 -04:00
Daniel Pfeifer 67480c05e3 Add a feature check to test availability of auto_ptr 2016-09-26 09:03:46 -04:00
Roman Wüger 06dea230ae CPack/NSIS: Add custom component install directory 2016-09-26 09:01:59 -04:00
Brad King b35568f3f9 Xcode: Add option to set Swift language version
Create a new CMAKE_Swift_LANGUAGE_VERSION variable to specify the
SWIFT_VERSION attribute in a generated Xcode project.  Ideally this
would be a `<LANG>_STANDARD` property but since Swift support is
very minimal we should reserve that property for more complete
treatment later.

Issue: #16326
2016-09-26 08:46:23 -04:00
Kitware Robot 63c25013b1 CMake Nightly Date Stamp 2016-09-26 00:01:04 -04:00
Gregor Jasny 540815eec2 Xcode: Convert maybe unversioned OSX sysroot into versioned SDK path
Starting with Xcode 8 the SDK folder also contains an unversioned
entry:

$ ls -l /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

drwxr-xr-x  5 root  wheel  170 Mar  4  2018 MacOSX.sdk
lrwxr-xr-x  1 root  wheel   10 Sep 16 20:49 MacOSX10.12.sdk -> MacOSX.sdk

If this unversioned path is used CMake cannot detect the SDK
version. To work around the problem we always invoke the code path
that translates short SDK names like "macosx10.12" into a path.
That way we always end up with a versioned SDK path in
_CMAKE_OSX_SYSROOT_PATH which is later used to determine the version.

Closes: #16323
2016-09-25 13:06:23 +02:00
Tatsuyuki Ishi 9bb8ac8ed2 FindBoost: update to 1.62 2016-09-25 16:53:03 +09:00
Kitware Robot 02277aef10 CMake Nightly Date Stamp 2016-09-25 00:01:04 -04:00
Domen Vrankar 1ef45a30aa Revert "CPack/DEB: Make package description variable precedence match RPM"
This reverts commit 332b089ad2 as multiline
descriptions require special formatting.
2016-09-24 12:05:06 +02:00
Kitware Robot 08147a7fea CMake Nightly Date Stamp 2016-09-24 00:01:04 -04:00
Daniel Pfeifer 92207752df cmServer: add braces around conditional statements 2016-09-23 22:43:36 +02:00
Daniel Pfeifer b941f3bfe7 CTest::CompressString: Avoid manual delete 2016-09-23 22:06:17 +02:00
Daniel Pfeifer a5a7771a42 CTest::CompressString: Reorder code to avoid unnecessary allocation 2016-09-23 22:04:47 +02:00
Daniel Pfeifer 6ed564577d CTest::Base64EncodeFile: Avoid manual delete 2016-09-23 22:03:49 +02:00
Brad King 49d50ad407 Xcode: Port rudimentary Swift support to Xcode 8
The `.pbxproj` file must now specify a `SWIFT_VERSION` value.
Set it to the legacy value of "2.3" for now.  Later this can
be made configurable (e.g. to "3.0").
2016-09-23 11:47:06 -04:00
Brad King b36408a092 FindMatlab: Add notes for topic 'FindMatlab-simulink' 2016-09-23 09:36:05 -04:00
Jamie Snape 7274fd9c19 FindMatlab: Add EXECUTABLE, MODULE, and SHARED options to matlab_add_mex 2016-09-23 09:28:27 -04:00
Jamie Snape ccd1341ac9 FindMatlab: Add SIMULINK component 2016-09-23 09:28:18 -04:00
Jamie Snape aaf4014c28 FindMatlab: Fix documentation 2016-09-23 09:28:09 -04:00
Brad King b66bc6606e Tests: Add Fortran submodule tests
Co-Author: Damian Rouson <damian@sourceryinstitute.org>
Issue: #16234
2016-09-23 08:51:06 -04:00
Brad King 6757e66089 Merge branch 'release' 2016-09-23 08:43:36 -04:00
Brad King 3a883a9f7d Merge topic 'ninja-fortran'
33058150 Help: Document Ninja generator conditional Fortran support
59aae292 Ninja: Add dyndep rules for Fortran module dependencies
39ebfc79 Ninja: Add explicit preprocessing step for Fortran
9a77680e Ninja: Conditionally allow Fortran based on ninja 'dyndep' support
0f331d78 Ninja: Add internal tool to produce a ninja dyndep file for Fortran
d3e0b64b Ninja: Add internal tool to scan Fortran code for module dependencies
8eca59a1 Ninja: Add comment with Fortran dependency design documentation
a57d1bb7 Ninja: Add API to check for dyndep support
0488ae63 Ninja: Refactor ninja feature detection
f0a23aa3 Ninja: Refactor Fortran rejection logic
2016-09-23 08:40:16 -04:00
Brad King 961536dc85 Merge topic 'CheckFortranSourceCompiles-custom-ext'
4d3874d5 CheckFortranSourceCompiles: Add support for custom source extension
86d2e427 CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo
2016-09-23 08:40:13 -04:00
Brad King c60fe33075 Merge topic 'test-Fortran-split'
eb8cd356 Tests: Split Fortran module testing into separate FortranModules test
a41c8724 Tests: Check if Fortran compiler supports F90
1ec5097d Tests: Use more generic variables in Fortran test
d7bd2efb Tests: Remove trailing line from Fortran/External
2016-09-23 08:40:10 -04:00
Brad King e9cae187c3 Merge topic 'fix-xcode-attribute-LOCATIONs'
764775c4 Fix XCODE_ATTRIBUTE_..._LOCATION target property lookup
2016-09-23 08:40:07 -04:00
Brad King aec5bf8edb Merge topic 'cmake-server-signals'
e22d30e2 server-mode: Allow for sending signals
cc576c2c server-mode: Pass server into cmServerProtocol
277ffa28 server-mode: Move constants for server mode into its own file
2016-09-23 08:40:03 -04:00
Brad King 0314f26412 Merge topic 'FindOpenSSL-path-order'
0d8c5ba4 FindOpenSSL: Search in more-specific directories before less-specific
2016-09-23 08:40:00 -04:00
Brad King 785f875426 Merge topic 'qtdialog-lib-paths'
48624b3c cmake-gui: Do not remove library paths for Qt5 plugins.
2016-09-23 08:39:56 -04:00
Brad King eb1524869c Merge branch 'qtdialog-lib-paths' into release 2016-09-23 08:11:13 -04:00
Kitware Robot d0a27ae998 CMake Nightly Date Stamp 2016-09-23 00:01:05 -04:00
Clinton Stimpson 48624b3cb8 cmake-gui: Do not remove library paths for Qt5 plugins.
Not removing library paths is necessary for QFileDialog to function correctly
on Linux when using Qt5.
2016-09-22 13:19:04 -06:00
Brad King eb8cd35684 Tests: Split Fortran module testing into separate FortranModules test
The main Fortran test is not granular enough.  Split some into another
test.
2016-09-22 14:52:01 -04:00
Brad King a41c8724d1 Tests: Check if Fortran compiler supports F90 2016-09-22 14:52:00 -04:00
Brad King 1ec5097d4d Tests: Use more generic variables in Fortran test 2016-09-22 14:52:00 -04:00
Brad King d7bd2efbc4 Tests: Remove trailing line from Fortran/External 2016-09-22 14:52:00 -04:00
Brad King 4d3874d5ad CheckFortranSourceCompiles: Add support for custom source extension
Fortran compilers interpret the source extension to decide whether
to preprocess and what language level to use by default.
2016-09-22 14:49:54 -04:00
Brad King 86d2e4276d CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo 2016-09-22 14:47:34 -04:00
Brad King 330581502a Help: Document Ninja generator conditional Fortran support
Closes: #14215
2016-09-22 13:53:10 -04:00
Brad King 59aae29214 Ninja: Add dyndep rules for Fortran module dependencies
Teach the Ninja generator to add dyndep rules and bindings as described
in the design comment in `Source/cmGlobalNinjaGenerator.cxx`.
2016-09-22 13:53:10 -04:00
Brad King 39ebfc79e6 Ninja: Add explicit preprocessing step for Fortran
All Fortran sources need to be preprocessed before any source may be
compiled so that module dependencies can be (later) extracted.  Factor
out an explicit preprocessing step preceding compilation.  Use Ninja
depfile dependencies on the preprocessing step and then compile the
already-preprocessed source with a separate build statement that depends
explicitly only on the preprocessor output.  Later we will insert
dynamic discovery of module dependencies between these steps.
2016-09-22 13:53:09 -04:00
Brad King 9a77680eed Ninja: Conditionally allow Fortran based on ninja 'dyndep' support
Detect from the version of Ninja whether it supports the dynamically
discovered dependencies (dyndep) feature needed to support Fortran.
2016-09-22 13:53:09 -04:00
Brad King 0f331d7893 Ninja: Add internal tool to produce a ninja dyndep file for Fortran
Create an internal `cmake -E cmake_ninja_dyndep` tool to read the "ddi"
files generated by `cmake -E cmake_ninja_depends` from all sources in a
target and generate a ninja dyndep file that tells Ninja about Fortran
module dependencies within the target and on target dependencies.
2016-09-22 13:52:57 -04:00
Brad King d3e0b64b14 Ninja: Add internal tool to scan Fortran code for module dependencies
Create an internal `cmake -E cmake_ninja_depends` tool to scan an
already-preprocessed Fortran translation unit for modules that it
provides or requires.  Save the information in a "ddi" file with a
CMake-private format for intermediate dynamic dependency information.
This file may the be loaded by another tool to be added later.
2016-09-22 13:52:30 -04:00
Brad King 8eca59a175 Ninja: Add comment with Fortran dependency design documentation 2016-09-22 13:52:03 -04:00
Brad King a57d1bb712 Ninja: Add API to check for dyndep support
Kitware maintains a branch of Ninja with support for dynamically
discovered dependencies (dyndep) that has not yet been accepted
upstream.  Add an internal API to check whether the Ninja version in use
for the build supports this feature.
2016-09-22 13:52:03 -04:00
Brad King 0488ae63ea Ninja: Refactor ninja feature detection
Check for features as soon as we know the ninja version.  Save the
results so we do not have to re-compare versions every time.
2016-09-22 13:52:02 -04:00
Brad King f0a23aa3db Ninja: Refactor Fortran rejection logic
Delay rejection of Fortran until after we've determined the version of
the `ninja` tool to be used.  This will later allow us to enable Fortran
support based on the version of ninja.

While at it, make the rejection an immediate fatal error.  Also provide
a stack trace so readers know what code tried to enable Fortran.
2016-09-22 13:51:58 -04:00
Brad King 764775c4dd Fix XCODE_ATTRIBUTE_..._LOCATION target property lookup
Refactoring in commit v3.5.0-rc1~272^2~16 (cmGeneratorTarget: Add API for
property keys, 2015-10-25) changed the Xcode generator implementation of
`XCODE_ATTRIBUTE_...` properties to use the target `GetProperty` method on each
`XCODE_ATTRIBUTE_...` property listed by `GetPropertyKeys` instead of looping
over the property entries directly.  This made the lookup of property names of
the form `XCODE_ATTRIBUTE_..._LOCATION` accidentally trigger the computed
property logic for the undocumented/legacy `<CONFIG>_LOCATION` property.  Of
course the computed property value is not the same as the value stored in the
`XCODE_ATTRIBUTE_..._LOCATION` property.  Fix the computed property logic to
avoid triggering on `XCODE_ATTRIBUTE_...` attributes.

Closes: #16319
2016-09-22 11:29:52 -04:00
Tobias Hunger e22d30e25a server-mode: Allow for sending signals
Enable the server to send signals.
2016-09-22 16:30:03 +02:00
Tobias Hunger cc576c2c7f server-mode: Pass server into cmServerProtocol
The information will be needed to send signals.
2016-09-22 16:30:02 +02:00