Commit Graph

6574 Commits

Author SHA1 Message Date
Brad King 87dddf053a Merge topic 'find-blas-lapack-Fortran-only'
1694112d Find{BLAS,LAPACK}: Fix when used in pure Fortran projects (#16039)
2016-04-06 09:29:53 -04:00
Pierrick Koch 2308764b47 FindGSL: Fix typo in documentation
s/GSL_CLBAS_LIBRARY/GSL_CBLAS_LIBRARY/
2016-04-05 09:52:43 -04:00
Melven Roehrig-Zoellner 8c4f100a56 Fortran: Fix platform id detection on mingw-w64
On mingw-w64 the GNU Fortran compiler does not define `__MINGW32__` or
any similar indicator.  Fix `CMAKE_Fortran_PLATFORM_ID` detection in
this case by falling back to preprocessing a `.c` source file even
when the compiler id is already detected.
2016-04-05 09:50:14 -04:00
Melven Roehrig-Zoellner 66fa61439d CMakeDetermineFortranCompiler: Modernize conventions
Suggested-by: Ben Boeckel <ben.boeckel@kitware.com>
2016-04-05 09:44:09 -04:00
Brad King fd40b0f875 Merge topic 'ctest-run-submodule-sync'
c18d91ad Help: add release notes for topic 'ctest-run-submodule-sync'
7f560743 cmCTestGIT: run `git submodule sync` before updating submodules
06b310b5 cmCTestGIT: add an option to initialize submodules on update
56c1ea40 cmCTestGIT: fix git version references
2016-04-05 09:38:06 -04:00
Hannes Mezger b148440381 FindOpenSSL: Prefer libs early in search path regardless of name (#15887)
Add NAMES_PER_DIR to all find_library invocations so that we consider
all possible names in each search directory before moving on to the next
directory.  Otherwise we may not find self-built libraries first even if
they appear early in the search path.
2016-04-05 09:32:08 -04:00
Melven Roehrig-Zoellner 1694112dfa Find{BLAS,LAPACK}: Fix when used in pure Fortran projects (#16039)
Use `CMAKE_<LANG>_COMPILER_LOADED` to detect enabled languages because
`if( _LANGUAGES_ MATCHES C )` is always true on Windows as the RC
language is activated automatically and matches C.
2016-04-05 09:03:23 -04:00
Zack Galbreath c5ff34cc47 CTestCoverageCollectGCOV: specify base dir for GLOB_RECURSE
Consistently glob for .gcda files in the binary directory.
Previously the behavior of this function depended on the
current working directory that it was called from.
2016-04-04 14:04:35 -04:00
Ben Boeckel 06b310b5d5 cmCTestGIT: add an option to initialize submodules on update
Currently, CTest will not initialize any submodules within the already
checked out source tree. Add an option to do so. The use case for not
doing so is that some submodules may not be necessary for the current
test and keeping network usage down may be important.
2016-04-01 15:50:31 -04:00
Samir Benmendil 272779ce6a ExternalProject: Allow TLS_VERIFY for git clones
Use the git config `http.sslVerify=false` to disable strict ssl for git
commands.
2016-04-01 11:49:16 -04:00
Brad King e0cc8bf5d7 Merge topic 'cpack-rpm-external-symlink-handling'
eae4eef0 CPack/RPM external symlink handling
2016-04-01 10:04:32 -04:00
Brad King 05f2ca70ad Merge topic 'check-compiler-flag-clang-cl'
fae80ee2 Check*CompilerFlag: Add another pattern for Clang (#16038)
2016-04-01 10:02:50 -04:00
Domen Vrankar eae4eef0c4 CPack/RPM external symlink handling
Symbolic links that point to external
location no longer cause cmake to fail
with string out of bounds error but
are instead packaged as non relocatable
symlinks and print out a warning message.
2016-04-01 09:52:04 -04:00
Brad King fae80ee2c3 Check*CompilerFlag: Add another pattern for Clang (#16038)
Match a warning pattern produced by `clang-cl`.

Suggested-by: Reid Kleckner <rnk@google.com>
2016-03-31 14:09:07 -04:00
Jean-Christophe Fillion-Robin 72a862a55b CMakePushCheckState: Add support for CMAKE_EXTRA_INCLUDE_FILES
This commit teaches the module to push/pop/reset state of variable
CMAKE_EXTRA_INCLUDE_FILES used in CheckTypeSize module.
2016-03-31 11:11:02 -04:00
Brad King 0aa736e625 Merge topic 'fix-spelling-typos'
49e82c15 Fix spelling typos in comments and documentation (#16037)
2016-03-31 08:46:03 -04:00
Ben Boeckel 1ba9b53547 ExternalProject: add support for just downloading a file
Some projects only ship self-extracting installers rather than
compressed archives. Add a flag so that these files may be used in
ExternalProject.
2016-03-31 08:37:12 -04:00
Felix Geyer 49e82c15d5 Fix spelling typos in comments and documentation (#16037)
The Debian package checker tool (lintian) detected several typos in
CMake.
2016-03-29 14:31:02 -04:00
Brad King 90f24f016e Merge topic 'asm-includes'
9408a7a8 ASM: Add missing <INCLUDES> placeholder for "compile" rules
2016-03-29 09:24:39 -04:00
Brad King 2ab344a1dc Merge topic 'ghs-link-flags'
36ad8dd4 GHS: Implement link flags and dirs for non-target groups (#16029)
230d50ed GHS: Factor out compiler information shared among languages
2016-03-29 09:24:36 -04:00
Gregor Jasny 9408a7a802 ASM: Add missing <INCLUDES> placeholder for "compile" rules
This placeholder was added to the compilation rules for other languages
by commit v3.4.0-rc1~342^2 (Factor an <INCLUDES> placeholder out of
<FLAGS> in rule variables, 2015-07-13) but ASM was incorrectly left out.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2016-03-29 09:19:10 -04:00
Domen Vrankar 1fe004eac3 cpack rpm setting of defattr
RPM supports setting of default user, group,
file and directory permissions that will be
applied for files in package unless specified
per file/dir with attr setting
This is related to bug report 14714
2016-03-29 00:51:18 +02:00
Geoff Viola 36ad8dd440 GHS: Implement link flags and dirs for non-target groups (#16029) 2016-03-28 11:46:46 -04:00
Geoff Viola 230d50ed1a GHS: Factor out compiler information shared among languages
Move common information in `Modules/Compiler/GHS-*.cmake` over to a
common `Modules/Compiler/GHS.cmake` and include it.
2016-03-28 11:44:58 -04:00
Brad King 81cec38b99 Merge topic 'xcode73-xctest-location'
a364d251 Xcode: Fixup XCTest bundle location for Xcode 7.3
2016-03-28 09:25:43 -04:00
Gregor Jasny a364d2513a Xcode: Fixup XCTest bundle location for Xcode 7.3
Prior to Xcode 7.3 a XCTest bundle was built like an ordinary
bundle. But starting with Xcode 7.3 it is implicitely built as
a plugin for the test host. It looks like in that case the
'Build Products Path' is ignored.

This patch simply sets the CMake target output path to the value
Xcode expects internally to get a matching view of both.

The command:

  xcodebuild -showBuildSettings -target CocoaExampleTests -configuration Debug

Output with Xcode 7.2:

  TARGET_BUILD_DIR = .../Tests/XCTest/Debug

Output with Xcode 7.3

  TARGET_BUILD_DIR = .../Tests/XCTest/Debug/CocoaExample.app/Contents/PlugIns

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2016-03-28 09:23:35 -04:00
Brad King 06a8dc7003 Merge topic 'cpackcomponents-priv-var'
c70ac097 CPack: Exclude additional internal variables from CPackConfig.cmake
2016-03-25 09:41:46 -04:00
Brad King 59f53f7422 Merge topic 'FindBoost-xl-compiler'
4527b9c4 FindBoost: Add support for IBM XL compiler
2016-03-24 08:49:38 -04:00
Nils Gladitz c70ac0970d CPack: Exclude additional internal variables from CPackConfig.cmake
In v2.8.12.1-654-g7621ad6 I added underscore prefixes to
CPACK_ADDCOMP_(STR|UNAME) to prevent them from being automatically
written to CPackConfig.cmake.

Do the same for CPACK_ADDGRP_(STR|UNAME) and CPACK_INSTTYPE_(STR|UNAME).
2016-03-24 09:28:41 +01:00
Erik Zenker 4527b9c416 FindBoost: Add support for IBM XL compiler 2016-03-23 13:41:42 -04:00
Brad King d196585bcb Merge topic 'CMakePackageConfigHelpers-relative-prefix'
fd31feb0 CMakePackageConfigHelpers: allow to specify a relative CMAKE_INSTALL_PREFIX
2016-03-23 11:19:31 -04:00
Brad King f29fd5bf69 Merge topic 'FindCUDA-verbatim'
72a97b7a FindCUDA: Fix regression in separate compilation (#16027)
2016-03-23 11:19:28 -04:00
Sergiu Deitsch fd31feb03f CMakePackageConfigHelpers: allow to specify a relative CMAKE_INSTALL_PREFIX 2016-03-22 14:30:01 -04:00
Brad King f77ad2c736 Merge branch 'FindCUDA-verbatim' into release 2016-03-22 11:36:45 -04:00
Brad King 41c17c1d2e Merge topic 'ghs-try_compile'
bf3e76d2 GHS: Fix try_compile (#15975)
2016-03-22 11:15:41 -04:00
Brad King 88450a6ac3 Merge topic 'TestBigEndian-log-output'
8e2aa6ca TestBigEndian: Log success to CMakeOutput.log, not CMakeError.log
2016-03-22 11:15:35 -04:00
Brad King 86eb327cda Merge topic 'fix-repeat-pkg-config'
6f4f9054 FindPkgConfig: set correctly named variables in cache (#15903)
2016-03-22 11:15:33 -04:00
Brad King d7cdec2d54 Merge topic 'add-bruce-c'
53c0dc2d Add support for Bruce C Compiler (BCC)
2016-03-22 11:15:30 -04:00
Brad King 72a97b7a76 FindCUDA: Fix regression in separate compilation (#16027)
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.  Fix the
separate compilation code path to not add its own quoting when the
VERBATIM option will be used.
2016-03-22 11:05:02 -04:00
Paweł Stankowski 8e2aa6caef TestBigEndian: Log success to CMakeOutput.log, not CMakeError.log 2016-03-21 10:54:02 -04:00
Paweł Stankowski 53c0dc2dd2 Add support for Bruce C Compiler (BCC)
Revise C compiler detection code to be K&R compatible.
2016-03-21 10:51:50 -04:00
Geoff Viola bf3e76d214 GHS: Fix try_compile (#15975) 2016-03-21 10:35:01 -04:00
Brad King 8da0997872 Merge topic 'find-blas-lapack-OpenBLAS'
5f6b4f69 Find{BLAS,LAPACK}: Add support for OpenBLAS (#16024)
2016-03-21 09:39:21 -04:00
Brad King 2c3b8a1cd8 Merge branch 'fix-repeat-pkg-config' into release 2016-03-21 09:08:25 -04:00
Ben Boeckel 6f4f905483 FindPkgConfig: set correctly named variables in cache (#15903)
The fix in commit v3.5.0-rc1~27^2 (FindPkgConfig: set standard variables
in the cache, 2016-01-20) added the wrong variable name to the cache.
The test was only testing that the cache variable existed, not that it
also had the correct value.  Update the test to ensure that the cache
value matches the local variable value.

Reported-by: Bernd Lörwald
2016-03-21 08:58:12 -04:00
J M Dieterich 5f6b4f690a Find{BLAS,LAPACK}: Add support for OpenBLAS (#16024)
OpenBLAS (www.openblas.net) is the successor to GotoBLAS.
2016-03-18 11:23:36 -04:00
Sean McBride 527773662c Drop unnecessary LSRequiresCarbon reference from Info.plist files
LSRequiresCarbon is long since unnecessary.  It refers to requiring
Carbon as opposed to Classic (OS 9 emulation).
2016-03-18 09:47:03 -04:00
Brad King 1bcdc4db1b Merge topic 'GenerateExportHeader-fix-name-leak'
6a6e5d89 GenerateExportHeader: Allow common NO_DEPRECATED_MACRO_NAME for multiple libs
be5a8973 GenerateExportHeader: Do not define DEFINE_NO_DEPRECATED (#16022)
2016-03-18 09:43:20 -04:00
Andreas Schuh 6a6e5d89b5 GenerateExportHeader: Allow common NO_DEPRECATED_MACRO_NAME for multiple libs 2016-03-17 10:40:58 -04:00
Andreas Schuh be5a8973c3 GenerateExportHeader: Do not define DEFINE_NO_DEPRECATED (#16022)
Previously we allowed this definition to persist outside our header.
This would cause conflicts across multiple such headers because the name
was always the same.  Fix this by avoiding the definition altogether.
2016-03-17 10:40:24 -04:00
Brad King cd569b962d Merge topic 'ios-install-combined-one-arch'
e3fc2899 Fix iOS combined feature for single architecture targets
2016-03-17 09:41:37 -04:00
Brad King b06c21784a Merge topic 'FindBoost-optional-indirect-depends'
e2f387fa FindBoost: Tolerate missing indirect dependencies (#16013)
2016-03-16 09:08:05 -04:00
Brad King 6e24546cae Merge topic 'FindGTest-depends'
a5d3d003 FindGTest: Automatically re-run cmake when tests change
2016-03-16 09:08:03 -04:00
Zak Eckert a5d3d003d0 FindGTest: Automatically re-run cmake when tests change
Tell CMake that it needs to re-run when test source files parsed by
`gtest_add_tests` change so that we can re-scan for tests automatically.
2016-03-15 15:21:37 -04:00
Brad King 6d74e7870b Ninja: Add dependencies on system-provided header files (#14914)
When system-provided packages are upgraded we must re-compile sources
depending on their headers.  Use `-MD` instead of `-MMD` so that the
generated depfiles do not exclude system headers.

Suggested-by: Jussi Judin
2016-03-15 10:18:50 -04:00
Brad King 4ea249a387 Merge branch 'ios-install-combined-one-arch' into release 2016-03-15 10:11:27 -04:00
Ruslan Baratov e3fc2899c8 Fix iOS combined feature for single architecture targets
If list of valid target architectures is empty for given SDK then there will
be no VALID_ARCHS build setting returned by Xcode. Return "" (empty string)
explicitly in this case. This may happens if CMAKE_IOS_INSTALL_COMBINED is ON
but only one architecture used in target.
2016-03-15 10:09:50 -04:00
Roger Leigh e2f387fabb FindBoost: Tolerate missing indirect dependencies (#16013)
Depending upon the configuration, certain components may or may not
be installed, for example Boost.Regex, but other components may
still have header dependencies upon these components which will
obviously fail to work.  Since we can't make a sensible
determination with the hardcoded dependency information, we
choose to interpret these dependencies less strictly.
2016-03-15 09:54:58 -04:00
Brad King 2a43a4768c Merge topic 'cygwin-clang'
517cef8c Cygwin: Add support for Clang compiler
2016-03-11 08:30:49 -05:00
Brad King 9b9396b06a Merge topic 'FindProtobuf-variable-case'
a7b09e7f FindProtobuf: Rename variables to match case of module name
2016-03-11 08:30:46 -05:00
Han Sangjin 517cef8c55 Cygwin: Add support for Clang compiler
The platform information module for GNU on CYGWIN can be reused for
Clang on CYGWIN because clang accepts almost all of the same options.
2016-03-10 09:35:48 -05:00
Brad King 1ed74b9d22 Merge topic 'remove-vs6-generator'
b42866a3 Drop Visual Studio 6 generator
cd9ba3ec cmLocalVisualStudio7Generator: Fix name of helper function
2016-03-10 09:16:23 -05:00
Brad King 88a189f367 Merge topic 'clang-iframework-version'
63c4133b OS X: Use -iframework with Clang only on version >= 3.2
2016-03-10 09:16:18 -05:00
Brad King 612a8b3bd8 Merge topic 'vs-clang-cl'
491b41dd Help: Add notes for topic 'vs-clang-cl'
ad6d27ac Tests: do not build PrecompiledHeader on Clang/C2
a0f0541f Tests: fix PDBDirectoryAndName on Clang/C2
3541af67 Tests: fix Plugin building on Clang/C2
1902c293 Tests: fix complexOneConfig building on Clang/C2
cab2ec11 Tests: fix Complex building on Clang/C2
ada3736c Tests: fix Module.GenerateExportHeader building on Clang/C2
123b7e13 Tests: fix AliasTarget building on Clang/C2
445d4d4b VS 14: Add flag map for -std= to CppLanguageStandard tag in project files
0a785eb4 Features: Clang has no cxx_decltype_incomplete_return_type in MSVC sim mode
2c2ec488 VS: in Clang/C2 toolset, setup correct compiler settings
37afe00f CMakeDetermineCompilerId: Add detection of clang.exe bundled with VS
2016-03-10 09:16:16 -05:00
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
Brad King aa0460b34a Merge branch 'fix-forced-toolchain-dialect' into release 2015-11-19 10:28:22 -05:00
Brad King 441dba8032 Project: Guess default standard dialect if compiler was forced (#15852)
Prior to commit v3.4.0-rc1~71^2 (Project: Determine default language
dialect for the compiler, 2015-09-15) we always guessed the default
language standard dialect based on the compiler version.  This was not
reliable so that commit switched to computing the default language
standard dialect while detecting the compiler id.

When a toolchain file uses CMakeForceCompiler to set the compiler id
then the detection does not occur.  Therefore commit v3.4.0-rc1~54^2
(Project: Don't require computed default dialect if compiler was forced,
2015-09-22) made the lack of detection an error only if the compiler was
not forced.  However, this means that projects using CMakeForceCompiler
no longer even get the guess that we had before so <LANG>_COMPILER does
not work.

Due to the sophistication of CMake's compiler detection logic projects
should be ported away from using CMakeForceCompiler.  In the meantime,
restore a guess of the default language standard dialect when the
compiler is forced.
2015-11-19 10:22:35 -05:00
Brad King e45e503f14 Merge topic 'add-cray-linux-platform'
743fcf1e Cray: Fix static / dynamic detection logic and parse more driver flags
2015-11-19 09:10:29 -05:00
Brad King db952a5817 Merge topic 'FindGTest-avoid-CMP0064'
b5e7b22d FindGTest: Refactor test type checks to avoid cases triggering CMP0064
2015-11-19 09:10:27 -05:00
Chuck Atkins 743fcf1e89 Cray: Fix static / dynamic detection logic and parse more driver flags 2015-11-18 13:36:00 -05:00
Brad King ce7da2dec4 Merge branch 'FindGTest-avoid-CMP0064' into release 2015-11-18 10:43:56 -05:00
Brad King b5e7b22def FindGTest: Refactor test type checks to avoid cases triggering CMP0064
Update our if() conditions to avoid CMP0064 warnings when `${test_type}`
is equal to `TEST`.

Reported-by: David T. Chen <dchen@mail.nih.gov>
2015-11-18 10:42:55 -05:00
Brad King c1cdf60a00 Merge topic 'fix-compute-default-dialect-lto'
c3dc8935 Make C and C++ default dialect detection robust to advanced optimizations
2015-11-18 10:15:25 -05:00
Brad King daa72b253a Merge branch 'fix-compute-default-dialect-lto' into release 2015-11-18 10:14:09 -05:00
Brad King c3dc8935ee Make C and C++ default dialect detection robust to advanced optimizations
In commit v3.4.0-rc1~71^2 (Project: Determine default language dialect
for the compiler, 2015-09-15) we added an "INFO:..." string to the
compiler id detection binary.  The value can be optimized out of the
compiler id binary unless we force it to be included by making the
program behavior depend on it at runtime.  Add references to the value
as we do for the other info strings already.

Gentoo-Issue: https://bugs.gentoo.org/show_bug.cgi?id=565744
2015-11-18 10:12:25 -05:00
April Chin 6772913fff SunOS: Remove obsolete Studio compiler library directories
Our CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES setting is no longer needed
because CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES is now populated with the
actual implicit link directories for the current toolchain.  The old
values we hard-coded in CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES are not
relevant to modern toolchains, so simply drop them.

Co-Author: Shawn Walker-Salas <shawn.walker@oracle.com>
2015-11-16 10:41:10 -05:00
Brad King 166a61c729 Merge topic 'add-cray-linux-platform'
31d52139 Cray: Added documentation for cross compiling on a Cray
c54a621b Cray: New platform file for Cray Linux Environment and PrgEnv
2015-11-16 09:22:43 -05:00
Chuck Atkins c54a621b55 Cray: New platform file for Cray Linux Environment and PrgEnv 2015-11-14 11:34:32 -05:00
Brad King 9feb24e514 Merge topic 'better_looking_mac_package'
4bca9401 Improve appearance of CMake .dmg package on OS X
c4b9ee18 CPack/DragNDrop: Update documentation to include new variables
167a4655 CPack/DragNDrop: Optionally run an AppleScript when making a package
9c1dfbfd CPack/DragNDrop: Place the background image file in a hidden folder
47302038 CPack/DragNDrop: Use source file extension for background image
2015-11-13 08:53:40 -05:00
Brad King bbf1757dfa Merge topic 'cray-fortran-version'
09f754f0 Cray: Implement Fortran compiler version detection (#15845)
2015-11-13 08:53:32 -05:00
Robert Maynard c4b9ee1878 CPack/DragNDrop: Update documentation to include new variables
Document the new behavior of `CPACK_DMG_BACKGROUND_IMAGE` and the
purpose of `CPACK_DMG_DS_STORE_SETUP_SCRIPT`.
2015-11-13 08:45:59 -05:00
Brad King 60859b93db Merge branch 'cray-fortran-version' into release 2015-11-12 11:13:06 -05:00
Brad King 09f754f040 Cray: Implement Fortran compiler version detection (#15845)
We already recognize the Cray Fortran compiler id.  Extract the version
number using the same predefined macros we already use for Cray C and
C++ compilers.
2015-11-12 10:56:23 -05:00
Brad King 0ecb5e7f8b Merge topic 'cpack-dmg-multilanguage-sla'
f88533cc CPackDMG: Add support for multilingual SLAs
2015-11-09 10:06:38 -05:00
Brad King 9ad0ae1c01 Merge topic 'cpack-deb-new-component-vars'
04a2a923 Help: Add notes for topic 'cpack-deb-new-component-vars'
57672e72 CPackDeb: CPACK_DEBIAN_PACKAGE_NAME documentation improvement
a45a4b2d CPackDeb: set package control field per component
a60574f1 CPackDeb: set priority control field per component
24012e3c CPackDeb: additional CPACK_DEBIAN_PACKAGE_SECTION documentation
47182ab8 CPackDeb: set section control field per component
2015-11-09 10:06:35 -05:00
Brad King 20e445f441 Merge topic 'FindGTK2_GTK2_TARGETS'
5d79b956 FindGTK2: Use targets in GTK2_LIBRARIES if GTK2_USE_IMPORTED_TARGETS is ON
2015-11-09 10:06:30 -05:00
Domen Vrankar 57672e7275 CPackDeb: CPACK_DEBIAN_PACKAGE_NAME documentation improvement 2015-11-09 09:58:30 -05:00
Markus Rickert a45a4b2d86 CPackDeb: set package control field per component 2015-11-09 09:57:48 -05:00
Domen Vrankar a60574f1bf CPackDeb: set priority control field per component 2015-11-09 09:57:43 -05:00
Daniele E. Domenichelli 5d79b9563f FindGTK2: Use targets in GTK2_LIBRARIES if GTK2_USE_IMPORTED_TARGETS is ON
Also add GTK2_TARGETS variable containing all imported targets.

Previously, the GTK2_LIBRARIES variable was filled with the paths to the
libraries, and only the GTK2_XXX_LIBRARY variables contained the imported
targets.
2015-11-09 09:51:50 -05:00
Domen Vrankar 24012e3c15 CPackDeb: additional CPACK_DEBIAN_PACKAGE_SECTION documentation 2015-11-08 22:21:09 +01:00
Markus Rickert 47182ab876 CPackDeb: set section control field per component 2015-11-08 22:19:37 +01:00
Brad King 39e830a98e Merge topic 'cpack-deb-config-file-source-field'
e5b70ed0 CPackDEB: added config file optional Source field
f2d98e2d CPackDEB: minor documentation and debug logging fixes
2015-11-06 14:58:11 -05:00
Simon Levermann f88533cc06 CPackDMG: Add support for multilingual SLAs
Multiple languages for SLAs and the SLA UI can be added via the CPack
variables CPACK_DMG_SLA_DIR and CPACK_DMG_SLA_LANGUAGES.  For each
language defined in the languages variable, CPack will search for
<language>.menu.txt and <language>.license.txt in CPACK_DMG_SLA_DIR.
If the sla directory variable is not defined, the old behaviour using
CPACK_RESOURCE_FILE_LICENSE is retained.
2015-11-06 11:14:49 -05:00
Raffi Enficiaud e5b70ed013 CPackDEB: added config file optional Source field 2015-11-04 21:46:22 +01:00
Raffi Enficiaud f2d98e2d3c CPackDEB: minor documentation and debug logging fixes 2015-11-04 21:45:55 +01:00
Brad King 7a37936adf Merge topic 'find-cuda-dl'
b1efb023 FindCUDA: drop CUDA_dl_LIBRARY
2015-11-04 10:13:29 -05:00
Rolf Eike Beer b1efb0233e FindCUDA: drop CUDA_dl_LIBRARY
There is the global CMAKE_DL_LIBS setting which can be used instead. There are
even platforms where this is either empty because those functions are part of
the libc or is called entirely different, so this code wouldn't work reliable
anyway.
2015-11-03 23:04:29 +01:00
Joakim Andersson 035a658f4f Add support for the ARM Compiler (arm.com)
Create an `ARMCC` compiler id corresponding to compilers identified and
versioned by the `__ARMCC_VERSION` predefined macro.  See documentation
for the compilers at

 http://infocenter.arm.com/help/topic/com.arm.doc.set.swdev/index.html
2015-11-02 13:45:24 -05:00
Brad King 1f9affacda Merge topic 'intel-fortran-2016'
77be366c Intel: Recognize MSVC version for Intel Fortran 2016 (#15809)
2015-10-29 13:40:04 -04:00
Brad King 1227ea38e5 Merge branch 'intel-fortran-2016' into release 2015-10-29 09:04:05 -04:00