Commit Graph

6410 Commits

Author SHA1 Message Date
Mariusz Pluciński 0a785eb4f4 Features: Clang has no cxx_decltype_incomplete_return_type in MSVC sim mode 2016-03-10 09:11:40 -05:00
Mariusz Pluciński 2c2ec4883b VS: in Clang/C2 toolset, setup correct compiler settings 2016-03-10 09:11:39 -05:00
Mariusz Pluciński 37afe00faa CMakeDetermineCompilerId: Add detection of clang.exe bundled with VS
When using a clang toolset we need to find `clang.exe` instead of
`cl.exe`.
2016-03-10 09:11:36 -05:00
Brad King b42866a34a Drop Visual Studio 6 generator
This generator has been deprecated since CMake 3.3.  Remove it.
Update documentation, modules, and tests to drop content specific
to this generator.
2016-03-09 09:42:18 -05:00
O. Libre 1b029ea91f FindJNI: Append path only "if(EXISTS" 2016-03-09 08:55:13 -05:00
O. Libre add2557865 FindJNI: Add support for Ubuntu 15.10
- Reuse JAVA_APPEND_LIBRARY_DIRECTORIES for JAVA_AWT_INCLUDE_DIRECTORIES
- Append three directories /usr/lib/jvm/java-{8,7,6}-openjdk-{libarch}
2016-03-09 08:55:13 -05:00
Brad King 345d5926ee Merge topic 'deprecate-CMakeForceCompiler'
d929c35f CMakeForceCompiler: Deprecate this module and its macros
2016-03-09 08:50:04 -05:00
Brad King d1856e2e33 Merge topic 'add-FindLTTngUST'
a4194deb Add FindLTTngUST module to find LTTng-UST library
2016-03-09 08:50:01 -05:00
Jean-Christophe Fillion-Robin 63c4133b38 OS X: Use -iframework with Clang only on version >= 3.2
Since commit v3.1.0-rc1~564^2 (OS X: Use -iframework for system
framework directories, 2014-05-05) we test the version of Clang is smaller
that 3.1 to see if it supports -iframework.

Considering that "iframework" support has been added in clang@r142418
(Frontend: Support -iframework.) prior to clang 3.1, this made sense.

That said, considering that support for multiple -iframework parameters
has been added later in clang@r164607 (-iframework should allow separate
arguments. ) prior to clang 3.2, this commit updates the check to enable
framework support only if version is >= 3.2
2016-03-09 08:37:29 -05:00
Brad King d929c35f08 CMakeForceCompiler: Deprecate this module and its macros
We originally deprecated this module in commit v3.5.0-rc1~295^2
(CMakeForceCompiler: Deprecate this module and its macros, 2015-10-19).
Then a use case was found to still require the module so the deprecation
was reverted for CMake 3.5 by commit v3.5.0-rc3~4^2 (CMakeForceCompiler:
De-deprecate until more use cases have alternatives, 2016-02-17).  Since
then `CMAKE_TRY_COMPILE_TARGET_TYPE` was introduced to provide an
alternative solution for that use case.  Deprecate the module again.
2016-03-08 10:42:28 -05:00
Brad King 37e8ccee54 GetPrerequisites: Fix gp_resolved_file_type on non-canonical paths
Canonicalize the input paths so we treat them both consistently,
in particular when comparing them via string operations.  This
is needed for calls like

    fixup_bundle("${CMAKE_INSTALL_PREFIX}/../test" ...)

Suggested-by: Benjamin Ballet <bballet@ivsweb.com>
2016-03-08 09:08:54 -05:00
Brad King b14fe5c176 Merge topic 'doc-find-python-call-order'
743f2a80 FindPython{Interp,Libs}: Clarify recommended call order
2016-03-08 08:39:35 -05:00
Antonio Perez Barrero a7b09e7f43 FindProtobuf: Rename variables to match case of module name
Use recommended case for variable names. i.e. matching name of the
module as passed to `find_package`.

For backwards compatibility, the upper case versions of both input and
output variables are used and defined when appropriate.  Skip this for
the _FOUND variable because FPHSA already does it.  Skip this for the
_VERSION variable because that was recently added and never available
with the old name in a release of CMake.
2016-03-07 12:56:25 -05:00
Philippe Proulx a4194debea Add FindLTTngUST module to find LTTng-UST library
Also detect the library version number.  Provide results as variables
and as an imported target, LTTng::UST.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
2016-03-07 11:46:49 -05:00
Brad King 0e02c69170 Merge branch 'doc-find-python-call-order' into release 2016-03-07 11:03:50 -05:00
Brad King 743f2a8031 FindPython{Interp,Libs}: Clarify recommended call order
Improve wording in our advice about how to call both of these modules.
2016-03-07 10:56:31 -05:00
Brad King 8256d021c8 Merge topic 'BundleUtilities-dylib-in-framework'
3906ca5a BundleUtilities: Fix regression handling frameworks
2016-03-07 10:02:47 -05:00
Clinton Stimpson 3906ca5af4 BundleUtilities: Fix regression handling frameworks
Fix logic error introduced in commit e422f738 (BundleUtilities: Fix
treatment of .dylib inside .framework folders, 2016-02-11).
2016-03-07 09:30:18 -05:00
Marc Chevrier d4482dd9c9 CPackWIX: Support binary-only WiX installations
Also fix URLUPDATEINFO -> ARPURLUPDATEINFO reference
in CPACK_WIX_PROPERTY_<PROPERTY> examples.

Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
2016-03-01 09:50:46 +01:00
Brad King 6b0a664c16 Merge topic 'compiler-check-message'
f3ac0651 Improve compiler check message on non-Make generators
2016-02-26 10:31:32 -05:00
Brad King f3ac06519f Improve compiler check message on non-Make generators
When we check for a working compiler we print a message of the form:

    Check for working <LANG> compiler: ...

At one time CMAKE_<LANG>_COMPILER was not well-defined for all
generators so we printed the generator name instead of the path to
the compiler.  Nowadays we always know the compiler, so update the
message to print it unconditionally.  This is more informative than
the generator name, especially when a toolset (cmake -T) is used.

Suggested-by: Gregor Jasny <gjasny@googlemail.com>
2016-02-25 08:29:41 -05:00
Alex Neundorf 6ee6b17ed5 Eclipse: add newer version numbers
Alex
2016-02-24 21:07:45 +01:00
Brad King 2039bf40e4 Merge topic 'CodeBlocksParallelFlag'
84ccd4f7 CodeBlocks: generate parallel project files (make -j)
2016-02-24 09:39:25 -05:00
Alex Neundorf 84ccd4f746 CodeBlocks: generate parallel project files (make -j)
This is done the same way as for Eclipse: cmake tries to determine
the number of CPUs, and then adds the respective -jN to the make
invocations in the project file.

Alex
2016-02-23 22:37:44 +01:00
Florian Apolloner and John Knottenbelt b8263a2f8d CPack/Deb Create DEBIAN directory for dpkg-shlibdeps
If CMAKE_INSTALL_RPATH is set and contains $ORIGIN then
dpkg-shlibdeps searches for the DEBIAN directory in order
to resolve $ORIGIN in the rpath to a directory. We need to
create the DEBIAN directory for this to work.
2016-02-19 01:27:36 +01:00
Brad King e503941adb Merge topic 'de-deprecate-CMakeForceCompiler'
beaa4fa5 CMakeForceCompiler: De-deprecate until more use cases have alternatives
2016-02-18 10:08:03 -05:00
Brad King 1b369aa285 Merge topic 'FindCUDA-verbatim'
1911cda0 FindCUDA: Fix regression under Visual Studio generators
2016-02-18 10:07:58 -05:00
Brad King 3dd420bd90 Merge branch 'FindCUDA-verbatim' into release 2016-02-17 15:25:44 -05:00
Brad King 1911cda03e FindCUDA: Fix regression under Visual Studio generators
Since commit v3.5.0-rc1~47^2 (FindCUDA: Support special characters in
path, 2016-01-15) our add_custom_command calls use VERBATIM so that
CMake will automatically quote special characters correctly.  However,
this breaks the special `$(VCInstallDir)` placeholder used with Visual
Studio generators.  Since we do not support preservation of such
placeholders with VERBATIM (see issue #15001) we must fall back to not
using VERBATIM when the placeholder is used.

A better fix would be to stop using `$(VCInstallDir)` and use the value
of `CMAKE_${CUDA_C_OR_CXX}_COMPILER` instead, but that will require
additional semantic and documentation changes.  For now simply fix the
regression with the above approach.

Reported-by: Stephen Sorley <Stephen.Sorley@jhuapl.edu>
2016-02-17 15:20:56 -05:00
Brad King ed1b3430fc Merge topic 'FindwxWidgets-msys2-paths'
bf643286 FindwxWidgets: Resolve Cygwin/MSYS paths to Windows paths
2016-02-17 10:25:31 -05:00
Brad King beaa4fa5dd CMakeForceCompiler: De-deprecate until more use cases have alternatives
We deprecated this module in commit v3.5.0-rc1~295^2
(CMakeForceCompiler: Deprecate this module and its macros, 2015-10-19)
in order to determine whether anyone still has use cases that require
it.  Indeed we still need to provide a way to work with toolchains that
cannot link binaries without special flags.  Remove the deprecation
warnings until we can provide an alternative to the module for this use
case.
2016-02-17 09:15:18 -05:00
Wayne Stambaugh bf643286d3 FindwxWidgets: Resolve Cygwin/MSYS paths to Windows paths
We use `sh wx-config` to launch the `wx-config` tool so that it can run
even on Windows.  Since it is always a shell script its output may use
POSIX paths even on Windows.  Use `cygpath` to convert to Windows paths.
2016-02-17 08:52:56 -05:00
Antonio Perez Barrero bb7a41ab9b FindProtobuf: check version
Check found libraries version to match user required version.

Protobuf compiler executable version is checked to be aligned with found
libraries, raising a warning message otherwise.
2016-02-16 10:09:39 -05:00
Domen Vrankar 7c7efd1ed9 CPack/RPM support for upper cased component variables
CPACK_* variables expect component name in upper case.
CPACK_RPM_* variables expected component name to be
in same case as component name.
This patch adds support for CPACK_RPM_* variables with
upper case component names to match the convention with
CPACK_* variables and also preserves same case component
names for back compatibility.
2016-02-13 02:09:32 +01:00
Brad King 86d2f32525 Merge topic 'BundleUtilities-dylib-in-framework'
e422f738 BundleUtilities: Fix treatment of .dylib inside .framework folders
2016-02-12 09:03:57 -05:00
Brad King 10f03d1baa Merge topic 'FindProtobuf-select-library-config'
51b0501a FindProtobuf: prevent redundant PROTOBUF_LIBRARIES
2016-02-12 09:03:54 -05:00
Brad King 08ccb837c3 Merge topic 'doc-FortranCInterface-variables'
4f3f75a2 FortranCInterface: Document mangling result variables publicly
47f24cbc FortranCInterface: Improve documentation formatting and organization
9d1f40cc FortranCInterface: Convert docs to a bracket comment
2016-02-11 10:41:13 -05:00
Christian Askeland e422f738e4 BundleUtilities: Fix treatment of .dylib inside .framework folders
The specific cause is when e.g.

    /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgio-2.0.0.dylib

is detected by fixup_bundle.  set_bundle_key_values() interprets this as
a framework, thus doing a string replace that creates an embedded_item
that is equal to the original path, i.e. it is not embedded.
2016-02-11 08:49:06 -05:00
Antonio Perez Barrero 51b0501a7f FindProtobuf: prevent redundant PROTOBUF_LIBRARIES
Before this change, the variable PROTOBUF_LIBRARIES might get redundant
value for debug and optimized configurations, e.g.
`optimized;/usr/lib/libprotobuf.so;debug;/usr/lib/libprotobuf.so`.
2016-02-11 08:45:41 -05:00
Brad King 4f3f75a246 FortranCInterface: Document mangling result variables publicly
Some projects may want to use the detailed mangling information
directly instead of using the FortranCInterface_HEADER function.
We already provide variables encoding the mangling information,
so just document them as available.
2016-02-10 10:35:48 -05:00
Brad King 47f24cbcca FortranCInterface: Improve documentation formatting and organization
Organize content into sections.  Define functions via explicit markup
blocks so we can cross-reference them.
2016-02-10 10:33:25 -05:00
Zack Galbreath 062045b8b6 More options for CTestCoverageCollectGCOV
This commit introduces two new options to CTestCoverageCollectGCOV.

When GLOB is set we recursively search in the source & binary
directories for .gcda files.  Otherwise the default behavior is to
parse TargetDirectories.txt for a list of locations to search.

When DELETE is set we remove any .gcda file found after it has
been used to generate the corresponding .gcov file.  The .gcov
file is also removed after the result tarball has been created.

Together these two new features help support the use case of
computing coverage across subprojects.
2016-02-10 10:12:01 -05:00
Brad King 9d1f40ccc1 FortranCInterface: Convert docs to a bracket comment
Use a bracket comment to hold the documentation instead of a block of
line comments.  This will make further updates easier.
2016-02-10 09:54:36 -05:00
Brad King 16f83f648a Merge topic 'FindCUDA.cmake/FixNonExistantDependencyFile'
e739ef7b FindCUDA: Only warn about non-existent dependency files in verbose mode
2016-02-09 10:10:25 -05:00
Brad King 778fda1e92 Merge topic 'apple-isystem-gcc'
5b04aa31 Xcode: Disable test for system include dirs
2cae5128 Apple: Enable -isystem for GNU Compiler >= 4 (#15953)
2016-02-09 10:10:18 -05:00
James Bigler e739ef7b66 FindCUDA: Only warn about non-existent dependency files in verbose mode 2016-02-08 13:38:28 -07:00
Brad King c1ee5166ad Merge topic 'FindCUDA.cmake/FixNonExistantDependencyFile'
81ecc726 FindCUDA: Added some additional comments about non-existent dependency files.
4b561b4c FindCUDA: Fix for when a non-existent dependency file is found.
2016-02-08 10:32:59 -05:00
Brad King 037738ac19 Merge topic 'ExternalProject-build-config-compat'
1b9d15c1 ExternalProject: Be compatible with projects setting CMAKE_CFG_INTDIR
2016-02-08 10:32:52 -05:00
Gregor Jasny 2cae5128fd Apple: Enable -isystem for GNU Compiler >= 4 (#15953)
Due to #4662 -isystem support was disabled for all GNU Compilers
on Apple platforms. But the change was probably a just work around
for a broken compiler on Tiger (see 10837#c27206). So we tighten
the condition to only kick in for GCC versions earlier than 4.
That should ensure sane behavior for Xcode 3.2 and later.
2016-02-07 20:20:02 +01:00
James Bigler 81ecc72637 FindCUDA: Added some additional comments about non-existent dependency files. 2016-02-05 14:50:29 -07:00
James Bigler 4b561b4cb5 FindCUDA: Fix for when a non-existent dependency file is found.
Previously if a non-existent dependency file is found we set the file to "" and
then do if(NOT IS_DIRECTORY "${file}").  Later we call get_filename_component
on the empty file which returns basically the current build directory.

Having a dependency on the current build directory is really annoying, because
anything that compiles into that directory will change the file stamp and
cause your files to rebuild every time you call make. :(
2016-02-05 14:32:01 -07:00
Brad King 1b9d15c1e7 ExternalProject: Be compatible with projects setting CMAKE_CFG_INTDIR
Since commit v3.5.0-rc1~32^2~1 (ExternalProject: Simplify `cmake
--build` configuration passing, 2016-01-19) we use the `$<CONFIG>`
generator expression to generate the `cmake --build . --config <config>`
value for the default BUILD_COMMAND instead of the CMAKE_CFG_INTDIR
placeholder value provided by multi-config generators.  However, some
projects have been abusing the old implementation detail by setting
CMAKE_CFG_INTDIR themselves to get a specific configuration.  Those
projects should be updated to set their own BUILD_COMMAND to get
non-default behavior.  Meanwhile we can be compatible with their
existing releases by detecting when CMAKE_CFG_INTDIR is not a
generator-provided placeholder and using its value instead.
2016-02-05 14:43:16 -05:00
Juhani Simola 99a9c7e51a IAR: Add support for using this compiler with the Ninja generator
The dependency flags require recent versions of `iccarm` and `iccavr`.
The multi-rule dependency generated with `--dependencies=m` does not
work well with Ninja, so use `--dependencies=ns` instead.
2016-02-03 14:35:06 -05:00
Brad King 5ee96fc272 Merge topic 'FindGit-updates'
fa78ee97 FindGit: Improve documentation formatting
facfb52c FindGit: Document Git_FOUND, unset internal var
2016-02-01 10:43:54 -05:00
Brad King fa78ee97ff FindGit: Improve documentation formatting 2016-01-27 09:26:27 -05:00
Christoph Grüninger facfb52c9f FindGit: Document Git_FOUND, unset internal var
* Git is called Git, not git.
* FindGit sets Git_FOUND, too.
* Unset internal variable git_names
2016-01-27 09:21:56 -05:00
Brad King 1053db7b0c UseJava: Fix documented name of `CLASSDIR` property (#15936)
It is not `CLASS_DIR`.
2016-01-26 09:27:21 -05:00
Brad King 9722f8f9a5 Merge topic 'FindBoost-1.61'
b94e855d FindBoost: Add support for Boost 1.61
2016-01-25 09:47:08 -05:00
Brad King ddb09ec8f9 Merge topic 'FindPNG-imported-targets'
9b08c623 FindPNG: Create an imported PNG::PNG target (#15911)
2016-01-22 09:25:33 -05:00
Brad King 666487a402 Merge topic 'fix-pkg_search_module-cache'
40249bcc FindPkgConfig: set standard variables in the cache
2016-01-22 09:25:27 -05:00
Sergei Nikulov b94e855d5f FindBoost: Add support for Boost 1.61 2016-01-22 08:35:04 -05:00
Sam Thursfield 9b08c62330 FindPNG: Create an imported PNG::PNG target (#15911)
Imported targets are now the recommended way of dealing with external
library dependencies.  Add one for FindPNG and update documentation
accordingly.  Also add a test case activated by CMake_TEST_FindPNG.
2016-01-21 13:58:15 -05:00
Brad King aaf06f2b0f Merge topic 'add-FindXalanC'
f9e45ab9 FindXalanC: New module to find the Apache Xalan-C++ library
2016-01-21 13:55:50 -05:00
Brad King 071c94eeac Merge topic 'ExternalProject-ctest-config'
ec00e89e ExternalProject: Fix TEST_BEFORE_INSTALL for multi-config generators
5d739a3c ExternalProject: Simplify `cmake --build` configuration passing
2016-01-21 13:55:44 -05:00
Brad King 184676532c Merge topic 'GetPrerequisites-ms-ucrt'
c8daac35 GetPrerequisites: Define api-ms-win-* files as system libraries (#15691)
2016-01-21 13:55:41 -05:00
Ben Boeckel 40249bccdf FindPkgConfig: set standard variables in the cache
Fixes a regression introduced when the code was simplified to use the
variable queries.

Fixes #15903.

Reported-by: Bernd Lörwald
2016-01-21 10:38:30 -05:00
Roger Leigh f9e45ab9d4 FindXalanC: New module to find the Apache Xalan-C++ library 2016-01-20 09:33:38 -05:00
Brad King ec00e89e83 ExternalProject: Fix TEST_BEFORE_INSTALL for multi-config generators
In multi-config generators we must tell `ctest` what configuration to
test.

Reported-by: Taylor Braun-Jones <taylor@braun-jones.org>
2016-01-20 08:36:30 -05:00
Brad King 5d739a3c84 ExternalProject: Simplify `cmake --build` configuration passing
Check CMAKE_CONFIGURATION_TYPES instead of CMAKE_CFG_INTDIR in order
to recognize multi-config generators.  Then use $<CONFIG> to pass
the configuration value.
2016-01-20 08:36:09 -05:00
Brad King 606ad1764e Merge topic 'java-updates'
18c3714f UseJava: Fix create_javah CLASSPATH handling on Windows
2016-01-20 08:33:32 -05:00
André Klitzing c8daac3556 GetPrerequisites: Define api-ms-win-* files as system libraries (#15691)
Suggested-by: Gilles Khouzam <gillesk@microsoft.com>
2016-01-19 15:05:31 -05:00
Marc Chevrier 18c3714f4f UseJava: Fix create_javah CLASSPATH handling on Windows
Preserve semicolons in the value.
2016-01-19 10:36:11 -05:00
Rob Gowin 53511936e4 FindPkgConfig: Quote ${_pkgconfig_path} to protect semicolons on Windows 2016-01-19 09:39:04 -05:00
Brad King f8f5315847 Merge topic 'FindPkgConfig-fix-restore'
8979a107 FindPkgConfig: Fix restoration of PKG_CONFIG_PATH in environment
2016-01-19 09:35:43 -05:00
Brad King 65146afc4e Merge topic 'ExternalProject-git-clone-o'
83d63391 ExternalProject: Add option to set `git clone -o` argument
2016-01-19 09:35:40 -05:00
Brad King 790959aa9d Merge topic 'FindCUDA-verbatim'
6ccc3070 FindCUDA: Support special characters in path (#15919)
2016-01-19 09:35:35 -05:00
Rob Gowin 8979a10700 FindPkgConfig: Fix restoration of PKG_CONFIG_PATH in environment
The original value is saved in `_pkg_config_path_old`.  Fix this typo
left by commit v3.1.0-rc1~763^2 (FindPkgConfig: Extend PKG_CONFIG_PATH
using CMake variables, 2014-03-06).
2016-01-15 15:12:34 -05:00
Adam Rankin 83d633919a ExternalProject: Add option to set `git clone -o` argument
Add a `GIT_REMOTE_NAME` option to `ExternalProject_Add` to support

  git clone --origin <name>

Default to `origin` if not specified.
2016-01-15 14:20:04 -05:00
Brad King 09b2f1c3f5 Windows: Find Program Files directories more robustly from environment
In Modules/Platform/WindowsPaths.cmake our previously recorded
environment variable combinations no longer seem to be correct.  For
example, a 64-bit cmake binary may see ProgramW6432 in the environment
and end up not considering the "ProgramFiles(x86)" variable.  Instead
check for all possible environment variables in the preferred order and
then remove duplicates.

Reported-by: Shawn Waldon <shawn.waldon@kitware.com>
2016-01-15 14:07:22 -05:00
Brad King 6ccc307053 FindCUDA: Support special characters in path (#15919)
Add `VERBATIM` to all `add_custom_command` calls so that CMake will
escape arguments properly even when special characters such as "()" are
present.

Suggested-by: Nils Gladitz <nilsgladitz@gmail.com>
2016-01-15 08:46:20 -05:00
Brad King 43a32bdff6 Merge topic 'FindDCMTK-update'
4b24626e FindDCMTK: Simplify documentation.
361c199f FindDCMTK: Add reStructuredText formatting.
d790f4fe FindDCMTK: Keep original copyright notice.
8c8e53d0 FindDCMTK: Minor documentation grammatical issues.
d50cbbb0 FindDCMTK: Obey QUIET option for find_package.
31b4700e FindDCMTK: Improve compatibility with DCMTKConfig.cmake.
2016-01-14 13:30:31 -05:00
Matt McCormick 4b24626e00 FindDCMTK: Simplify documentation. 2016-01-14 13:28:56 -05:00
Matt McCormick 361c199ff6 FindDCMTK: Add reStructuredText formatting. 2016-01-12 15:44:10 -05:00
Matt McCormick d790f4feea FindDCMTK: Keep original copyright notice.
This is a follow-up to 31b4700ed6.
Remove the extra character that was added to ensure the CMake.ModuleNotices
test passes.
2016-01-12 14:45:11 -05:00
Sam Thursfield 36d87e18a1 FindPkgConfig: add PREFIX/share/pkgconfig to PKG_CONFIG_PATH (#15910)
Most packages install their .pc files into PREFIX/lib/pkgconfig, but
some put them into PREFIX/share/pkgconfig. Either is valid, and
pkg-config itself looks in both for the /usr and /usr/local prefixes.

This fixes an issue where some packages (yajl, for example) are not
found if they are installed into a non-standard prefix and
CMAKE_PREFIX_PATH is used to locate them.
2016-01-12 13:42:17 -05:00
Matt McCormick 8c8e53d060 FindDCMTK: Minor documentation grammatical issues.
Also remove CTK integration reference to avoid confusion.
2016-01-12 12:25:15 -05:00
Brad King 3e4da61447 Merge topic 'FindwxWidgets-use-isystem'
4d05f195 FindwxWidgets: Drop suppression of -isystem
2016-01-12 10:23:10 -05:00
Matt McCormick d50cbbb03d FindDCMTK: Obey QUIET option for find_package. 2016-01-11 16:51:36 -05:00
Jean-Christophe Fillion-Robin 31b4700ed6 FindDCMTK: Improve compatibility with DCMTKConfig.cmake.
This improvement to the FindDCMTK module improves compatibility with recent
DCMTK, which provides a DCMTKConfig.cmake file. See the module comments for a
compatibility matrix.

It also provides DCMTK_INCLUDE_DIRS.

Ported from CommonTK (commontk.org).
2016-01-11 16:51:24 -05:00
Brad King 4d05f195d9 FindwxWidgets: Drop suppression of -isystem
This was added by commit v2.8.0~2292 (... Set variable
wxWidgets_INCLUDE_DIRS_NO_SYSTEM on the Mac ..., 2008-04-16) and updated
by commit v2.8.9~183^2 (FindwxWidgets: Do not use -isystem on OpenBSD,
2012-05-14).  Since the underlying cause was never investigated fully we
do not know the conditions under which -isystem breaks wxWidgets, but
suppressing -isystem is problematic for users that do not want to see
warnings in wxWidgets headers.  Simply drop the special case for now so
we can see whether anyone hits the problem again, at which point it can
be investigated in more detail.

Reported-by: Simon Wells <swel024@gmail.com>
2016-01-11 16:26:24 -05:00
Brad King 3baca6364b Record compile features for MinGW Clang on Windows (#15897)
Drop the 'UNIX' condition on Clang compiler features.  This enables
use of compile features with MinGW Clang, though additional work may
be needed for clang-cl.
2016-01-11 10:13:18 -05:00
Brad King 2b48f63ce3 FindBLAS: Fix pattern matching on BLAS vendor name
The if(STREQUAL) expressions do not support globbing expressions.
Use regular experssions with MATCHES instead.

Reported-by: Yahui Wang <youngqv@foxmail.com>
2016-01-08 11:48:02 -05:00
Brad King 0296089291 Merge topic 'cray-prgev-cleanup'
64e26850 CrayPrgEnv: Cleanup binaries from implicit compile flag detection
2016-01-07 13:28:18 -05:00
Brad King 1c646e4839 Merge topic 'vs-compiler-id-itanium'
d9bf5206 CMakeDetermineCompilerId: Fix VS Itanium platform name (#15889)
2016-01-07 13:28:14 -05:00
Chuck Atkins 64e26850fc CrayPrgEnv: Cleanup binaries from implicit compile flag detection 2015-12-29 10:21:07 -07:00
Brad King 3768a79c23 Merge topic 'fix-absolute-libs-for-cray-wrappers'
928d2085 CrayPrgEnv: Don't use absolute paths for imlicit libraries
2015-12-21 09:41:02 -05:00
Brad King d9bf5206d0 CMakeDetermineCompilerId: Fix VS Itanium platform name (#15889)
VS expects the platform to be just `Itanium`, so drop the incorrect
special case mapping it to `ia64`.  This platform name has been wrong
since the logic was added by commit v2.8.10~148^2~8 (VS: Detect the
compiler id and tool location, 2012-08-16).
2015-12-21 09:34:16 -05:00
Brad King f9e3ca46cb Merge topic 'release-wix-config-ng'
24cdb9df CMake: Mimic NSIS options dialog in WiX installer
de77d4a7 CPackWIX: Allow multiple patch files and diagnose if any are missing
38d723b3 CPackWIX: Allow patching of shortcut components
2015-12-18 10:55:35 -05:00
Chuck Atkins 928d2085d8 CrayPrgEnv: Don't use absolute paths for imlicit libraries
When parsing implicit include dirs, link dirs, and link libs, all
arguments are resolved to absolute paths instead of relative paths.
This is correct for link and include directories but link libraries
should only include the library name, not it's path.
2015-12-18 09:27:55 -06:00
Brad King 5ffdd37b7f Merge topic 'boost-1.60'
0a31fdab FindBoost: Add support for Boost 1.60
2015-12-18 10:12:44 -05:00
Brad King 83a1f0a99b Merge topic 'BundleUtilities-fix-osx-rpath'
a479d7a0 BundleUtilities: Fix handling of multiple RPATHs from OS X otool
2015-12-18 10:12:38 -05:00
Roger Leigh 0a31fdabec FindBoost: Add support for Boost 1.60 2015-12-17 21:46:58 +00:00
Emilie Harquel a479d7a0ae BundleUtilities: Fix handling of multiple RPATHs from OS X otool
The `otool` command may return multiple RPATH entires, so call
`gp_append_unique` for each one.  Otherwise we may try to ask
`install_name_tool` to deal with the same entry twice.
2015-12-17 10:56:27 -05:00
Matthias Maennich e8b148318f CMakeParseArguments: replace by native cmake_parse_arguments command
Implement a native `cmake_parse_arguments` command that is fully
compatible with the documented behaviour of the previous implementation.
Leave the CMakeParseArguments module empty but existing for
compatibility.
2015-12-17 10:44:28 -05:00
Brad King 2913876c58 Merge topic 'FindOpenGL-no-osx-AGL'
08580be2 FindOpenGL: Don't add AGL to OPENGL_LIBRARIES on OS X.
2015-12-17 09:55:11 -05:00
Nils Gladitz de77d4a741 CPackWIX: Allow multiple patch files and diagnose if any are missing
CPACK_WIX_PATCH_FILE now accepts a list of patch files.
An error will now be produced if any of the patch files is missing.

Previously this would be silently ignored.
2015-12-14 23:28:42 +01:00
Brad King 22ccae1d68 Merge topic 'FindProtobuf-fix-case'
2908103d FindProtobuf: Set Protobuf_FOUND in addition to PROTOBUF_FOUND
2015-12-14 10:00:05 -05:00
Brad King c952f2b424 Merge topic 'FindGTest-imported-targets'
f0b5ce7f Help: Add notes for topic 'FindGTest-imported-targets'
99afe235 Tests: Add tests for FindGTest
611735e7 FindGTest: Add imported targets and update documentation
2015-12-14 10:00:02 -05:00
Brad King 09da79b40f Merge topic 'fix-CMP0065-NEW-AIX-HP'
f254276f AIX,HP-UX: Fix RPATH handling when CMP0065 is set to NEW
2015-12-14 09:59:58 -05:00
David Gobbi 08580be2ad FindOpenGL: Don't add AGL to OPENGL_LIBRARIES on OS X.
CMake had been setting OPENGL_glu_LIBRARY to AGL.framework, even
though AGL is not GLU.  AGL is simply the GL component for the
deprecated Carbon framework.  GLU is provided by OpenGL.framework.

A side effect of the old behavior was that if AGL was not found
(it is absent from OS X SDK 10.10 or later), then OPENGL_GLU_FOUND
would be incorrectly set to "NO".
2015-12-14 09:46:32 -05:00
Sebastian Schuberth 2908103d04 FindProtobuf: Set Protobuf_FOUND in addition to PROTOBUF_FOUND
All other modules use their module name (e.g. XxX for FindXxX.cmake) in
find_package_handle_standard_args. Protobuf used all-caps, which triggers
a bug when we try to find Protobuf with the CMakeFindDependencyMacro.cmake
macro, which only checks for the mixed-case _FOUND.
2015-12-11 10:03:22 -05:00
Brad King a680211ca7 Merge topic 'ios-universal'
565d080a Xcode: Add support for combined install on iOS
34f5ef56 iOS: Fix App Bundle layout
2015-12-11 09:47:18 -05:00
Brad King 198e7df97e Merge topic 'FindOpenMP-clang'
1549927d FindOpenMP: Add Clang support
2015-12-11 09:43:51 -05:00
Brad King a9e8b123de Merge branch 'fix-CMP0065-NEW-AIX-HP' into release 2015-12-11 09:36:30 -05:00
Marc Chevrier f254276fc1 AIX,HP-UX: Fix RPATH handling when CMP0065 is set to NEW
The CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS setting has always been meant
for flags needed to export symbols from executables for use by shared
library plugins.  Since commit v3.4.0-rc1~58^2~1 (CMP0065: Restrict the
use of CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS, 2015-08-24) this is made
explicit by using the flags only for executables with ENABLE_EXPORTS,
guarded by CMP0065 for compatibility.

On some platforms we were accidentally using this setting to pass other
flags to the linker:

* AIX: -bnoipath, -brtl
* HP-UX: +s, +nodefaultrpath

These flags are incorrectly dropped when CMP0065 is set to NEW.  Fix
this by moving the flags to more appropriate places for linking
executables.
2015-12-11 09:21:47 -05:00
Roger Leigh 611735e76e FindGTest: Add imported targets and update documentation 2015-12-10 23:09:08 +00:00
Ruslan Baratov 565d080a9a Xcode: Add support for combined install on iOS
This patch solves the problem of installing both: Device and Simulator
libraries on iOS. Before only one of them was installed.

If the IOS_INSTALL_COMBINED property is set on a target, a
special install hook will be activated which builds the corresponding
target and combines both at the install location.

The original patch was contributed by Ruslan Baratov, and polished by
Gregor Jasny.
2015-12-10 22:36:12 +01:00
Chris Pavlina 1549927d7d FindOpenMP: Add Clang support 2015-12-10 14:19:35 -05:00
Brad King 39abbaed77 FindOpenAL: Detect Windows architecture-specific installation
Some OpenAL implementations on Windows provide both Win32 and Win64
binaries.  Search the location of the matching architecture.

Author: George "Zogzer@GitHub" <insertlogic@gmail.com>
2015-12-10 09:18:48 -05:00
Brad King ad1be6ee76 Merge topic 'detect-cray-wrappers'
a7ef0225 Cray: Refactor the Cray platform files to use compiler wrapper checks
0763a836 Cray: Add macro tests to detect the Cray compiler wrappers
5eaac0c9 Compiler: Add infrastructure for detecting compiler wrappers
2015-12-09 08:36:53 -05:00
Chuck Atkins a7ef02253b Cray: Refactor the Cray platform files to use compiler wrapper checks
This is an extensive refactoring of the Cray compiler wrapper usage.
Using the new compiler wrapper checks, the CrayPrgEnv info files have
been moved from Platform/ to Compiler/.  The adjusted naming convention
allows the compiler-wrapper information files to be loaded for both the
CrayLinuxEnvironment platform when cross-compiling and the Linux
platform if building natively on the Cray compute nodes.  It also
creates a separation of common arguments for compiler id and language
information used to perform the appropriate introspection of implicit
arguments and libraries used by the compiler wrappers based on the
loaded module environment.
2015-12-09 08:35:19 -05:00
Markus Rickert c926efa139 CPackRPM: Configure RPM package group and name per component 2015-12-07 20:15:49 +01:00
Chuck Atkins 0763a83655 Cray: Add macro tests to detect the Cray compiler wrappers 2015-12-07 11:09:15 -05:00
Chuck Atkins 5eaac0c96a Compiler: Add infrastructure for detecting compiler wrappers 2015-12-07 11:09:06 -05:00
Brad King 128d569af0 Merge topic 'FindTIFF-imported-targets'
ebaca629 FindTIFF: Add imported targets and update documentation
2015-12-07 09:22:56 -05:00
Brad King d9bbc8f02b Merge topic 'find-ftn-by-default'
71e5f253 Fortran: Add ftn, the Cray compiler wrapper, to the default search.
2015-12-07 09:22:54 -05:00
Brad King 8ff9071137 Merge topic 'FindJNI-aix'
4d4fcabd FindJNI: Add support for AIX java sdk
2015-12-07 09:22:45 -05:00
Brad King c3bb76dfd2 Merge topic 'UseJava-relative-manifest'
56c11eee UseJava: Allow relative path to manifest file just as with other sources
2015-12-07 09:22:43 -05:00
Brad King 335314e35f Merge topic 'fix-java-idlj-jarsigner-typos'
d8b251e2 FindJava: Fix typos in IdlJ and JarSigner component implementation
2015-12-07 09:22:39 -05:00
Roger Leigh ebaca6290d FindTIFF: Add imported targets and update documentation
- Add TIFF::TIFF imported target
- Document imported target
- Add testcase to test the standard variables and the imported
  target

Also:

- Add TIFF_INCLUDE_DIRS to match common practice
- Update documentation generally, including documenting
  TIFF_INCLUDE_DIRS
2015-12-07 09:20:08 -05:00
Chuck Atkins 71e5f253f9 Fortran: Add ftn, the Cray compiler wrapper, to the default search. 2015-12-04 10:28:03 -05:00
Brad King 5875801293 Merge topic 'improve-embarcadero'
7a327727 Embarcadero: Fix erroneous interpretation of __CODEGEARC_VERSION__.
25211d75 Compiler ID: Compiler versions must be a valid, numeric version string.
060442c2 Embarcadero:  Check code using CMAKE_CXX_COMPILER_ID and CMAKE_C_COMPILER_ID.
f3b3219c Embarcadero/Watcom: Properly skip VSResource test for other generators.
ddbda722 Embarcadero: Fix bug where duplicate Ninja job pools would be created.
2015-12-04 09:54:18 -05:00
Marc Chevrier 4d4fcabdfd FindJNI: Add support for AIX java sdk 2015-12-04 09:31:35 -05:00
James Johnston 7a3277276e Embarcadero: Fix erroneous interpretation of __CODEGEARC_VERSION__.
As per the following link:

  http://docwiki.embarcadero.com/RADStudio/Seattle/en/Example_of_CODEGEARC_VERSION_Macro

The major/minor versions must be decoded as a hex string, while the patch
version must be decoded as a normal decimal string.

As an example, C++ Builder XE 8.1's bcc32.exe sets this macro to 0x070189C9.
The file version of bcc32.exe is 7.1.5570.35273.  Therefore, the correct
interpretation to COMPILER_VERSION would be 7.1.35273.
2015-12-03 21:37:08 +00:00
James Johnston 060442c2e8 Embarcadero: Check code using CMAKE_CXX_COMPILER_ID and CMAKE_C_COMPILER_ID.
The CMAKE_CXX_COMPILER_ID and CMAKE_C_COMPILER_ID variables are set to
"Borland" for older versions of the compiler.  Newer CodeGear/Embarcadero
compilers will have those variables set to "Embarcadero".  Search for lines of
code referencing both the variable name and Borland to be sure that they also
refer to Embarcadero.
2015-12-03 21:37:06 +00:00
James Johnston ddbda72288 Embarcadero: Fix bug where duplicate Ninja job pools would be created.
If the platform file was included multiple times, it was possible that
duplicate Ninja job pools would be created.
2015-12-03 19:10:19 +00:00
Marc Chevrier 56c11eee13 UseJava: Allow relative path to manifest file just as with other sources 2015-12-03 09:24:26 -05:00
Marc Chevrier d8b251e2ea FindJava: Fix typos in IdlJ and JarSigner component implementation
Fix typos introduced by commit v3.4.0-rc1~257^2~2 (FindJava: Add support
for idlj and jarsigner tools, 2015-07-31) to correctly report when these
components are found.
2015-12-03 09:17:00 -05:00
Roger Leigh 3f9b081f6e FindBoost: Add imported targets
Targets include:

- Boost::boost: Target for header-only dependencies
- Boost::<C>: Target for specific component dependency
- Boost::diagnostic_definitions: adds BOOST_LIB_DIAGNOSTIC
- Boost::disable_autolinking: adds BOOST_ALL_NO_LIB
- Boost::dynamic_linking: adds BOOST_ALL_DYN_LINK
2015-12-02 09:40:17 -05:00
Roger Leigh 01c80acdbd FindBoost: Automatically add missing component dependencies
The function _Boost_MISSING_DEPENDENCIES will look at the
user-supplied component list, check the dependency
information for each component using
_Boost_COMPONENT_DEPENDENCIES, and will add any missing
dependencies to the component list.  This ensures that
all required components will be searched for.
2015-12-02 09:40:17 -05:00
Roger Leigh 5183c6e5dd FindBoost: Embed component dependency table
The function _Boost_COMPONENT_DEPENDENCIES is used to query the
library dependencies for a given component for a given version of
Boost.  This covers Boost releases from 1.33 to 1.59, using the
information generated by Utilities/Scripts/BoostScanDeps.cmake.
2015-12-02 09:40:17 -05:00
Simon Levermann ae434ee2dd CPack/DragNDrop: Allow single license for multiple languages
When both CPACK_DMG_SLA_DIR and CPACK_RESOURCE_FILE_LICENSE are defined,
use the license file for all languages instead of looking for a license
file for each language.  Also expand the documentation on the SLA
variables.
2015-12-02 08:26:01 -05:00
Brad King 056115106a Merge topic 'FindCUDA-aarch64'
ae1003cd FindCUDA: Add paths for crosscompiling to aarch64
2015-11-24 09:26:45 -05:00
Brad King f66f6e2490 Merge topic 'FindXercesC-imported-targets'
5dcc833b FindXercesC: Add imported targets and unit test
2015-11-24 09:26:42 -05:00
Brad King b2de70a036 Merge topic 'revert-compiler-links-statically'
9682de56 Revert "Disable shared library support when compiler links statically" (#15855)
2015-11-24 09:26:31 -05:00
Alexander Szakaly ae1003cdb9 FindCUDA: Add paths for crosscompiling to aarch64
Choose a CUDA_TOOLKIT_TARGET_DIR for the aarch64 architecture
automatically.
2015-11-23 14:34:08 -05:00
Roger Leigh 5dcc833b28 FindXercesC: Add imported targets and unit test 2015-11-23 14:28:05 -05:00
Brad King 5e3045a749 Merge branch 'revert-compiler-links-statically' into release 2015-11-23 10:19:34 -05:00
Brad King 9682de566e Revert "Disable shared library support when compiler links statically" (#15855)
In commit v3.4.0-rc1~18^2 (Disable shared library support when compiler
links statically, 2015-09-30) we tried to detect when the compiler is
not capable of linking shared libraries (possibly due to flags in use).
However, the approach is not robust against flags like `-nostdlib`.
Revert it for now pending another solution to the original problem.
2015-11-23 10:16:32 -05:00
Brad King 1ccb417d61 Merge topic 'fix-forced-toolchain-dialect'
441dba80 Project: Guess default standard dialect if compiler was forced (#15852)
2015-11-20 08:53:05 -05:00