Commit Graph

6877 Commits

Author SHA1 Message Date
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
Brad King 5cdba31fc6 Merge topic 'cpack-osx-sysroot'
63e2af0f CPack: Fix CPACK_OSX_SYSROOT with symbolic CMAKE_OSX_SYSROOT (#15816)
2015-10-29 08:42:30 -04:00
Benjamin Chrétien 1bfb527f56 FindPkgConfig: return actual error when a package is not found (#15810)
In some cases, CMake returned the following error:

-- Checking for module 'foo'
--   Package 'foo' not found

When the actual error returned by pkg-config was:

  Package 'bar', required by 'foo', not found

Now, the actual error is forwarded to the user.

-- Checking for module 'foo'
--   Package 'bar', required by 'foo', not found

For the standard case (i.e. the package was indeed not found), the
CMake error was:

-- Checking for module 'foo'
--   Package 'foo' not found

But it now prints:

-- Checking for module 'foo'
--   No package 'foo' found

The associated test was also updated. ${last} refers to the last
CLI argument.
2015-10-28 10:18:15 -04:00
Brad King 63e2af0f8d CPack: Fix CPACK_OSX_SYSROOT with symbolic CMAKE_OSX_SYSROOT (#15816)
We support setting CMAKE_OSX_SYSROOT to a symbolic value like "macosx".
Modules/Platform/Darwin-Initialize.cmake takes care of finding the
actual SDK path on disk.  Use that result to set CPACK_OSX_SYSROOT
instead.
2015-10-28 10:15:39 -04:00
Brad King d3325c3db7 Merge topic 'fix-C-comment-syntax'
e166203f CheckForPthreads.c: Do not use C++-style comments in C source
2015-10-28 08:48:00 -04:00
Marc Chevrier e166203f31 CheckForPthreads.c: Do not use C++-style comments in C source 2015-10-26 13:21:59 -04:00
Brad King 77be366c58 Intel: Recognize MSVC version for Intel Fortran 2016 (#15809) 2015-10-26 13:02:37 -04:00
Brad King 8bcf2c81fc Merge topic 'ninja-refactor-deptype-selection'
123de191 Ninja: Refactor selection of 'deps = ' value for MS-compatible toolchains
2015-10-21 09:16:53 -04:00
Brad King 196de9d14d Merge topic 'deprecate-CMakeForceCompiler'
ed77504d CMakeForceCompiler: Deprecate this module and its macros
2015-10-21 09:16:51 -04:00
Brad King 123de1914c Ninja: Refactor selection of 'deps = ' value for MS-compatible toolchains
Set variables in the platform information modules to tell the Ninja
generator what deps type to use instead of hard-coding conditions in the
generator itself.
2015-10-20 14:14:20 -04:00
Chris Davies db3d85059c FindFLEX: Add a DEFINES_FILE option to specify flex-generated header (#15781) 2015-10-19 13:10:43 -04:00
Brad King ed77504d89 CMakeForceCompiler: Deprecate this module and its macros
This module was added by commit v2.6.0~1489 (...supporting embedded
compilers..., 2007-07-02) to avoid needing to build the compiler id
detection source on toolchains that need special flags or linker files
to produce executables.  Since then CMake has learned other ways to
identify such compilers (e.g. passing vendor-specific version flags and
checking for vendor-specific banners in the output).  Furthermore, CMake
now detects a lot more than just the compiler id during language
initialization in order to support things like <LANG>_STANDARD and
COMPILE_FEATURES.  Therefore CMakeForceCompiler is no longer a viable
approach because it skips such detection.

One remaining challenge to support toolchains that require special
linker files is to build the test for a working compiler, compiler ABI
detection binary, and other try_compile cases.  This will have to be
worked out as such cases are encountered.
2015-10-19 11:09:27 -04:00
Chris Davies c26ff8a90b FindFLEX: Fix typo in ADD_FLEX_BISON_DEPENDENCY errors 2015-10-19 09:55:37 -04:00
Chris Davies 30710b8d32 FindFLEX: Use CMAKE_PARSE_ARGUMENTS to parse arguments 2015-10-19 09:46:25 -04:00
Brad King 02f8d51f48 Merge topic 'ExternalProject-fix-git-version'
c9e0173e ExternalProject: Always use CMake builtin FindGit (#15791)
4cd52dc5 ExternalProject: Fix Git version report in error message (#15791)
2015-10-16 09:35:39 -04:00
Brad King 7d94947a68 Merge branch 'ExternalProject-fix-git-version' into release 2015-10-15 09:41:04 -04:00
Brad King c9e0173e6f ExternalProject: Always use CMake builtin FindGit (#15791)
Unset CMAKE_MODULE_PATH before calling find_package(Git) to ensure we do
not get a project-provided FindGit module that may not provide the
GIT_VERSION_STRING that we need.  We do not need to restore the value
explicitly because this occurs inside the _ep_add_download_command
function call scope.
2015-10-15 09:35:43 -04:00
Brad King 4cd52dc551 ExternalProject: Fix Git version report in error message (#15791)
Refactoring in commit v3.4.0-rc1~77^2~1 (ExternalProject: Use
GIT_VERSION_STRING instead of custom method, 2015-09-17) forgot
to update the variable name used in an error message.
2015-10-15 09:00:23 -04:00
Brad King d6af5566e8 Merge topic 'FindGit-Atlassian-SourceTree'
57f701a7 FindGit: Search in 'Atlassian SourceTree' user directory (#15758)
2015-10-13 13:51:00 -04:00
Brad King d75971b5af Merge topic 'FindPostgreSQL-v9.5'
5225e004 FindPostgreSQL: Search for version 9.5
2015-10-13 13:50:56 -04:00
Brad King 242d664f74 Merge topic 'xcode-adjust-deployment-to-host-version'
24aafbde Xcode: Adjust deployment target SDK version to host version
2015-10-13 13:50:54 -04:00
Brad King f13030cb5b Merge branch 'xcode-adjust-deployment-to-host-version' into release 2015-10-12 15:51:15 -04:00
Gregor Jasny 24aafbde11 Xcode: Adjust deployment target SDK version to host version
If the automatically selected SDK is newer than the host OS version
and no deployment version has been set then adjust the deployment
version to the host OS version. Otherwise the user won't be able to
launch the executables on the build host.

This is for example a problem on a MacOSX 10.10 host with Xcode 7
which only provides a MacOSX10.11 SDK.
2015-10-12 15:31:10 -04:00
Kevin Wojniak 57f701a7f0 FindGit: Search in 'Atlassian SourceTree' user directory (#15758) 2015-10-12 15:22:38 -04:00
Brad King 4f8d58f97a Merge branch 'FindPostgreSQL-v9.5' into release 2015-10-12 10:44:38 -04:00
Tamar Kranenburg 5225e0048c FindPostgreSQL: Search for version 9.5 2015-10-12 10:43:52 -04:00
Brad King 8f3ea27055 Merge branch 'cpack-wix-typos' into release 2015-10-12 10:30:16 -04:00
Brad King 4df5c3d131 Merge branch 'revert-compiler-features-solaris' into release 2015-10-12 10:29:36 -04:00
Brad King 2f2baf09fd Merge topic 'cpack-wix-typos'
fb9ec243 CPackWIX: fix typos in documentation
2015-10-12 10:26:07 -04:00
Brad King 9b05b14fef Merge topic 'revert-compiler-features-solaris'
340d0897 Revert topic 'compiler-features-solaris'
2015-10-12 10:25:59 -04:00
Brad King 887b4c8801 Merge topic 'FindGTK2_sigc++_c++11'
3d9e3d7b FindGTK2: Enable c++11 for sigc++ 2.5.1 or later
2015-10-12 10:25:56 -04:00
Daniele E. Domenichelli 3d9e3d7b79 FindGTK2: Enable c++11 for sigc++ 2.5.1 or later
Starting with sigc++ 2.5.1, c++11 must be enabled in order to use
sigc++. The GTK2::sigc++ imported target will automatically enable the
required build flags in order to build with the version found on the
system.
2015-10-12 10:06:55 -04:00
Kevin Wojniak fb9ec2430b CPackWIX: fix typos in documentation 2015-10-08 14:42:52 -04:00
Brad King 29a2d9fe69 Merge topic 'FindOpenSSL-mingw'
1bf66fed FindOpenSSL: Search for unix-named libraries first on MinGW (#15765)
6b575dec FindOpenSSL: Tolerate tabs in header while parsing version (#15765)
2015-10-08 14:10:57 -04:00
Brad King 340d0897fa Revert topic 'compiler-features-solaris'
Revert commit v3.4.0-rc1~10^2~2 (Features: Disable support for Oracle
SolarisStudio on non-Linux, 2015-09-29) and two follow-up commits.
The support of compile features and language standards on Orcale
SolarisStudio needs more investigation so for CMake 3.4 we should
just act as 3.3 did.
2015-10-08 13:18:39 -04:00
Brad King c997595ea3 Merge topic 'cpack-nsis-bitmap'
3758af12 CPackNSIS: Add options to set the bitmap for NSIS installer left side
2015-10-08 10:31:48 -04:00
Brad King fc7a191c53 Merge topic 'fix-spelling-typos'
06247384 bootstrap: Fix spelling of "succeeded"
b6702d40 Modules: Fix spelling of "succeeded" in check messages
2015-10-08 10:31:44 -04:00
Wayne Stambaugh 1bf66fed67 FindOpenSSL: Search for unix-named libraries first on MinGW (#15765)
Generalize the change made by commit v2.8.10~228^2~4 (FindOpenSSL: find
cross-compiled OpenSSL from MinGW, 2012-07-23) to be used on builds
hosted on Windows too.  When building for MinGW, consider library names
that come with MinGW before looking for the main Windows distribution of
OpenSSL.
2015-10-06 11:55:46 -04:00
Wayne Stambaugh 6b575dec8d FindOpenSSL: Tolerate tabs in header while parsing version (#15765)
Tolerate tabs instead of spaces in the "# define" line.
2015-10-06 11:50:32 -04:00
Terrell Russell b6702d40dd Modules: Fix spelling of "succeeded" in check messages
Change "succeded" to "succeeded" everywhere.
2015-10-06 10:26:19 -04:00
Colin Tracey 3758af12fa CPackNSIS: Add options to set the bitmap for NSIS installer left side
set MUI_WELCOMEFINISHPAGE_BITMAP
set MUI_UNWELCOMEFINISHPAGE_BITMAP
2015-10-06 09:08:37 -04:00
Thijs Wenker 821e17785e FindOpenSSL: Add support for static MSVC runtime
Add an OPENSSL_MSVC_STATIC_RT option to switch from the default search
for `/MD` libraries to look for `/MT` libraries instead.
2015-10-05 11:40:09 -04:00
Brad King 6c25ceb6a8 Merge topic 'vs-win10-store'
2402bb8c Help: Document Windows 10 Universal Applications in cmake-toolchains(7)
1be2f12c VS: Add support for Windows 10 Universal (Store) Applications
2798dbda VS: Refactor indentation of LinkLibraryDependencies
8c426183 MSVC: Add system libs for WindowsStore on VS 2015
d1b87d72 VS: Select Windows 10 Store SDK and toolset for VS 2015
2015-10-05 10:04:11 -04:00
Francesco Romano 2775768f34 FindMatlab: Add support for Matlab R2015b 2015-10-05 09:16:14 -04:00
Gilles Khouzam 8c426183d1 MSVC: Add system libs for WindowsStore on VS 2015
Use WindowsApp.lib for a Universal Application Platform project.
2015-10-02 16:41:41 -04:00
Brad King 7555babbcf Merge topic 'compiler-features-solaris'
5fdf7594 Tests: Suppress WriteCompilerDetectionHeader failure on SunPro
c824b23d Features: Fix C++98 flags on Oracle SolarisStudio 12.4 on Linux
61bc0f73 Features: Disable support for Oracle SolarisStudio on non-Linux
2015-10-02 10:56:52 -04:00
Brad King d80161b08c Merge topic 'vs-win10-sdk'
3f077996 VS: Add support for selecting the Windows 10 SDK (#15670)
5dfc4c5f VS: Add hook to initialize Windows platform settings
61c472a2 cmSystemTools: Add VersionCompareGreater helper
2015-10-02 09:58:17 -04:00
Brad King 8f545d9501 Merge topic 'explicit-system-version'
b31ac171 Allow CMAKE_SYSTEM_VERSION to be set without CMAKE_SYSTEM_NAME
70688609 Help: Improve CMAKE_SYSTEM_{NAME,VERSION} variable documentation
2015-10-02 09:58:15 -04:00
Gilles Khouzam 3f077996f5 VS: Add support for selecting the Windows 10 SDK (#15670)
Teach the VS 2015 generator to produce a WindowsTargetPlatformVersion
value.  Use the CMAKE_SYSTEM_VERSION to specify the version and if not
set choose a default based on available SDKs.  Activate this behavior
when targeting Windows 10.

Co-Author: Brad King <brad.king@kitware.com>
2015-10-02 09:53:25 -04:00
Gilles Khouzam b31ac171a4 Allow CMAKE_SYSTEM_VERSION to be set without CMAKE_SYSTEM_NAME
Teach CMakeDetermineSystem to check for a CMAKE_SYSTEM_VERSION setting
even when CMAKE_SYSTEM_NAME is not set.  This will allow builds on the
host OS to target other versions of the OS without full cross-compiling.
2015-10-02 09:43:24 -04:00
Brad King 8b4873a1b0 Disable shared library support when compiler links statically
When a user or a compiler wrapper adds '-static' to the compiler flags
then it will always link static binaries.  Detect this from the compiler
id binary and disable TARGET_SUPPORTS_SHARED_LIBS.  This will prevent
projects from accidentally adding shared libraries when the toolchain
does not support them.  It also helps CMake avoid linking with flags
that require shared libraries to be supported.
2015-09-30 15:01:23 -04:00
Brad King c824b23d15 Features: Fix C++98 flags on Oracle SolarisStudio 12.4 on Linux 2015-09-30 09:48:29 -04:00
Brad King 61bc0f7363 Features: Disable support for Oracle SolarisStudio on non-Linux
On SunOS the -std=c++11 flag must be used for linking as well as
compiling.  Until we implement support for this we cannot support
the CXX_STANDARD property except on Linux (where it was tested).
2015-09-29 11:25:07 -04:00
Brad King ddd082fb1f Merge topic 'ProcessorCount-SunOS-psrinfo'
1ff96bf6 ProcessorCount: Implement with psrinfo tool on recent SunOS versions
2015-09-29 10:08:04 -04:00
Marc Chevrier 1ff96bf69c ProcessorCount: Implement with psrinfo tool on recent SunOS versions 2015-09-28 11:30:41 -04:00
Brad King da7276cf94 Replace http://www.cmake.org URLs with https://cmake.org
The latter is now the preferred URL for visiting cmake.org with a
browser.  Convert using the shell code:

 git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
2015-09-25 15:47:39 -04:00
Brad King 910ea21004 Merge topic 'Threads-CXX'
fff9434d FindThreads: officially announce it works with only C++ enabled
66db914a FindThreads: fix printing a pointer value in test code
0b38424c FindThreads: make the call to try_run() work also if only C++ is enabled
9924a212 FindThreads: replace CheckIncludeFiles by CheckIncludeFile
a27bc0cc Check(Function|Library|Symbol)Exists: make it work if only C++ is enabled
7279f293 FindThreads: add simple testcase
2015-09-25 10:12:37 -04:00
Rolf Eike Beer 66db914adf FindThreads: fix printing a pointer value in test code
This causes a warning in C mode, and entirely fails in C++ mode:

CMake/Modules/CheckForPthreads.c: In function ‘runner’:
CMake/Modules/CheckForPthreads.c:34:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      printf("%d CC: %d\n", (int)args, cc);
                            ^
Use %p to print out a pointer value, which will not cause any problems.
2015-09-25 10:08:06 -04:00
Rolf Eike Beer 0b38424cf2 FindThreads: make the call to try_run() work also if only C++ is enabled
This isn't enough to make the whole module work with only C++ enabled.
2015-09-25 10:08:05 -04:00
Rolf Eike Beer 9924a212f6 FindThreads: replace CheckIncludeFiles by CheckIncludeFile
While at it, also add a branch using CheckIncludeFileCXX. Also give a better
error message if no supported language is enabled. C++ support isn't working
yet, but it has never worked.
2015-09-25 10:08:05 -04:00
Rolf Eike Beer a27bc0ccac Check(Function|Library|Symbol)Exists: make it work if only C++ is enabled 2015-09-25 10:07:54 -04:00
Stephen Kelly d13758514c Project: Don't require computed default dialect if compiler was forced.
Commit 7235334a (Project: Determine default language dialect for the
compiler., 2015-09-15) introduced a mechanism to determine the default
dialect used for the running compiler.  If conditions in
the <CompilerId>-<Lang>.cmake file are such that compile features for
that version of the compiler should be supported, the _DEFAULT_STANDARD
is set to the computed value.

However, the CMakeForceCompiler module allows users to bypass execution of the
compiler by CMake.  In that case, do not set the _DEFAULT_STANDARD variable at
all, which effectively disables the compile-features where the module is used.

No compile features have ever been recorded where the module is used so no
functionality is lost.
2015-09-22 22:13:15 +02:00
Brad King fcd9f85660 Merge topic 'ctest-variable-docs'
4da5a227 Help: document CTEST_CUSTOM_* variables
70c0cc72 ctest_read_custom_files: mention that ctest does this automatically
71c67e83 CTEST_CUSTOM_*: treat variables as lists
936a95d4 CTestCoverageCollectGCOV: replace tabulators
2015-09-22 10:47:05 -04:00
Brad King cec45e27f6 Merge topic 'pkg-config-variable-function'
51b83f14 FindPkgConfig: add a command to query arbitrary variables
7f7f1eec FindPkgConfig: use execute_process to strip trailing whitespace
2015-09-21 09:39:36 -04:00
Ben Boeckel 51b83f1445 FindPkgConfig: add a command to query arbitrary variables 2015-09-21 09:39:26 -04:00
Ben Boeckel 71c67e83bf CTEST_CUSTOM_*: treat variables as lists 2015-09-21 09:27:54 -04:00
Brad King 1f4358134f Merge topic 'cpack-verbatim-variables'
bc2e54db Introduction of CPACK_VERBATIM_VARIABLES variable
2015-09-21 09:25:34 -04:00
Roman Donchenko bc2e54db55 Introduction of CPACK_VERBATIM_VARIABLES variable
If variable is set to TRUE, values of all variables prefixed with CPACK_
will be escaped so special characters such as dolar sign, quotes or
foreward slash will not be lost. By default variable is treated as set
to FALSE for back compatibility.

The cpack_encode_variables macro is changed into a function to remove
scope pollution. There should be no other effects.
2015-09-20 23:39:03 +02:00
Brad King 109a7a245a Ninja: Detect MSVC /showIncludes prefix with compiler flags (#15596)
Move detection over to the compiler id logic where we have already
constructed the list of compiler flags from ARG1 and CMAKE_<LANG>_FLAGS.
Pass the flags when we execute "cl" with "/showIncludes".  Also pass "/c"
because we only need to compile, not link.  Check the compiler process
exit code before trusting its output.
2015-09-18 10:02:53 -04:00
Brad King 828c05b9f5 Ninja: Refactor lookup of cmcldeps location
This executable comes with CMake so just compute its location in
cmSystemTools instead of storing it in compiler information modules.
2015-09-18 10:01:25 -04:00
Brad King c73fbda66b CMakeDetermineCompilerId: Drop unused code path
The execute_process command always exists so we never need to fall back on
exec_program.
2015-09-18 10:01:25 -04:00
Brad King e3ace61212 Merge topic 'compute-default-dialect'
7235334a Project: Determine default language dialect for the compiler.
2015-09-18 10:00:51 -04:00
Stephen Kelly 7235334a2f Project: Determine default language dialect for the compiler.
Use the __cplusplus and __STDC_VERSION__ macros to automatically
determine the default dialect for the compiler while determining its
id and version.
2015-09-18 10:00:21 -04:00
Brad King 418f08d029 Merge topic 'FindPython-updates'
19934b67 FindPythonLibs: unset temporary _PREFIX variable
f8bc4e11 FindPythonLibs: Use python executable prefix as a hint
a9d32dff FindPythonLibs: Match include dir to library version
2015-09-18 09:56:44 -04:00
Brad King 309026147a Merge topic 'ms-manifest-files'
e134e53b Add support for *.manifest source files with MSVC tools
da00be63 MSVC: Rewrite manifest file handling with Makefile and Ninja
d488b5c9 Ninja: Always add OBJECT_DIR variable to link rules
6d620f5a VS: Add manifest tool settings to VS 8 and 9 project files
2015-09-18 09:56:39 -04:00
Brad King 0d5605120b Merge topic 'ExternalProject_stash_save_all'
7c5b6ed5 ExternalProject: Use "git stash save --all" only if supported (#15722)
b04c3815 ExternalProject: Use GIT_VERSION_STRING instead of custom method
2015-09-18 09:56:32 -04:00
Ben Boeckel 7f7f1eecfd FindPkgConfig: use execute_process to strip trailing whitespace 2015-09-17 21:08:19 -04:00
Brad King eb154697c0 Merge topic 'cpack-deb-fakeroot-removal'
becb14c9 CPack/DEB: test preserve extra config file permissions
7044e8ee CPackDeb: use of libarchive and removal of fakeroot
415405a3 cmArchiveWrite: control user/group, permissions and recursive file adding
4f2ff601 Tests: Make RunCMake.CPack error messages more readable
81b748ae cmGeneratedFileStream: Fix spelling in comment
2015-09-17 15:34:02 -04:00
Raffi Enficiaud 7044e8ee4b CPackDeb: use of libarchive and removal of fakeroot 2015-09-17 15:30:39 -04:00
David Gobbi 19934b67e9 FindPythonLibs: unset temporary _PREFIX variable
To avoid pollution, unset variables that are only meant for local use.
2015-09-17 12:43:56 -04:00
David Gobbi f8bc4e1118 FindPythonLibs: Use python executable prefix as a hint
If PYTHON_EXECUTABLE is set, then we should look for the libs in the
same prefix, e.g. /usr/local/python -> /usr/local/lib, and on Win32
/Python34/python.exe -> /Python34/libs.
2015-09-17 11:30:18 -04:00
David Gobbi a9d32dffb9 FindPythonLibs: Match include dir to library version
This commit ensures that FindPythonLibs has found the library before
before the search for the include dir begins.  The library prefix and
version can then be used to find the matching include dir.
2015-09-17 11:28:49 -04:00
Brad King bd0d9407cd Merge topic 'FindPython-updates'
ea2db3bb FindPythonLibs: Fix OS X framework include directory search path
c57334fa FindPythonLibs: Remove PYTHON_INCLUDE_PATH as input
2db092b1 FindPython{Interp,Libs}: Add versions 3.5 and 3.6
2015-09-17 11:27:35 -04:00
Brad King e134e53b47 Add support for *.manifest source files with MSVC tools
Classify .manifest sources separately, add dependencies on them, and
pass them to the MS manifest tool to merge with linker-generated
manifest files.

Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2015-09-17 10:21:32 -04:00
Brad King da00be6359 MSVC: Rewrite manifest file handling with Makefile and Ninja
Add a helper class private to "cmcmd.cxx" to contain the implementation.
Update the link logic to use the intermediate files directory for each
target to hold manifest and resource files before embedding into the
binary.  Preserve the old behavior of placing the .manifest file next
to the binary when not linking incrementally even though it will be
embedded.
2015-09-17 10:21:32 -04:00
Daniele E. Domenichelli 7c5b6ed5c8 ExternalProject: Use "git stash save --all" only if supported (#15722)
The --all option for git-stash wasn't introduced until git version 1.7.6.
2015-09-17 12:05:07 +02:00
Daniele E. Domenichelli b04c38159e ExternalProject: Use GIT_VERSION_STRING instead of custom method
GIT_VERSION_STRING is available in FindGit.cmake since CMake version 2.8.8
2015-09-17 11:47:26 +02:00
David Gobbi ea2db3bb02 FindPythonLibs: Fix OS X framework include directory search path
We use PATH_SUFFIXES to append "python<v>" to each candidate path.  Do
not append it to the constructed list of python framework include
directories.  Otherwise the combined path will never exist.  Note that
the code doesn't yet try to match the suffixes "m" and "u" between the
executable, library, and include directory.
2015-09-16 11:30:31 -04:00
David Gobbi c57334fae9 FindPythonLibs: Remove PYTHON_INCLUDE_PATH as input
This cmake variable has been deprecated for over a decade, and using it
as an input could potentially cause unexpected results.  We still need
to keep it as an output variable for compatibility though.
2015-09-16 08:59:59 -04:00
Brad King 6a06ec8d8a Modules: Drop unused VTK 4.0 support modules
These modules have been unused since commit v3.1.0-rc1~355^2 (FindVTK:
Drop support for finding VTK 4.0, 2014-06-27).
2015-09-16 08:58:16 -04:00
David Gobbi 2db092b1f6 FindPython{Interp,Libs}: Add versions 3.5 and 3.6 2015-09-16 08:54:04 -04:00
Andreas Bergmeier 2ec97b1302 FindProtobuf: Add protobuf_generate_python function 2015-09-15 08:27:55 -04:00
Brad King f660a6890c Merge topic 'FindHDF5-updates'
fd26a19a FindHDF5: Add NAMES_PER_DIR and introduce HDF5_PREFER_PARALLEL
2015-09-14 09:20:01 -04:00
Paul Romano fd26a19afc FindHDF5: Add NAMES_PER_DIR and introduce HDF5_PREFER_PARALLEL
The calls to find_program now use NAMES_PER_DIR so that the first executable
(e.g. h5pcc) appearing on their PATH will get chosen. The HDF5_PREFER_PARALLEL
variable swaps the search order when it is set to true in the event that a
directory being search contains both h5cc and h5pcc.
2015-09-11 14:27:08 -04:00
Brad King 97ffbcd8a4 CMakeParseImplicitLinkInfo: Do not match "VAR=..." as link line (#15737)
When compiling with

  LDFLAGS='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'

the compiler output includes a line like

  COLLECT_GCC_OPTIONS='-specs=/usr/lib/rpm/redhat/redhat-hardened-ld' ...

that our link line regex matches due to an argument ending in "-ld".
Since it is not really the link line no implicit link information is
dectected.  Exclude "VAR=..." lines from consideration as link lines to
fix this.
2015-09-11 13:50:34 -04:00
Brad King 150e1b27c5 Features: Extract strings from test binary more reliably (#15736)
Since commit v3.1.0-rc1~635^2~7 (project: Add infrastructure for
recording CXX compiler features, 2013-10-17) we compile a test source to
a binary and then extract "<LANG>_FEATURES:..." strings from the binary
with the file(STRINGS) command.  Add a newline at the beginning of the
string literal to be sure file(STRINGS) can extract the first entry as a
string independent of whatever else the compiler may put before the
storage it allocates for the literal within the binary.
2015-09-10 14:41:05 -04:00
Brad King 72797dec8f Merge topic 'cpack-cmake-special-characters-mangling'
2a7772ff CPack: don't mangle CMake-special characters when applying default settings
2015-09-10 11:29:58 -04:00
Brad King 3d7c366a3a Merge topic 'cpack-deb-component-dependencies'
4de7c812 CPack/Deb: enable per component setting of dependencies
2015-09-10 11:29:56 -04:00
Brad King bae6eee13a Merge topic 'FindwxWidgets-updates'
d8e233d8 Help: Add notes for topic 'FindwxWidgets-updates'
15aacb68 FindwxWidgets: Add wxWidgets webview component
8122fbd0 FindwxWidgets: Expect wxWidgets 3.1
6089fde5 FindwxWidgets: allow specifying required version
2015-09-10 11:29:54 -04:00
Brad King fe0e9a35ce Merge topic 'FindSWIG-noproxy'
96a8890c FindSWIG: Do not generate erroneous outputs with -noproxy
2015-09-10 11:29:52 -04:00
Brad King 51ec922223 Merge topic 'mingw-compile-features-C'
2fbc41f3 Record compile features for GNU C on Windows (#15727)
2015-09-10 11:29:48 -04:00
Brad King 1e2f5dc922 Merge topic 'ar-option-order'
08659ff4 Re-order 'ar' options 'cq' => 'qc'
2015-09-10 11:29:46 -04:00
Brad King 5ed30f30f5 Merge topic 'ghs-updates'
04de9007 GHS: Fix generated file path slashes and quoting for 6.1.6
fbe0de92 GHS: Tell MULTI to delete .elf.ael file
63591b94 GHS: Find latest 'int' directory
2015-09-10 11:29:44 -04:00
Domen Vrankar 4de7c8126b CPack/Deb: enable per component setting of dependencies 2015-09-09 23:57:58 +02:00
Roman Donchenko 2a7772ff4c CPack: don't mangle CMake-special characters when applying default settings
Mangling is prevented by using a function instead of a macro for setting
default value of some CPack variables. Function is meant for internal use
in CPack.cmake only.
Old macro is deprecated but kept for backwards compatibility - was
intended for internal use only as it can't be used for CPack after
CPack.cmake script is included.
Patch removes local workarounds that were required by old macro,
fixes default setting of variables that by default inherit value from
another variable that already went through old default setting macro
(e.g. value of CPACK_PACKAGE_INSTALL_REGISTRY_KEY caused error for
wrong escapes if CPACK_PACKAGE_INSTALL_DIRECTORY contained escaped
back slashes) and provides a test for correct escaping of characters.
2015-09-09 22:21:07 +02:00
Brad King f281c6214b Merge topic 'more-swift2-fixes'
9cdf6ef4 Swift: Add proper Swift compiler test
1aa29f0d Swift: Remove positive Swift language tests
d778a1c2 Swift: Require Xcode 6.1 and for MacOS X at least SDK 10.10
4da60024 Swift: Fix Compiler-Id detection for Swift 2
874a265c Swift: Make SwiftMix compatible with Swift 2
2015-09-09 11:30:50 -04:00
Brad King 6bdb62cf0f Merge topic 'wbpvf_no_deref'
ea080e3e write_basic_package_version_file: remove variable dereferences in templates
2015-09-09 11:30:43 -04:00
Brad King 08659ff4cb Re-order 'ar' options 'cq' => 'qc'
The documetnation of binutils:

  https://sourceware.org/binutils/docs/binutils/ar-cmdline.html

suggests to use the parameters "q" and "c" in this order ("q" is
operation, and "c" is the modifier).

Suggested-by: Дилян Палаузов <dilyan.palauzov@aegee.org>
2015-09-09 11:08:20 -04:00
Simon Richter 15aacb684a FindwxWidgets: Add wxWidgets webview component 2015-09-09 10:20:23 -04:00
Simon Richter 8122fbd0f5 FindwxWidgets: Expect wxWidgets 3.1 2015-09-09 10:20:18 -04:00
Simon Richter 6089fde554 FindwxWidgets: allow specifying required version 2015-09-09 10:20:08 -04:00
Geoff Viola 63591b94ab GHS: Find latest 'int' directory 2015-09-09 10:12:35 -04:00
Ben Webb 96a8890c7d FindSWIG: Do not generate erroneous outputs with -noproxy
Generally for a module foo, SWIG generates (in Python mode)
an extension module _foo.so and a proxy Python module foo.py.
However, if -noproxy is specified, instead it builds only foo.so
(without the leading underscore). The custom command generated
by CMake correctly handles the removal of this underscore when
-noproxy is given; however, it still adds foo.py to the expected
outputs. This upsets build tools that expect foo.py to be generated
(for example, 'make' will run the SWIG command twice). Fix this
by removing foo.py from the set of extra generated files when
-noproxy is specified.
2015-09-09 10:01:06 -04:00
Brad King 2fbc41f38a Record compile features for GNU C on Windows (#15727)
Drop the 'UNIX' condition on GNU C compiler features.
2015-09-09 09:32:46 -04:00
Brad King 20b7e79d21 Merge topic 'FindOpenSSL-static-libs'
369a8cde FindOpenSSL: Optionally search only for static libraries
2015-09-08 10:24:34 -04:00
Gregor Jasny 9cdf6ef48d Swift: Add proper Swift compiler test
This catches for example the unavailability of Swift with
Xcode Beta6 and macosx10.10 SDK.
2015-09-06 18:19:18 +02:00
Rolf Eike Beer ea080e3eb3 write_basic_package_version_file: remove variable dereferences in templates
Fixes some minor whitespace issues in the if()s.
2015-09-04 20:44:24 +02:00
Gregor Jasny 4da60024ad Swift: Fix Compiler-Id detection for Swift 2 2015-09-03 20:30:45 +02:00
Thijs Wenker 369a8cde37 FindOpenSSL: Optionally search only for static libraries
Add an OPENSSL_USE_STATIC_LIBS option to enable it.  Adjust
CMAKE_FIND_LIBRARY_SUFFIXES to only look for .a and .lib files.  Also
adjust the search paths on Windows for installer locations of static
libraries.
2015-09-02 13:47:57 -04:00
Michael Scott 11097f5231 FindZLIB: Find debug and release variants separately
Provide each variant in ZLIB_LIBRARIES and ZLIB::ZLIB imported location
properties when one is found, while maintaining support for manually
setting the library via ZLIB_LIBRARY.
2015-09-02 11:35:43 -04:00
Paul Romano f7f73df1b3 FindHDF5: Add hdf5_hl to list of libraries to search for Fortran_HL
When the Fortran_HL component is specified, the hdf5_hl library is not included
in HDF5_LIBRARIES which causes a bunch of undefined references at link
time. This commit adds hdf5_hl to the list of libraries to search for when the
Fortran_HL component is specified.
2015-09-01 10:56:51 -04:00
Paul Romano 19e7db07e3 FindHDF5: Fix support for HL and Fortran_HL components
Define HDF5_{Fortran_,}HL_COMPILE_LINE so that HDF5_{Fortran_,}HL_INCLUDE_DIR
and HDF5_{Fortran_,}HL_LIBRARIES are found when the macro is invoked for HL and
Fortran_HL components.  (Use patch from debian cmake-data package.)
2015-09-01 10:56:40 -04:00
Brad King d01e3c31c9 Merge topic 'FindJNI-mips'
90a22c3a FindJNI: Add mips64(el) mipsn32(el) support (#15714)
2015-08-31 09:48:35 -04:00
Yunqiang Su 90a22c3ac5 FindJNI: Add mips64(el) mipsn32(el) support (#15714)
Submitted-by: Felix Geyer <fgeyer@debian.org>
2015-08-28 09:37:22 -04:00
Tony Kelman 3e2865b467 GenerateExportHeader: Use dllexport/dllimport on Cygwin
Cygwin sits on top of Windows and so can use explicit symbol
export and import markup too.

Co-Author: Yaakov Selkowitz <yselkowitz@cygwin.com>
2015-08-27 10:08:34 -04:00
Brad King f96b6af18a Merge topic 'FindJNI-suse-and-ibm'
290b0f94 FindJNI: Add support for SuSE platform and IBM Java SDK
2015-08-27 10:04:01 -04:00
Brad King ba6533e658 Merge topic 'apple-tbd-stubs'
67f60958 Darwin: Add support for tbd library stub files
2015-08-27 10:03:58 -04:00
Brad King ef0bf87939 Merge topic 'java-updates'
4476feac UseJava: Add support for javah tool
2015-08-27 10:03:56 -04:00
Brad King 90eb6de68f Merge topic 'fphsa-typo'
64e527db FPHSA: fix typo in documentation
2015-08-25 15:13:29 -04:00
Marc Chevrier 290b0f94b5 FindJNI: Add support for SuSE platform and IBM Java SDK 2015-08-25 09:47:05 -04:00
Gregor Jasny 67f60958b6 Darwin: Add support for tbd library stub files
Starting with Xcode 7 the OSX and iOS SDKs contain only stub
files for dynamic system libraries. These stub files contain
some meta data and a list of exported sysbols in plain text.

They are handled by the toolchain like regular dylibs.
2015-08-24 22:29:33 +02:00
Rolf Eike Beer 64e527dbe3 FPHSA: fix typo in documentation 2015-08-24 18:22:13 +02:00
Thorsten Glaser c4d78b8bc0 FindJNI: Add support for x32 architecture on Linux (#15710)
This architecture uses an amd64 kernel but x32 userland.
Use CMAKE_LIBRARY_ARCHITECTURE to distinguish it for now.
2015-08-24 10:54:13 -04:00
Marc Chevrier 4476feac33 UseJava: Add support for javah tool
Add a `create_javah` API.
2015-08-21 09:30:08 -04:00
Brad King def5795bac Merge topic 'FindCUDA-vs2013-separate-compilation'
9b2f6992 FindCUDA: Fix object build rule for separate compilation on VS 2013+ (#15697)
2015-08-21 09:29:04 -04:00
Brad King 870d839f0d Merge topic 'sublime-msvc-includes'
c66835fc Extra Generator: Populate MSVC system include paths from environment (#15597)
2015-08-21 09:29:00 -04:00
Brad King f9865743ed Merge topic 'hp-ux-itanium-shared-libs'
625225bb HP-UX: Do not use ".sl" extension for shared libs on Itanium
2015-08-21 09:28:55 -04:00
Brad King 162e7b5675 Merge topic 'determine-compiler-CMP0054'
dc8822f0 CMakeDetermine{C,CXX}Compiler: Avoid if() auto-dereferene in quoted arguments
2015-08-21 09:28:50 -04:00
Dominic Meiser 9b2f69925a FindCUDA: Fix object build rule for separate compilation on VS 2013+ (#15697)
The handling of multilevel dependencies has been fixed in Visual Studio 2013.
The work around used for VS 2010 and VS 2012 does not work for VS 2013 any more.
Switch to normal object build rules for VS 2013 and newer.
2015-08-20 11:52:11 -04:00
Matt McCormick dc8822f0a7 CMakeDetermine{C,CXX}Compiler: Avoid if() auto-dereferene in quoted arguments
Exposed by a CMP0054 warning with code like:

  cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
  project(MyProj NONE)
  enable_language(C)
  enable_language(CXX)

While at it, use STREQUAL for testing the compiler id against "GNU".

Suggested-by: Rolf Eike Beer <eike@sf-mail.de>
2015-08-20 09:35:16 -04:00
Gregor Jasny c66835fc37 Extra Generator: Populate MSVC system include paths from environment (#15597) 2015-08-18 22:30:55 +02:00
Brad King 625225bbe6 HP-UX: Do not use ".sl" extension for shared libs on Itanium
Instead use the standard ".so" extension.

Suggested-by: Gerhard Grimm <gerhard.grimm@detec.com>
2015-08-18 10:55:16 -04:00
Brad King a712575da1 Merge topic 'finpkgconfig-if-deref'
b9ec9392 FindPkgConfig: remove variable dereference
2015-08-18 10:12:05 -04:00
Rolf Eike Beer b9ec9392da FindPkgConfig: remove variable dereference
If CMAKE_MINIMUM_REQUIRED_VERSION is not set because no
cmake_minimum_required() call is present this line can lead to an error as that
string is empty so too few arguments are passed to if():

See also "/var/tmp/paludis/build/kde-krdc-15.08.0/work/build/CMakeFiles/CMakeOutput.log".
See also "/var/tmp/paludis/build/kde-krdc-15.08.0/work/build/CMakeFiles/CMakeError.log".
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:112 (elseif):
  given arguments:

    "VERSION_LESS" "3.1"

  Unknown arguments specified
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:501 (_pkgconfig_parse_options)
  /usr/share/cmake/Modules/FindOpenSSL.cmake:43 (pkg_check_modules)
2015-08-18 12:14:43 +02:00
Kars de Jong 462fbd1eca Add support for ARTOS platform using GNU C with ac compiler driver
Add platform and compiler descriptions for ARTOS RTOS (locamation.com).

Signed-off-by: Kars de Jong <kars.dejong@locamation.nl>
2015-08-17 10:32:50 -04:00
Brad King f4885a94ed Merge topic 'FindBoost-1.59'
ff5bb2ef FindBoost: Add support for Boost 1.59
2015-08-17 10:24:57 -04:00
Brad King 9cba05c684 Merge topic 'FindXercesC-updates'
db292564 FindXercesC: Add support for 3D_1 variant of the library
021bf871 FindXercesC: Find debug and release libraries separately
2015-08-17 10:24:55 -04:00
Brad King 8ca1c2b2b3 Merge topic 'FindTIFF-updates'
724fa682 FindTIFF: Find debug and release libraries separately
2015-08-17 10:24:53 -04:00
Brad King da3b62cffd Merge topic 'compiler-id-ancient-gcc-version'
6699834d GNU-DetermineCompiler: Add support for very old versions of GCC
2015-08-17 10:24:47 -04:00
Roger Leigh ff5bb2efbe FindBoost: Add support for Boost 1.59 2015-08-14 09:55:07 -04:00
Roger Leigh db29256429 FindXercesC: Add support for 3D_1 variant of the library
This version is generated by the Windows Visual Studio
project files for unknown reasons, but is required to
pick up the debug version of the library created by
current versions of Xerces-C.
2015-08-14 09:52:48 -04:00
Roger Leigh 021bf871a6 FindXercesC: Find debug and release libraries separately 2015-08-14 09:52:36 -04:00
Roger Leigh 724fa68270 FindTIFF: Find debug and release libraries separately 2015-08-14 09:49:46 -04:00
Kars de Jong 6699834d62 GNU-DetermineCompiler: Add support for very old versions of GCC
Very old versions of gcc (2.3.1) do not define __GNUC_MINOR__.

Signed-off-by: Kars de Jong <kars.dejong@locamation.nl>
2015-08-13 11:07:03 -04:00
Konstantin Podsvirov 75e3a8e811 FindOpenSSL: Provide imported targets OpenSSL::{SSL,Crypto} 2015-08-13 10:58:40 -04:00
Brad King 79a364376c FindOpenSSL: Revise and format module documentation
Improve reStructuredText formatting and add section headers.
2015-08-13 10:53:08 -04:00
Brad King 0576aa6085 Merge topic 'FindPkgConfig-capital-messages'
50c9f521 FindPkgConfig: Capitalize first letter of all message()s
2015-08-13 10:38:46 -04:00
Brad King 7a7922e020 Merge topic 'fix-hpux-link-search-shared-flags'
dc64d825 HP-UX: Fix linker search type flags for C shared libs on HP-UX
2015-08-13 10:34:18 -04:00
Chuck Atkins dc64d8250b HP-UX: Fix linker search type flags for C shared libs on HP-UX
Since commit v2.8.7~31^2 (HP: Drive shared library linking with compiler
front end, 2011-12-12) the C compiler is used to link shared libraries
instead of calling the linker directly, so linker options need to be
wrapped as -Wl,-foo instead of -foo.
2015-08-12 09:36:57 -04:00
Brad King e6883772ff Merge topic 'FindProtobuf-vs-x64'
8dc6cbcb FindProtobuf: Search x64 directories in VS-built protobuf source (#14833)
2015-08-12 09:30:34 -04:00
Brad King 1cb7237b51 Merge topic 'ExternalProject-hg-clone-without-update'
6a77a77a ExternalProject: Tell "hg clone" not to implicitly update
2015-08-12 09:30:31 -04:00
Christopher Meng 50c9f521e2 FindPkgConfig: Capitalize first letter of all message()s
This makes FindPkgConfig output more formal and more consistent with
many other messages produced by CMake.
2015-08-12 09:24:44 -04:00
Daniel Pfeifer 48c6e7f2cf CTest: Report to CDash the compiler version used to build the project
The compiler version reported since commit v2.8.2~1018 (CTest-side
support for compiler name and compiler version, 2009-10-12) only
reported the version of the compiler used to build CMake, and only
if it defined "_COMPILER_VERSION".  Instead use the version of
the compiler used to build the project CTest is testing.
2015-08-11 09:40:25 -04:00
A. Joël Lamotte 6a77a77a62 ExternalProject: Tell "hg clone" not to implicitly update
By default Mercurial command "clone" will implicitly call "update" with
the "default" branch after downloading the cloned repository.  However
ExternalProject_Add() always generates a second "update" command after
cloning with a tag which is either specified or "tip" (equivalent to
"default" by default).  Therefore ExternalProject will first clone then
update to default branch then update to another specified branch if
provided.  This leads to potentially very long clone operation (in
particular when the repository default branch contain subrepos) which
can lead to transaction abort triggered by the server.

Simply use "hg clone -U" to avoid the implicit update during clone.
Our following call to "hg update" will take care of updating anyway.
2015-08-11 09:25:31 -04:00
A. Joël Lamotte 8dc6cbcb24 FindProtobuf: Search x64 directories in VS-built protobuf source (#14833)
Protobuf 2.6.x and lower do not use CMake (cmake is usable in Protobuf
3.x) but provide legacy Visual Studio projects files.  Search their
output directories in 64-bit builds.
2015-08-11 08:57:21 -04:00
Brad King 22590805bf Merge topic 'cpack-rpm-documentation-fixes'
94226751 Tests/RunCMake/CPack: Add dependencies tests
105011e0 Tests/RunCMake/CPack: Bump verify result cmake version
d882d477 Tests/RunCMake/CPack/DEB: Add getPackageInfo helper function
145735b7 Tests/RunCMake/CPack: Enable CXX language in tests
e26f53a8 CPack/RPM: missing PACKAGE_CONFLICTS documentation
64aacb24 CPack/RPM: undocumented variables
2015-08-06 09:38:33 -04:00
Brad King 4f0a6d462e Merge topic 'compiler-version-Fortran'
f0609182 Fortran: Store detected compiler version persistently (#15684)
2015-08-06 09:38:20 -04:00
Brad King bcd8fc58a0 Merge branch 'compiler-version-Fortran' into release 2015-08-05 10:41:23 -04:00
Brad King f0609182cc Fortran: Store detected compiler version persistently (#15684)
The Fortran compiler version detection infrastructure added by commit
v3.3.0-rc1~436^2~9 (Fortran: Add infrastructure to detect compiler
version, 2015-02-17) forgot to update CMakeFortranCompiler.cmake.in to
save the compiler version persistently as we do already in
"CMake{C,CXX}Compiler.cmake.in".  Add the missing line now.
2015-08-05 10:39:03 -04:00
Frank-Christian Otto e26f53a88b CPack/RPM: missing PACKAGE_CONFLICTS documentation 2015-08-04 22:49:13 +02:00
Domen Vrankar 64aacb24b6 CPack/RPM: undocumented variables
Some CPack/RPM variables were undocumented
even though they are implemented in code
for quite a while now.
2015-08-04 22:49:12 +02:00
Marc Chevrier cc23f0e9d3 UseJava: Teach install_jar new DESTINATION and COMPONENT options 2015-08-04 11:19:44 -04:00
Marc Chevrier 3d287de4ea UseJava: Teach add_jar to support file syntax for sources 2015-08-04 11:19:43 -04:00
Marc Chevrier e72806fb30 FindJava: Add support for idlj and jarsigner tools 2015-08-04 11:19:40 -04:00
Brad King 7ac2b1256b Merge topic 'if-test'
14e49ed1 if: Add "TEST <test>" condition
623dcc85 ExternalProject: Avoid if() auto-dereference of a "TEST" variable
2015-08-03 09:25:10 -04:00
Matt McCormick 623dcc85a4 ExternalProject: Avoid if() auto-dereference of a "TEST" variable
Exposed by CMP0054 warnings.
2015-08-03 09:21:39 -04:00
Brad King 94d53d1664 Merge topic 'GetPrerequisites-updates'
5d0a8b1a GetPrerequisites: Optionally filter "objdump" output for speed
afb674ab GetPrerequisites: Add error checks for execute_process() calls
2015-08-03 09:11:34 -04:00
Brad King 6508cc5355 Merge topic 'FindMPI-drop-GetPrerequisites'
1c46b6ae FindMPI: Drop unnecessary and incorrect use of GetPrerequisites
2015-08-03 09:11:32 -04:00
Bill Somerville 5d0a8b1abc GetPrerequisites: Optionally filter "objdump" output for speed
As dumpbin.exe is no longer reliable for gcc libraries on MinGW because
it crashes on many common libraries like libgcc_s and libgfortran it is
now necessary too resort to using objdump for DLL dependency walking.
Using objdump has a secondary problem in that it generates a lot of
output for large libraries and causes fixup_bundle() to take many
minutes to process what took fractions of a second with
"dumpbin.exe /dependents".

Add a 'grep' pre-filter in the execute_process() command pipeline to
reduce this output to a minimum for a several orders of magnitude speed
up.  If grep is not available just use the full output.

As there does not seem to be a reliable way of detecting MinGW, callers
of fixup_bundle() may have to set the variable gp_tool to "objdump" if
dumpbin.exe is installed on the build machine to stop it using the
broken MS dumpbin.exe for library dependency walking.
2015-07-31 09:50:32 -04:00
Bill Somerville afb674ab46 GetPrerequisites: Add error checks for execute_process() calls
Add return status checks to external command invocations so that they do
not fail silently producing incomplete install packages.
2015-07-31 09:50:32 -04:00
Brad King 1c46b6aed0 FindMPI: Drop unnecessary and incorrect use of GetPrerequisites
Since commit v2.8.5~121^2~2 (FindMPI: Handle multiple languages,
2010-12-29) we called the GetPrerequisites is_file_executable function
but passed the name of a CMake variable instead of its value.  Therefore
the function has always failed and caused the search for the compiler
name to run even with an absolute path.  Switch to using if(IS_ABSOLUTE)
instead and drop use of GetPrerequisites.
2015-07-31 09:50:31 -04:00
Brad King 8515f26a63 Merge topic 'FindOpenSSL-cleanup'
fbcbf7f2 FindOpenSSL: De-duplicate find_library path suffixes on Windows
4c10461a FindOpenSSL: Remove extra whitespace
2015-07-31 09:21:49 -04:00
Brad King 6e11703c6c Merge topic 'SunOS-link-CXX-normally'
60fe4b54 SunOS: Drop special case for linking C++ shared libraries with gcc (#15673)
2015-07-31 09:21:43 -04:00
Brad King 60fe4b540b SunOS: Drop special case for linking C++ shared libraries with gcc (#15673)
Since commit v2.4.0~4325 (...use gcc -shared, even for C++ libraries,
2003-03-13) we use the C compiler "gcc" to link C++ shared libraries
compiled with "g++".  At the time "g++" did not know how to link shared
libraries correctly.  This has long since been fixed so simply drop the
special case.
2015-07-30 13:59:29 -04:00
Justin Cook 22809b1665 Cray: Fix compiler version detection (#15664) 2015-07-30 11:57:10 -04:00
Thijs Wenker fbcbf7f29d FindOpenSSL: De-duplicate find_library path suffixes on Windows
Store the path suffixes in a variable and reference it in each
find_library call.
2015-07-30 10:33:12 -04:00
Thijs Wenker 4c10461a87 FindOpenSSL: Remove extra whitespace 2015-07-30 10:30:49 -04:00
Brad King afed519337 Merge topic 'osx-iframework'
e68f0cb3 OS X: Use -iframework with AppleClang only on version >= 4.2
2015-07-23 08:47:23 -04:00
Brad King 90b3b5e42c Merge topic 'FindBZip2-check-with-prototype'
23876eda FindBZip2: Check BZIP2_NEED_PREFIX with real prototype
2015-07-22 11:04:28 -04:00
Brad King 669922bde8 Merge branch 'osx-iframework' into release 2015-07-22 09:51:37 -04:00
Brad King e68f0cb3d4 OS X: Use -iframework with AppleClang only on version >= 4.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 to see
if it supports -iframework.  Fix the version test used for AppleClang
since it uses a different version scheme than upstream Clang.
2015-07-22 09:04:04 -04:00
Brad King 02e5eba17d Merge topic 'vs-compiler-feature-2015-update'
c2d590c9 Features: Update MSVC features for VS 2015 RTM
2015-07-22 08:31:40 -04:00
Ralf Habacker 23876eda9f FindBZip2: Check BZIP2_NEED_PREFIX with real prototype
Run our check for the '_' prefix using a bzip2 API function as declared
with a prototype in the real header file.  This is needed in case the
function is provided in a DLL import library where the symbol name may
not match without proper markup from the header.
2015-07-21 14:00:06 -04:00
Brad King c2d590c957 Features: Update MSVC features for VS 2015 RTM
VS 2015 RTM completed support for constexpr and attribute features.
Update our feature table and test accordingly.
2015-07-21 12:56:47 -04:00
Brad King 500ce3f113 Merge topic 'KDE4-NO_POLICY_SCOPE'
4572d8b3 KDE4: Find the Internal package with NO_POLICY_SCOPE.
2015-07-21 09:22:25 -04:00
Stephen Kelly 4572d8b34e KDE4: Find the Internal package with NO_POLICY_SCOPE.
If someone in KDE wants to port away from OLD policies, they might want to do
so one policy at a time.  This patch will allow them to use

  find_package(KDE4 NO_POLICY_SCOPE)

in callers to get around the CMP0011 warning, while still getting the policy
settings contained within.
2015-07-19 18:20:57 +02:00
Brad King 0fcbd704f8 CMakeExpandImportedTargets: Document as deprecated
The module is not needed anymore for try_compile or try_run.  It cannot
be used with CMP0022 NEW behavior due to generator expressions in
INTERFACE_LINK_LIBRARIES, so document it as deprecated.  Whatever
problems other than try_compile and try_run anyone tried to solve with
this module will have to be addressed another way.
2015-07-17 11:10:02 -04:00
Brad King 536b6c7519 Merge topic 'cpack-per-component-extra-control-file'
3e6b2ab6 CPack/DEB: component version of PACKAGE_CONTROL_EXTRA
506f6bc0 CPack/DEB: Remove duplicate string(TOUPPER) calls
32e9276a Tests/RunCMake/CPack/DEB: add verifyDebControl
47d1f118 Tests/RunCMake/CPack: found files should be preserved
2015-07-17 10:36:15 -04:00
Domen Vrankar 3e6b2ab683 CPack/DEB: component version of PACKAGE_CONTROL_EXTRA
Component version of CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
variable.
2015-07-15 10:00:03 -04:00
Domen Vrankar 506f6bc0d2 CPack/DEB: Remove duplicate string(TOUPPER) calls
We compute _local_component_name the first time we check for
CPACK_DEB_PACKAGE_COMPONENT so we can just re-use it later.
2015-07-15 10:00:00 -04:00
Brad King 77fa27a9f5 Merge topic 'makefile-target-messages'
f0cad193 Tests: Add test for TARGET_MESSAGES global property
1d398478 Makefile: Optionally disable target completion messages in build output
d560b46f CMakeGenericSystem: Recognize Watcom WMake generator as Makefile generator
2015-07-15 09:05:51 -04:00
Stanimir Kabaivanov 606b29d427 Add EUROS RTOS platform description file
Add a basic platform module for EUROS RTOS (euros-embedded.com).

Co-Author: Gerhard Gappmeier <gerhard.gappmeier@ascolab.com>
2015-07-14 14:33:20 -04:00
Michael Ensslin 1d3984780d Makefile: Optionally disable target completion messages in build output
Add a TARGET_MESSAGES property to control whether Makefile targets print
the "Built target " completion messages.  Default to ON to preserve
existing behavior.
2015-07-14 13:57:58 -04:00
Brad King d560b46f52 CMakeGenericSystem: Recognize Watcom WMake generator as Makefile generator 2015-07-14 13:57:58 -04:00
Brad King ead29a4e3d Merge topic 'refactor-rule-var-includes'
c736de7b Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables
6f94b03c Place <DEFINES> before <FLAGS> consistently across compilers
2015-07-14 10:34:28 -04:00
Brad King 1b05417e3c Merge topic 'FindXercesC-versioned-library-2'
38ddabb1 FindXercesC: Also search for xerces-c_2 (#15648)
2015-07-14 10:34:26 -04:00
Brad King c736de7b28 Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables
Teach the Makefile and Ninja generators to substitute for an <INCLUDES>
placeholder instead of putting -I in <FLAGS>.  Update our values for

  CMAKE_<LANG>_COMPILE_OBJECT,
  CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and
  CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE

to place <INCLUDES> just before <FLAGS>.
2015-07-13 10:49:46 -04:00
Brad King 6f94b03c97 Place <DEFINES> before <FLAGS> consistently across compilers
Update our values for

  CMAKE_<LANG>_COMPILE_OBJECT,
  CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and
  CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE

to place <DEFINES> before <FLAGS> consistently across supported
compilers.  We already do this for most compilers, so update the rest
for consistency.
2015-07-13 10:49:46 -04:00
Brad King 93bd154075 Merge topic 'FindMPI-Intel-5'
cfd23d3f FindMPI: Extend Intel-MPI 5+ workaround for recent GCCs
2015-07-13 09:17:44 -04:00
Brad King 13f5f066ff Merge branch 'FindMPI-Intel-5' into release 2015-07-13 08:51:00 -04:00
Roger Leigh 38ddabb194 FindXercesC: Also search for xerces-c_2 (#15648)
This is the previous stable release name used on Windows.
2015-07-13 12:00:33 +01:00
Sean Brennan cfd23d3f1f FindMPI: Extend Intel-MPI 5+ workaround for recent GCCs
Extend the workaround added by commit v3.2.0-rc1~278^2 (FindMPI:
Workaround Intel MPI 5.0.1 exit code problem, 2014-12-04) with an
additional/alternate keyword to recognize the case with recent GCCs.
2015-07-10 08:55:39 -04:00
Brad King ef39edc303 Merge topic 'FindIce-imported-targets'
889b22e2 Help: Add notes for topic 'FindIce-imported-targets'
cd4d2e9c FindIce: document imported targets
748f1eae FindIce: create imported targets for components
2015-07-10 08:51:12 -04:00
Brad King 2ffa8ae29c Merge topic 'compiler-feature-AppleClang-std-flags'
228643af AppleClang: Use modern C++14 standard flags for Apple Clang 6.1
2015-07-10 08:51:09 -04:00
Brad King 6f6664f578 Merge topic 'FindXercesC-versioned-library'
d3d4d627 FindXercesC: Find versioned library on Windows
2015-07-09 09:17:25 -04:00
Brad King 3723fe94e6 Merge topic 'CheckCompilerFlag-do-not-use-FLAGS'
a639689c Check*CompilerFlag: Revert to previous method used to pass flags (#15641)
2015-07-09 09:17:19 -04:00
Brad King 228643af6d AppleClang: Use modern C++14 standard flags for Apple Clang 6.1
The Apple Clang 6.1 compiler that comes with Xcode 6.3 is aware of the
modern -std=c++14 and -std=gnu++14 flags, so use them instead of the
"1y" flags.

Suggested-by: darkapostle@rule506.net
2015-07-09 09:11:57 -04:00
Roger Leigh cd4d2e9c79 FindIce: document imported targets 2015-07-09 11:33:56 +01:00
Daniel Pfeifer 748f1eaee3 FindIce: create imported targets for components 2015-07-09 11:32:36 +01:00
Roger Leigh d3d4d6275a FindXercesC: Find versioned library on Windows 2015-07-08 18:08:20 +00:00
Brad King e7c33efa15 Merge branch 'CheckCompilerFlag-do-not-use-FLAGS' into release 2015-07-08 09:59:42 -04:00
Brad King a639689c16 Check*CompilerFlag: Revert to previous method used to pass flags (#15641)
Since commit v3.3.0-rc1~397^2 (Check*CompilerFlag: Refactor method used
to pass flags, 2015-02-24) these check modules pass the flags to the
compiler front-end during linking as well as during compilation.  This
breaks checks for flags like '-x c++' that are meant only for the
compilation step.  Revert the change and add a test covering a
compiler-only flag.
2015-07-08 09:55:16 -04:00
Brad King 8c1460653e Merge topic 'add-apple-swift-language'
bf112531 Add rudimentary support for the Apple Swift language with Xcode
2015-07-08 09:19:10 -04:00
Brad King ad91d0edd5 Merge topic 'auto_export_dll_symbols'
8f86407c Windows: Optionally generate DLL module definition files automatically
069aa93b bindexplib: Add support for "/bigobj" format objects
61bbbdcf bindexplib: Fix treatment of some symbols
de70c922 bindexplib: Teach DumpFile to return errors
8ea69dfe bindexplib: Build source as part of CMakeLib
2963cb2a bindexplib: Wrap long lines
4ff09893 bindexplib: Drop code that CMake does not need
7de8276c bindexplib: Add copyright/license notice block
65086ad7 bindexplib: Import original implementation from CERN
2015-07-08 09:19:07 -04:00
Brad King 2a249d734b Merge topic 'ExternalProject-USES_TERMINAL'
e4947639 ExternalProject: Added new USES_TERMINAL options
2015-07-07 09:53:48 -04:00
Brad King d8a3208222 Merge topic 'osx-pythondotorg-libs'
02fd0356 FindPythonLibs: Find the python.org libraries (#14809)
2015-07-07 09:53:40 -04:00
Brad King bf11253163 Add rudimentary support for the Apple Swift language with Xcode
Allow the `Swift` language to be enabled with the Xcode generator for
Xcode >= 6.1.  Reject it on other generators and with older Xcode
versions.  Since Apple is the only vendor implementing the language
right now, the compiler id can be just `Apple`.
2015-07-06 16:15:49 -04:00
James Johnston e494763997 ExternalProject: Added new USES_TERMINAL options
Added new USES_TERMINAL option to the ExternalProject_Add_Step
function.  This option passes USES_TERMINAL to the underlying
add_custom_command call so that the Ninja console pool is used.
Also, corresponding new USES_TERMINAL_<step> options were added
to the ExternalProject_Add function.

Justification: if using Ninja with a CMake superbuild, it's often
desirable to limit the superbuild to ONE sub-Ninja process at a
time to avoid oversubscribing the CPU.  Using the console pool also
makes it easy to monitor the progress of the sub-Ninja process.

Independent USES_TERMINAL_<step> arguments are passed to
ExternalProject_Add instead of one USES_TERMINAL argument that
controls everything.  Users may wish to run some steps in parallel
but not others (e.g. parallelize configure but not build).
2015-07-06 14:51:40 -04:00
Matt McCormick 02fd035689 FindPythonLibs: Find the python.org libraries (#14809)
Address the test case

  cmake_minimum_required(VERSION 2.8)
  set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6)
  find_package(PythonLibs 3 REQUIRED)

with a Python 3.4.x .pkg installed from python.org on OSX.

Temporarily set CMAKE_FIND_FRAMEWORK to LAST to avoid finding the
system Python.h prematurely.

Add directories inside the frameworks to the search list for the library
as is done for the header.
2015-07-06 11:14:34 -04:00
Bill Hoffman 8f86407cfd Windows: Optionally generate DLL module definition files automatically
Create target property WINDOWS_EXPORT_ALL_SYMBOLS to automatically
generate a module definition file from MS-compatible .obj files and give
it to the linker in order to export all symbols from the .dll part of a
SHARED library.
2015-07-06 11:11:02 -04:00
Brad King 6dd08e5fe0 Merge branch 'FindMatlab-doc-section-headers' into release 2015-07-06 10:42:31 -04:00
Brad King e5d37f23f1 Merge topic 'xlc-no-qalias-flag'
a33fb493 XL: Drop -qalias=noansi from default C flags
2015-07-06 10:07:58 -04:00
Brad King d59ab78585 Merge topic 'ctest-test-load'
f62d301b ctest: Optionally avoid starting tests that may exceed a given CPU load
07c550ca cmCTestMultiProcessHandler: Refactor RUN_SERIAL implementation
8bf5a80b cmSystemTools: Add StringToULong helper
dffc307c Tests: Teach RunCMake infrastructure to optionally timeout
2015-07-02 10:00:51 -04:00
Brad King a33fb493de XL: Drop -qalias=noansi from default C flags
This was added without explanation by commit v2.8.2~1138 (Add initial XL
C compiler flags for safer builds, 2009-09-30).  It is not consistent
with our default C++ flags for XL and disables several optimizations, so
drop it from our default flags for C.

Suggested-by: Todd Gamblin <tgamblin@llnl.gov>
2015-07-02 09:20:14 -04:00
Betsy McPhail f62d301b92 ctest: Optionally avoid starting tests that may exceed a given CPU load
Add a TestLoad setting to CTest that can be set via a new --test-load
command-line option, CTEST_TEST_LOAD variable, or TEST_LOAD option to
the ctest_test command.  Teach cmCTestMultiProcessHandler to measure
the CPU load and avoid starting tests that may take more than the
spare load currently available.  The expression

 <current_load> + <test_processors> <= <max-load>

must be true to start a new test.

Co-Author: Zack Galbreath <zack.galbreath@kitware.com>
2015-06-30 10:21:37 -04:00
Brad King 99d160385e CMakeDetermineCompilerId: Use per-language regex to match Xcode compiler tool
Move the Ld invocation match expression from CMakeDetermineCompilerId
into CMakeDetermine{C,CXX,Fortran}Compiler so that it can be specified
on a per-language basis.
2015-06-30 10:14:08 -04:00
Brad King bbfebcbc13 Merge topic 'compiler-id-simplify-ide-src'
8306108f CMakeDetermineCompilerId: Simplify src reference in IDE projects
2015-06-29 10:24:14 -04:00
Brad King 1cb8d95509 Merge topic 'vs-librarian-machine-flag-default'
806609c7 VS: Add /machine: flag to Librarian tool (#11240)
2015-06-29 10:24:13 -04:00
Brad King 7e79931e44 Merge topic 'FindMatlab-doc-section-headers'
6524ed5e FindMatlab: Fix documentation section header underline style
2015-06-29 10:24:11 -04:00
Tamas Kenez 6524ed5e94 FindMatlab: Fix documentation section header underline style
Replace caret-headers with double-quote-headers and replace dash-headers
with caret-headers.  This makes the headers match their level of nesting
according to our documentation style guide in cmake-developers(7).
2015-06-29 08:55:49 -04:00
Brad King 806609c702 VS: Add /machine: flag to Librarian tool (#11240)
If a Windows resource (.rc) source file is included in a STATIC library,
the VS "link" tool will process the compiled ".res" file and needs to know
the target architecture.  Without it, we may get a LNK4068 warning and
possibly a LNK1112 error.  Add /machine: to the default static library
flags to give the link tool the information it needs.
2015-06-26 10:07:08 -04:00
Brad King 8306108fd6 CMakeDetermineCompilerId: Simplify src reference in IDE projects
When constructing the "id_src" value for substitution into VS or Xcode
compiler id projects, the input "src" variable already contains the file
name with no path so we do not need get_filename_component.  We know
this because CMAKE_DETERMINE_COMPILER_ID_WRITE already references
"${src}" with this assumption.
2015-06-25 15:16:53 -04:00
Brad King 2fd05f411b Merge topic 'doc-CheckIncludeFile-distinction'
81d58b0d Help: Revise CheckIncludeFile* documentation
2015-06-25 10:39:27 -04:00
Brad King ac90623345 Merge branch 'doc-CheckIncludeFile-distinction' into release 2015-06-25 09:43:06 -04:00
Brad King 81d58b0de6 Help: Revise CheckIncludeFile* documentation
Improve formatting.  Link from each module to the other two.  Explain
the command signatures in more detail.
2015-06-25 09:41:02 -04:00
Roger Leigh 69c5f134a6 FindIce: Find all Ice executables 2015-06-23 09:35:19 +00:00
Roger Leigh 9579be1043 FindIce: Update for Ice version 3.6.0 2015-06-23 08:57:59 +00:00
Brad King 41cd8547c4 Merge topic 'GNUInstallDirs-special-prefixes'
8bcec4d2 Help: Add notes for topic 'GNUInstallDirs-special-prefixes'
c8bd37ec GNUInstallDirs: Add special cases for certain prefixes
5f30f175 GNUInstallDirs: Add test cases
2015-06-19 08:51:45 -04:00
Brad King a53f1af79f Merge topic 'ConcurrentFortran-compiler-id'
54676a0e Help: Add notes for topic 'ConcurrentFortran-compiler-id'
7cd539b1 Add support for Concurrent Fortran 77 Compiler
0d204c1c CMakeDetermineCompilerId: Try matching compiler output to detect id
5f0dad75 CMakeDetermineCompilerId: Refactor id build/check loop logic
c65a060e CMakeDetermineCompilerId: Optionally try some flags before no flags
2015-06-19 08:51:43 -04:00
James Johnston 078b60f05c Embarcadero: Run at most one linker invocation at a time (#15620)
At least some versions (e.g. C++ Builder 5) of the bcc32 linker are known to
write temporary files with a constant name to the current directory (e.g.
"turboc.$ln").  (This can be verified by using Process Monitor to watch the
file writes that bcc32 / ilink32 / implib make).  This causes problems with
some generators that keep a constant current directory and run concurrent
linkers.

For example, the Ninja generator, by default, always has the current directory
set to the top of the build tree - resulting in conflicts between the linkers
that are simultaneously trying to write to "turboc.$ln".  Symptoms include
direct errors regarding the "turboc.$ln" file, or later build steps failing due
to corrupted output from previous links that happened to link "successfully."

This is not a problem for the Borland Makefiles generator which does not
run jobs in parallel.  For the Ninja generator, work around this problem
by using a link job pool of size 1.
2015-06-18 16:29:43 -04:00
Brad King 7cd539b163 Add support for Concurrent Fortran 77 Compiler
The Concurrent Fortran compiler (ccur.com) is available on Linux and can
be used much like the GNU Fortran compiler.  Currently it has no
preprocessor symbols to identify it so we need to detect it by matching
compiler output.

Suggested-by: Anthony Ette <Anthony.R.Ette@controlsdata.com>
2015-06-18 11:36:12 -04:00
Brad King 0d204c1c1d CMakeDetermineCompilerId: Try matching compiler output to detect id
Some compilers can only be distinguished by their compilation output
rather than preprocessor symbols or special flags.  Add infrastructure
to determine the compiler id by matching output.
2015-06-18 11:28:36 -04:00
Brad King 5f0dad75a9 CMakeDetermineCompilerId: Refactor id build/check loop logic
Callers of CMAKE_DETERMINE_COMPILER_ID initialize the
CMAKE_${lang}_COMPILER_ID to unset so we can check it at the end of each
loop iteration instead of the beginning.  This approach allows us to
break out of the loop as soon as we succeed.  It will also allow checks
to be added in more places within the loop later.
2015-06-18 11:27:00 -04:00
Brad King c65a060e1b CMakeDetermineCompilerId: Optionally try some flags before no flags
Teach CMAKE_DETERMINE_COMPILER_ID to optionally try detecting the
compiler id using some given flags before trying to detect it with no
special flags.  This will be useful for Fortran detection to distinguish
some compilers that use the preprocessors of others but have no macro of
their own by getting verbose output.
2015-06-18 10:59:35 -04:00
Brad King e2e6cb7348 Merge topic 'linux-GNU-Fortran-no-rdynamic'
f43defae GNU: Drop -rdynamic flag from Fortran
2015-06-18 09:05:20 -04:00
Brad King ab00ff8d7a Merge topic 'GNUInstallDirs-doc-format'
1199ebf1 GNUInstallDirs: Improve documentation formatting
2015-06-18 09:05:13 -04:00
Alex Turbov c8bd37ec68 GNUInstallDirs: Add special cases for certain prefixes
Teach the module to handle SYSCONFDIR and LOCALSTATEDIR properly if
CMAKE_INSTALL_PREFIX is set to `/` or `/usr` -- i.e. as expected by GNU
Coding Standard (i.e. set SYSCONFDIR to `/etc` and `LOCALSTATEDIR` to
`/var`).  Also if CMAKE_INSTALL_PREFIX is set to /opt/pkg, `SYSCONFDIR`
must be set to `/etc/opt/pkg` and `LOCALSTATEDIR` to `/var/opt/pkg`
according to FHS.
2015-06-18 08:59:34 -04:00
Brad King f43defaec4 GNU: Drop -rdynamic flag from Fortran
The GNU Fortran compiler does not document support for this flag as the
GNU C and C++ compilers do.
2015-06-16 13:58:41 -04:00
Brad King 1199ebf1c5 GNUInstallDirs: Improve documentation formatting
Also consolidate the description of each variable.
2015-06-16 10:33:48 -04:00
Bill Hoffman b405f01daa FindCUDA: Resolve a host compiler symlink only if it is Apple cc -> clang
Otherwise using a "cc -> ccache" or similar symlink as the compiler
causes FindCUDA to select ccache as the host compiler.  Update the logic
added by commit v3.1.0-rc1~354^2 (FindCUDA: Fix OSX Clang & no C
language enabled, 2014-06-12) to apply only in the specific case it is
needed.
2015-06-15 09:41:10 -04:00
Eon Jeong 12e534c2b8 FindBISON: Add DEFINES_FILE option to pass --defines=FILE 2015-06-09 10:26:01 -04:00
Eon Jeong eb859263ae FindBISON: Use CMAKE_PARSE_ARGUMENTS to parse arguments 2015-06-09 10:21:52 -04:00
Eon Jeong 29985ad894 FindBISON: Use BISON_TARGET macro argument names internally
The macro argument names are much clearer than ${ARGV#} references.
2015-06-09 10:21:51 -04:00
Brad King 801b799f9d FindBISON: Improve documentation formatting 2015-06-09 10:21:42 -04:00
Brad King a53d920290 Merge topic 'revert-mingw-no-find_library-dll'
f5dbf00d Windows-GNU: Restore find_library treatment of '.dll' as linkable (#15409)
2015-06-09 09:18:44 -04:00
Brad King 5a5a81e550 Merge topic 'FindwxWidgets-versioned-executable'
2c969743 FindwxWidgets: Fix find_program call for versioned names
2015-06-09 09:18:40 -04:00
Brad King 7ac02e0bc5 Merge branch 'revert-mingw-no-find_library-dll' into release 2015-06-08 14:18:04 -04:00
Brad King 092133b1ba Merge topic 'ExternalProject_init_selected_submodules'
77ee6db5 Help: Add notes for topic 'ExternalProject_init_selected_submodules'
124243c0 ExternalProject: Add unit tests for GIT_SUBMODULES argument
14e2c3ad ExternalProject: Initialize only selected git submodules (#15590)
2015-06-08 10:34:49 -04:00
Brad King f5dbf00da6 Windows-GNU: Restore find_library treatment of '.dll' as linkable (#15409)
Revert commit v3.3.0-rc1~435^2 (Windows-GNU: Do not tell find_library to
treat '.dll' as linkable, 2015-02-18).  MinGW tools support linking to
'.dll' files directly and many non-CMake build systems still do not
provide a separate '.dll.a' file.
2015-06-08 10:16:18 -04:00
Brad King a20ca0c603 Merge branch 'FindwxWidgets-versioned-executable' into release 2015-06-08 09:19:39 -04:00
Brad King 2c96974315 FindwxWidgets: Fix find_program call for versioned names
In commit v3.3.0-rc1~132^2 (FindwxWidgets: Search for wx-config-3.0 in
addition to wx-config, 2015-04-29) we added a second (versioned) name to
the find_program call.  Specifying multiple names requires use of the
NAMES option.  Add it now.  While at it, also add versioned names for
2.9 and 2.8.
2015-06-08 09:13:29 -04:00
Brad King 39fc3ed7e0 CPackDeb: Check dpkg-shlibdeps --ignore-missing-info flag
Check for this flag explicitly in the --help output before using it.  It
turns out there are some versions of the tool that support --version but
not --ignore-missing-info.
2015-06-03 09:23:02 -04:00
Brad King 54a95f5fc6 CPackDeb: Check dpkg-shlibdeps version more robustly
Use if(MATCHES) to verify that a match exists before using the match
group variable.
2015-06-03 09:22:27 -04:00
Silvio Traversaro 14e2c3ad18 ExternalProject: Initialize only selected git submodules (#15590)
Honor the GIT_SUBMODULES option added by commit v3.0.0-rc1~92^2
(ExternalProject: Add option GIT_SUBMODULES, 2014-01-09) during the
'git submodule init' step to avoid initalizing all modules since we
are only going to update the specified subset anyway.  This will
be useful for project repositories that have many submodules
(e.g. https://github.com/boostorg/boost).

Reviewed-by: Daniele E. Domenichelli <daniele.domenichelli@iit.it>
2015-06-02 14:31:26 -04:00
Brad King 3bcd2f538f Merge topic 'FindPostgreSQL-updates'
d4fd30d8 FindPostgreSQL: Search some more common packaging locations
8bd95059 FindPostgreSQL: Add help text for PostgreSQL_LIBRARY cache entry
a68e9b7c FindPostgreSQL: Document PostgreSQL_LIBRARY_DIRS result variable
cc3aee04 FindPostgreSQL: Search for versions 9.2, 9.3, and 9.4
6a2851a1 FindPostgreSQL: Remove extra whitespace after command open parens
b7ca6f90 FindPostgreSQL: Remove unused lines
2015-06-02 09:03:54 -04:00
Brad King e14e1f273a Merge topic 'FindBoost-per-config-libraries'
b3df1e9f FindBoost: Fix Boost_LIBRARY_DIR_{RELEASE,DEBUG} cache entry configuration
2015-06-02 09:03:52 -04:00
Tamar Kranenburg d4fd30d8d8 FindPostgreSQL: Search some more common packaging locations
Use PATH_SUFFIXES to search more common packaging locations.

On Windows, we can use suffixes to search in the standard Program Files
locations without hard-coding the C:/ path.

On Ubuntu/Debian, starting with PostgreSQL 9.3 the header file pg_type.h
is moved to a separate package (from libpq-dev to postgresql-server-dev)
and consequently the file pg_type.h is moved to a new location:

  /usr/include/postgresql/<version>/server/catalog/pg_type.h

While at it, use separate PATH_SUFFIXES variables for library, type and
include (this is merely an optimization).
2015-06-01 11:01:00 -04:00
Tamar Kranenburg 8bd9505976 FindPostgreSQL: Add help text for PostgreSQL_LIBRARY cache entry
The PostgreSQL_LIBRARY_DIR_MESSAGE variable was set with the
needed text but never referenced.
2015-06-01 10:50:27 -04:00
Tamar Kranenburg a68e9b7cae FindPostgreSQL: Document PostgreSQL_LIBRARY_DIRS result variable 2015-06-01 10:47:59 -04:00
Tamar Kranenburg cc3aee048c FindPostgreSQL: Search for versions 9.2, 9.3, and 9.4 2015-06-01 10:47:02 -04:00
Tamar Kranenburg 6a2851a144 FindPostgreSQL: Remove extra whitespace after command open parens 2015-06-01 10:46:12 -04:00
Tamar Kranenburg b7ca6f9037 FindPostgreSQL: Remove unused lines 2015-06-01 10:44:25 -04:00
Brad King b3df1e9f70 FindBoost: Fix Boost_LIBRARY_DIR_{RELEASE,DEBUG} cache entry configuration
These cache entries introduced by commit 892b854f (FindBoost: Search for
debug and release libraries separately, 2015-01-26) should be marked as
advanced just as Boost_LIBRARY_DIR was.  Also their _LAST values should
be tracked so changes can be detected reliably.  Both of these are
handled by code looking in _Boost_VARS_LIB for a list of relevant
variables.  Fix construction of this list that was broken by the above
commit.

Reported-by: Sylvain Joubert <joubert.sy@gmail.com>
2015-06-01 10:10:08 -04:00
Brad King 836c4e9314 Merge topic 'FindPkgConfig_fix_extra_path'
d4c6531a FindPkgConfig: Fix extra paths for CMAKE_{FRAMEWORK,APPBUNDLE}_PATH vars
2015-06-01 09:37:34 -04:00
Raffi Enficiaud 8444809c47 FindMatlab: fix reconfiguration of Matlab_ROOT_DIR 2015-06-01 09:24:06 -04:00
Raffi Enficiaud 5752e55805 FindMatlab: fix header visibility of the generated mex files 2015-06-01 09:24:06 -04:00
Raffi Enficiaud 221a02635e FindMatlab: Drop incorrect usage option from test helper script
There is no 'working_directory' option.
2015-06-01 09:23:54 -04:00
Daniele E. Domenichelli d4c6531a94 FindPkgConfig: Fix extra paths for CMAKE_{FRAMEWORK,APPBUNDLE}_PATH vars
The CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH cache variables are
supposed to be used to generate the extra paths passed to pkg-config,
but instead the CMAKE_PREFIX_PATH variable is used.

This bug was introduced by the refactor in commit v3.1.0-rc1~747^2~1.
2015-05-29 19:22:57 +02:00
Brad King bd2ef44b55 Intel: Disable Fortran optimizations for Debug config on Windows (#15583)
The "/Od" flag is used for C and C++ languages in this configuration so
we should use it for Fortran too.

Suggested-by: Oleg V. Zhylin <ovz@yahoo.com>
2015-05-26 10:25:31 -04:00
Brad King 0de47b05f7 ExternalData: Add option to disable use of symlinks
Add an ExternalData_NO_SYMLINKS to enable use of copies instead of
symlinks to populate the real data files behind a DATA{} reference.
This will be useful on UNIX-like systems when the underlying filesystem
does not actually support symbolic links.

Suggested-by: Matt McCormick <matt.mccormick@kitware.com>
2015-05-22 09:21:47 -04:00
Brad King 3541fc73a1 Merge topic 'ExternalProject_FixLog'
a0d620de ExternalProject: Fix log when the first arg of commands is "COMMAND" (#15567)
2015-05-21 09:03:57 -04:00
Brad King 41d833e1e9 Merge topic 'cleanup-module-policies'
b3795df2 FortranCInterface: Do not use cmake_policy(VERSION)
a4596f20 CheckTypeSize: Do not use cmake_policy(VERSION)
2015-05-21 09:03:38 -04:00
Brad King a696974298 Merge topic 'CheckTypeSyze-CMP0054'
6784f0a6 CheckTypeSize: Avoid if() auto-dereferene in quoted arguments (#15571)
2015-05-21 09:03:37 -04:00
Daniele E. Domenichelli a0d620de82 ExternalProject: Fix log when the first arg of commands is "COMMAND" (#15567) 2015-05-20 15:43:15 +02:00
Brad King b3795df2f4 FortranCInterface: Do not use cmake_policy(VERSION)
Do not force a specific policy version in the module because it prevents
projects from setting newer policies to NEW.  In particular, projects
may want to set CMP0056 to NEW to affect any try_compile calls in this
module.

Use of this was added in commit v2.8.2~714 (FortranCInterface: Use CMake
2.8.0 behavior, 2009-11-17) in order to set CMP0007 to NEW.  Simply set
this policy explicitly instead.
2015-05-19 13:00:38 -04:00
Brad King a4596f2048 CheckTypeSize: Do not use cmake_policy(VERSION)
Do not force a specific policy version in the module because it prevents
projects from setting newer policies to NEW.  In particular, projects
may want to set CMP0056 to NEW to affect any try_compile calls in this
module.

Use of this was added in commit v2.8.2~539 (New CheckTypeSize for OS X
Universal Binaries, 2009-12-17) and updated in commit v3.1.0-rc1~511^2~1
(Do not change minimum required version in modules, 2014-05-07).  The
history does not clearly explain why a specific policy version was
introduced.  If specific policies need to be NEW then we can add
explicit settings for them.
2015-05-19 12:56:07 -04:00
Rolf Eike Beer 6784f0a6eb CheckTypeSize: Avoid if() auto-dereferene in quoted arguments (#15571)
Exposed by a CMP0054 warning.  Set CMP0054 to NEW since no code in this
module depends on the old behavior.
2015-05-19 12:47:24 -04:00
Brad King 00ccfff2bc Merge topic 'cpack-ifw-updates'
342d15cb Update packaging of CMake for QtIFW 2.0
9a0ba4d2 CPackIFW: Add QtIFW 2.0 support
2015-05-18 09:56:17 -04:00
Raffi Enficiaud efab80501e CPack/DEB: reworked documentation 2015-05-15 23:07:49 +02:00
Brad King 1911cb2173 Merge topic 'FindSquish-sh-exit'
12b85b17 FindSquish: Avoid bash-specific behavior in test script (#15568)
2015-05-15 11:22:26 -04:00
Konstantin Podsvirov 9a0ba4d24a CPackIFW: Add QtIFW 2.0 support
Add variables:

- CPACK_IFW_FRAMEWORK_VERSION
- CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
- CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
- CPACK_IFW_PACKAGE_CONTROL_SCRIPT
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
- CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
- CPACK_IFW_VERBOSE
2015-05-15 11:02:49 -04:00
Brad King a86ddbe56e Merge topic 'FindHDF5-version-support'
56858178 FindHDF5: Add version support
4bd122ad FindHDF5: Check for a few H5pubconf*.h name variants
2015-05-14 10:27:42 -04:00
Felix Geyer 12b85b1791 FindSquish: Avoid bash-specific behavior in test script (#15568)
Fix Squish4RunTestCase.sh to be POSIX compliant by exiting with 255
explicitly instead of depending on bash to translate -1 to 255.  This
script is used by the SQUISH_V3_ADD_TEST and SQUISH_V4_ADD_TEST macros
provided by FindSquish.
2015-05-14 08:53:33 -04:00
Axel Huebl 5685817874 FindHDF5: Add version support
Detect the HDF5 version and set HDF5_VERSION just as we
detect HDF5_IS_PARALLEL from the header already.
2015-05-13 10:00:55 -04:00
Brad King 4bd122ad9c FindHDF5: Check for a few H5pubconf*.h name variants
Some distros package H5pubconf.h as "H5pubconf-32.h" or "H5pubconf-64.h"
depending on the architecture.  Look for all of these names.
2015-05-13 09:59:43 -04:00
Felix Geyer 7953867ba4 FindJava: Fix OpenJDK 8 version detection (#15565)
The openjdk-8 (8u45-b14-2) package on Debian unstable has extra
text after the version number components.  Match this and add it
to the reported version string.
2015-05-12 13:46:12 -04:00
Brad King 70d48e1287 Merge topic 'cpack-deb-component-dependencies'
1237d5fa Help: Add notes for topic 'cpack-deb-component-dependencies'
e3f522f6 CPack/DEB per component dependencies
2015-05-12 09:12:54 -04:00
Brad King a5bab6e1a4 Merge topic 'cpack-not-running-tests'
7c103be8 CPack: Enable DEB and RPM tests more reliably
2015-05-12 09:12:52 -04:00
Brad King ffd5d09225 Merge topic 'find_package-no-cmake-gui-paths'
1506f9ca find_package: Drop search in recent cmake-gui locations
8d484463 FindFLTK: Drop search in recent cmake-gui locations
2015-05-12 09:12:50 -04:00
Brad King 55fe56444f Merge topic 'ExternalProject-improve-missing-source-error'
dcb18836 ExternalProject: Improve error when SOURCE_DIR is missing (#15560)
2015-05-12 09:12:43 -04:00
Brad King cca3bbde98 Merge topic 'ninja-gcc-windows'
cf8ce7a3 RC: Do not override MinGW Makefiles generator preference
ca658a45 Ninja: Use forward slashes for linking with any GCC on Windows (#15439)
2015-05-12 09:12:41 -04:00
Domen Vrankar 7c103be8de CPack: Enable DEB and RPM tests more reliably
CPack DEB and RPM generators were not used for some tests because
CPACK_BINARY_DEB and CPACK_BINARY_RPM variable were not set.  Fix this,
simplify generator selection in CTEST_RUN_CPackComponentsForAll, and fix
bugs that were detected after tests were run.
2015-05-12 08:56:34 -04:00
Brad King cf8ce7a39e RC: Do not override MinGW Makefiles generator preference
Update logic added in commit 957c2aac (RC: Simplify selection of
resource compiler based on C/C++ toolchain, 2015-05-07) to avoid
overriding CMAKE_GENERATOR_RC.  The MinGW and MSYS Makefiles
generators use it to select a windres next to the compiler even
if it is not in the PATH.
2015-05-11 09:00:25 -04:00
Raffi Enficiaud e3f522f6e4 CPack/DEB per component dependencies
Dependencies may now be set per component
2015-05-08 23:36:26 +02:00
Brad King 8d48446372 FindFLTK: Drop search in recent cmake-gui locations
This is not done by any other find modules.
2015-05-08 11:26:56 -04:00
Brad King 715b3edf7d Merge topic 'WCDH-CMP0054-safety'
65e6b115 WCDH: Fix condition when variables named "FILE" or "PREFIX" are defined
2015-05-08 09:41:22 -04:00
Brad King e38a2b5953 Merge topic 'ninja-gcc-windows'
20560e8d Ninja: Do not use newlines in response files with Windows GNU tools (#15439)
b3de0dfe Ninja: Use forward slashes for any GCC on Windows (#15439)
378c2a0e Ninja: Refactor detection of MinGW tools on Windows
957c2aac RC: Simplify selection of resource compiler based on C/C++ toolchain
2015-05-08 09:41:20 -04:00
Brad King dcb188363d ExternalProject: Improve error when SOURCE_DIR is missing (#15560)
Mention the SOURCE_DIR that we checked and found empty or missing
so that the user can see the full path to what we expected to find.
2015-05-08 09:20:43 -04:00
Brad King 8102417695 Merge topic 'cpack-rpm-debug-log-fix'
1a2a73a5 CPack/RPM fix output in debug log
2015-05-07 14:25:40 -04:00
Brad King 6b9e2f7100 Merge topic 'cpack-deb-component-auto-discovery'
4588a169 CPack/DEB component dependency auto-discovery
2015-05-07 14:25:31 -04:00
Raffi Enficiaud 4588a1697f CPack/DEB component dependency auto-discovery
Dependency auto-discovery can now be set per component
2015-05-07 14:21:57 -04:00
Brad King 957c2aac7f RC: Simplify selection of resource compiler based on C/C++ toolchain
Revert the refactoring by commit v2.8.11~105^2~1 (Ninja: use MinGW
generator code in EnableLanguage, 2013-03-09) and move the MinGW-
specific logic back to the "MinGW Makefiles" generator.  Instead teach
the platform information modules for GNU and MSVC on Windows to set the
preferred RC compiler just before enabling the RC language.  This way
we choose the RC compiler based on the C/C++ toolchain that is actually
enabled.
2015-05-07 11:43:02 -04:00
Brad King 65e6b1152f WCDH: Fix condition when variables named "FILE" or "PREFIX" are defined
Reported-by: Kevin Godby <godbyk@gmail.com>
2015-05-07 09:00:45 -04:00
Brad King b492a17611 Merge topic 'hp-gnu-asm'
f4734270 HP-UX: Add GNU compiler information for ASM language
2015-05-05 09:35:28 -04:00
Brad King 2d02986b7c Merge topic 'InstallRequiredSystemLibraries-vs2015'
9b2778d4 InstallRequiredSystemLibraries: Update for VS 2015 (#15552)
2015-05-05 09:35:25 -04:00
Thomas Orozco 1a2a73a518 CPack/RPM fix output in debug log
output RPMBUILDOUT when intended
2015-05-05 07:47:10 +02:00
Brad King 9b2778d412 InstallRequiredSystemLibraries: Update for VS 2015 (#15552)
The part of the MS C Runtime library that applications need to
distribute has been renamed from "msvcr*.dll" to "vcruntime*.dll"
starting with VS 2015.  See the Visual C++ Team Blog:

 Introducing the Universal CRT
 http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx
2015-05-04 12:36:12 -04:00
Brad King 0f927b440a FindGTest: Fix parsing of test macro calls with spaces (#15553)
Tolerate spaces before the open paren and after the test name before the
comma.
2015-05-04 11:28:50 -04:00
Brad King f47342701c HP-UX: Add GNU compiler information for ASM language
Suggested-by: Gerhard Grimm <gerhard.grimm@detec.com>
2015-05-04 11:06:16 -04:00
Brad King 088d27c38b Merge topic 'FindwxWidgets-versioned-executable'
1b04561e FindwxWidgets: Search for wx-config-3.0 in addition to wx-config (#15540)
2015-04-30 10:32:13 -04:00
Brad King 1c3158558c Merge topic 'cpack-deb-component-description'
2f0afffa CPackDEB component description
2015-04-30 10:32:06 -04:00
Brad King b39929ab42 Merge topic 'revert-CMP0057'
32a2f414 Revert "add_custom_command: Diagnose MAIN_DEPENDENCY limitation."
2015-04-30 10:32:01 -04:00
Nils Gladitz 32a2f41402 Revert "add_custom_command: Diagnose MAIN_DEPENDENCY limitation."
This reverts commit 242c3966 (add_custom_command: Diagnose
MAIN_DEPENDENCY limitation, 2015-03-09) and the follow up commit
b372a99a (UseSWIG: Do not use MAIN_DEPENDENCY on custom commands,
2015-03-26).

I misdiagnosed the underlying issue that prompted creation of policy CMP0057.
The actual issue surfaces when a single custom command's MAIN_DEPENDENCY
is listed in more than one target; this issue will have to be addressed
independently.
2015-04-30 10:20:20 -04:00
Felix Geyer 4e70fa5cbf CPack: Fix typo in CPACK_INSTALL_CMAKE_PROJECTS docs (#15543) 2015-04-29 15:21:07 -04:00
Orion Poplawski 1b04561edb FindwxWidgets: Search for wx-config-3.0 in addition to wx-config (#15540)
The Fedora package installs 'wx-config' as 'wx-config-3.0' so look
for the latter name too.
2015-04-29 12:51:07 -04:00
Raffi Enficiaud 2f0afffabd CPackDEB component description
Support for setting different description
for each component.
2015-04-29 18:05:36 +02:00
Brad King 70d54b03fd Merge topic 'InstallRequiredSystemLibraries-fix-mbcs'
ff183986 InstallRequiredSystemLibraries: Fix MBCS MFC detection (#15531)
2015-04-28 13:55:52 -04:00
Brad King 7244e8452f ctest: Consolidate documentation of CTEST_USE_LAUNCHERS (#15533)
The documentation of this variable in the CTest module is outdated
and has been superseded by the ctest(1) manual.  In particular, the
latter mentions that it works with the Ninja generator as well as
makefile generators.  Remove the documentation from the CTest module
and replace it with a link to the main variable documentation (which
already references the ctest(1) manual).
2015-04-28 13:32:23 -04:00
Brad King f693c136f9 Modules/CTest: Improve documentation formatting
Use inline reStructuredText markup and add cross-references.
2015-04-28 13:32:23 -04:00
Brad King 5cbedd6b85 Modules/CTest: Use bracket comment for documentation block 2015-04-28 13:32:23 -04:00
Bjoern Thiel ff183986df InstallRequiredSystemLibraries: Fix MBCS MFC detection (#15531)
Fix the logic added by commit v3.0.0-rc5~9^2
(InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12,
2014-05-06).  Do not test content of MSVC${v}_MFC_DIR until after the
variable is set.
2015-04-27 10:09:38 -04:00
Brad King 9fd1f5494f Merge topic 'allow-empty-CMAKE_TOOLCHAIN_FILE'
22926dd6 Allow CMAKE_TOOLCHAIN_FILE to be an empty string
2015-04-23 09:04:41 -04:00
Brad King 46098b0676 Merge topic 'check-compiler-flag-clang'
680ebebc Check*CompilerFlag: Add another pattern for Clang (#15526)
2015-04-23 09:04:39 -04:00
Andrey Pokrovskiy 22926dd651 Allow CMAKE_TOOLCHAIN_FILE to be an empty string
Do not try to include() an empty string in the generated CMakeSystem
module.
2015-04-22 16:06:44 -04:00
Dan Kegel 680ebebc1a Check*CompilerFlag: Add another pattern for Clang (#15526)
Match 'optimization flag ... not supported' messages.
2015-04-22 10:59:57 -04:00
Brad King e1c6df392b ExternalProject: Allow dependencies on INTERFACE libraries
Respect INTERFACE library property whitelist.  Check that a target has
type "UTILITY" before querying other properties.
2015-04-22 08:48:52 -04:00
Brad King c0502faa4b ExternalProject: Fix error message typo 2015-04-21 11:32:13 -04:00
Andrey Pokrovskiy 0273ef1469 ExternalProject: Allow generator expressions with LOG_* options (#15287)
Use file(GENERATE) to write the logging wrapper scripts to evaluate
generator expressions.  Use a per-config script names in case the
content varies by configuration.
2015-04-21 10:51:08 -04:00
Andrey Pokrovskiy 7bd8cfb813 ExternalProject: Allow generator expressions in initial cache options
Use file(GENERATE) to write the initial cache file so that we can
evaluate generator expressions.  Use a per-config initial cache file
name in case the content varies by configuration.
2015-04-21 10:50:29 -04:00
Brad King 0d852d4c65 Merge topic 'cpack-deb-component-vars-prepare'
c8375e15 CPackDeb: Refactor package variable lookup by generator
2015-04-21 09:39:51 -04:00
Domen Vrankar c8375e15eb CPackDeb: Refactor package variable lookup by generator
Preparation for per component variables.
Patch makes sure we know which variables
will be set for per component generator
and also prevents accidental overflows
of variable values between components.
2015-04-21 08:47:18 -04:00
Brad King 2a28f085a5 Merge topic 'FindCUDA.cmake/Fix-MakeDirDuringSeparableCompilation'
0ed22502 FindCUDA: Create output dir while compiling intermediate link file (#15016)
2015-04-21 08:45:03 -04:00
Brad King 50eefbb7e3 Merge topic 'cpack-rpm-refactored-file-listing'
cd953bf7 Help: Add notes for topic 'cpack-rpm-refactored-file-listing'
76080c32 CPackRPM content listing refactor
152e9b32 CPackRPM package content list code move
2015-04-21 08:44:57 -04:00
James Bigler 0ed22502a6 FindCUDA: Create output dir while compiling intermediate link file (#15016)
During compilation of the intermediate link file, the output directory
may not be present in Visual Studio builds.  This fix makes sure the
output directory exists before generating the output file.

Suggested-by: Irwin Zaid
2015-04-20 14:44:17 -04:00
Brad King 5e0e65c189 Merge topic 'add-GreenHills-MULTI-generator'
66b641f4 Help: Add notes for topic 'add-GreenHills-MULTI-generator'
48004d9d Add a 'Green Hills MULTI' generator on Windows
051d8be1 cmLocalGenerator: Constify some cmTarget and cmGeneratorTarget arguments
2015-04-20 14:02:52 -04:00
Geoff Viola 48004d9dbe Add a 'Green Hills MULTI' generator on Windows
Green Hills MULTI is an IDE for embedded real-time systems.  The IDE's
product page can be found here:

 http://www.ghs.com/products/MULTI_IDE.html

It supports cross compiling on ARM, Intel x86, and other architectures
with various operating systems.  The IDE exists on Linux and Windows
host systems, but CMake will currently only generate the project files
on Windows host systems.
2015-04-20 13:55:40 -04:00
Domen Vrankar 76080c32e1 CPackRPM content listing refactor
Refactoring of content list that removes
use of find and sed to make listing algorithm
more clear and remove external dependencies.
Patch also limits man pages handling to
locations listed in brp-compress rpm script
by default - fixes bug report #14660.
2015-04-19 18:22:18 +02:00
Domen Vrankar 152e9b3250 CPackRPM package content list code move
Move rpm package content list code to
a separate function.
2015-04-19 17:01:20 +02:00
Brad King f4e5a0e6aa Merge topic 'FPHSA-updates'
84f06d0c FPHSA: Document REQUIRED_VARS recommendation (#15352)
a3ad275c FPHSA: Revise and format documentation
d1a6d15b FPHSA: Always populate the ExactCase_FOUND variable (#15412).
2015-04-17 10:50:10 -04:00
Brad King 84f06d0c84 FPHSA: Document REQUIRED_VARS recommendation (#15352)
State explicitly that the variables specified are user-facing.
2015-04-17 10:46:25 -04:00
Brad King a3ad275ce0 FPHSA: Revise and format documentation
Use better reStructuredText markup and add cross-references.
2015-04-17 10:46:24 -04:00
Stephen Kelly d1a6d15bcd FPHSA: Always populate the ExactCase_FOUND variable (#15412).
The UPPERCASE name was inconsistent with config-packages, the
find_dependency macro, and even FPHSA itself, which expects
components to be specified with names matching ExactCase.

The FOUND_VAR was only permitted to have two possible values, and
now both are set for compatibility.  Document it as obsolete, and
adjust the code for the same.  Users of the variable should just
remove it.
2015-04-17 10:46:24 -04:00
Tuukka Pasanen dd7e31bc15 UseSWIG: Fix module name detection with relative source file (#15508)
When SWIG_GET_EXTRA_OUTPUT_FILES checks to see if a source file exists
for use in reading the module name, it must pass an absolute path to
the if(EXISTS) command.  Teach SWIG_ADD_SOURCE_TO_MODULE to give it
the absolute path it already knows.
2015-04-15 11:39:44 -04:00
Nils Gladitz fd04d87323 CTestCoverageCollectGCOV: Write tar files intended for CDash in gnutar format
PHP's PharData can not currently (PHP 5.6.4) extract paxr tar archives
with long filenames.
2015-04-10 08:32:31 -04:00
James Bigler 1b0c77a33d FindCUDA: Add specific cuda_language_flag instead of using nvcc.
I was previously appending to nvcc_flags inside the file loop.  This
caused the flag to be appended multiple times which freaks out nvcc.
Now the flag is specifically handled per file.
2015-04-09 11:41:36 -04:00
James Bigler 8313de2d5a FindCUDA: Allow setting CUDA_SOURCE_PROPERTY_FORMAT for non-.cu files.
A previously undocumented feature allowed overriding the format
specified to CUDA_WRAP_SRCS with a source file property called
CUDA_SOURCE_PROPERTY_FORMAT.  I added documentation for this feature as
well as added the ability to let nvcc compile any file regardless of
type if this property was found.

In addition, I also fixed a couple of bugs with the calls to
_cuda_get_important_host_flags that weren't garding the arguments with
"" to prevent empty values from causing errors.
2015-04-09 11:41:36 -04:00
Brad King 48040c19d5 Merge topic 'FindCUDA.cmake/C++11Flags'
99abebde FindCUDA: Handle c++11 host flag
2015-04-09 11:32:39 -04:00
James Bigler 99abebdea0 FindCUDA: Handle c++11 host flag
If the host flags contain a c++11 flag (at least for gcc), then we can't
automatically propagate to nvcc it using -Xcompiler.  This is because
nvcc can't use any C++ only flags.  Instead we find this flag and add it
to nvcc's flags (it has a special flag for dealing with c++11 code) and
remove it from the host flags.

Co-Author: Guillermo Marcus <gmarcus@nvidia.com>
2015-04-08 16:25:47 -04:00
Brad King f3be6c1b9b Merge topic 'FindMatlab_add_recent_versions'
7e311773 FindMatlab: Look for R2014b and R2015a
2015-04-08 09:42:17 -04:00
Daniele E. Domenichelli 7e311773b5 FindMatlab: Look for R2014b and R2015a 2015-04-07 11:42:02 +02:00
Brad King ecb1d5b47a Features: VS 2013 Update 3 supports initializer lists (#15494)
VS 2013 originally claimed to support initializer lists but a bug was
found in which it generated bad code silently.  For this reason we
previously considered support to not be present.  However, Update 3 adds
a hard error on cases that previously generated bad code, so it is now
safe to use initializer lists with VS 2013 Update 3 or greater.  At
worst a compiler error will be issued in the cases that do not work, but
that is no different from any other compiler-specific workaround a
project code may need.
2015-04-06 10:06:26 -04:00
Brad King dfbde6fa99 Merge topic 'gcov-module-coverage-exclude'
9a544f2d CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDE
2015-04-06 08:58:21 -04:00
Nils Gladitz 9a544f2d98 CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDE 2015-04-04 12:25:15 +02:00
James Bigler 7fea2b77df FindCUDA: Use the static CUDA runtime library if available (#15482)
Beginning in CUDA 5.5 a static version of the cuda runtime library
became available.  Since nvcc defaults to using this library over the
shared version, FindCUDA will also default to using this version.  There
are many advantages to using the static version (most importantly to
avoid conflicts with multiple versions when building a CUDA based
library).  Offer a CUDA_USE_STATIC_CUDA_RUNTIME option to control
this behavior.
2015-04-03 10:15:17 -04:00
Brad King ad09756fed Merge topic 'cpack-rpm-basic-symlink-handling'
68e13e98 Help: Add notes for topic 'cpack-rpm-basic-symlink-handling'
681f3a2f CPackRPM: Add basic symlink support (#15209)
2015-03-31 14:11:20 -04:00
Domen Vrankar 681f3a2f01 CPackRPM: Add basic symlink support (#15209)
RPM packages can contain symbolic links to relative paths - including
support for multiple relocation paths through generation of post install
relocation scripts.  Add basic support with limitations described in
documentation.
2015-03-31 14:04:13 -04:00
Felix Schwitzer b372a99a13 UseSWIG: Do not use MAIN_DEPENDENCY on custom commands (#15480)
Add the dependency on the main swig input source file as a normal
DEPENDS option.  We cannot use MAIN_DEPENDENCY because if there are
multiple target languages then multiple custom commands would want to
use the same MAIN_DEPENDENCY, but at most one custom command may specify
a given source file as its MAIN_DEPENDENCY.  Exposed by a CMP0057
warning.
2015-03-30 09:35:43 -04:00
Brad King 8bc6cfd727 Merge topic 'ExternalData-recursive-match'
230f2d6e ExternalData: Add option to recursively match under directories
564c07f7 ExternalData: Parameterize internal file(GLOB) operation selection
2015-03-30 09:27:48 -04:00
Brad King 230f2d6e70 ExternalData: Add option to recursively match under directories
Extend the ``DATA{Dir/,...}`` syntax with a new ``RECURSE:`` option
to enable recursive matching of associated files.  This will allow
an entire directory tree of data to be referenced at once.
2015-03-27 14:44:54 -04:00
Brad King 564c07f7dd ExternalData: Parameterize internal file(GLOB) operation selection
Extend the _ExternalData_arg_find_files signature with an option to
specify the kind of file(GLOB) operation to be performed.  Set
CMP0009 to NEW so that GLOB_RECURSE does not follow symlinks.
2015-03-27 14:44:49 -04:00
Brad King b76b52c0b4 Xcode: Set ARCHS only when CMAKE_OSX_ARCHITECTURES is specified (#14736)
Teach the Xcode generator that ONLY_ACTIVE_ARCH=YES means to use ARCHS,
and that the default of ONLY_ACTIVE_ARCH=NO means to use NATIVE_ARCH and
ignore ARCHS.  In the latter case there is no reason to generate ARCHS.
2015-03-27 10:52:32 -04:00
Brad King 7910cb7cfb Merge topic 'fix-external-project-generator'
a704098d ExternalProject: fix the build command for generator overrides
2015-03-27 09:15:25 -04:00
Brad King 7865036131 Merge topic 'FindMFC-CMP0054'
dcf29800 FindMFC: Use if(DEFINED) to simplify condition (#15477)
2015-03-27 09:15:21 -04:00
Ben Boeckel a704098de8 ExternalProject: fix the build command for generator overrides
The `binary_dir` variable is never set, so this is invalid. Instead, use
"." which all the other build commands use anyways. Also only set the
--config option if it is meaningful.
2015-03-26 18:12:04 -04:00
Brad King a8e7a1047a GNU: Do not use -isystem with gfortran
The compiler documents that USE statements search for ".mod" files
in directories specified with -I, but not -isystem.

Reported-by: Hugh Sorby <h.sorby@auckland.ac.nz>
2015-03-26 09:33:20 -04:00
Brad King dcf298008f FindMFC: Use if(DEFINED) to simplify condition (#15477)
Replace an old hack of the form 'if("${VAR}" MATCHES "^${VAR}$")'
with the much simpler 'if(NOT DEFINED ${VAR})'.  This was exposed
by a CMP0054 warning.
2015-03-26 09:02:05 -04:00
Brad King 51b4321e5f Merge topic 'SunPro-no-KPIE'
209c142f SunPro: Drop non-existent -KPIE flag
2015-03-24 11:26:30 -04:00
Brad King 81db6506a9 Merge topic 'blugeneq-platform-files'
13807bcb BlueGene/Q Platform files
2015-03-24 11:26:24 -04:00
Gregor Jasny 52642b466e OS X: Look for Xcode 5 platform-specific Frameworks
The Xcode 5 platform specific framework locations differ from the Xcode
6 ones.  Look first for the Xcode 6 ones, then for iOS Xcode 5 ones and
last for the Xcode 5 OS X ones.

For reference, the XCTest.framework is located as follows:

 Xcode511.app/Contents/Developer/Library/Frameworks/XCTest.framework
 Xcode511.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/Developer/Library/Frameworks/XCTest.framework
 Xcode511.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/Developer/Library/Frameworks/XCTest.framework

 Xcode601.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework
 Xcode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework
 Xcode601.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks/XCTest.framework

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-24 11:23:40 -04:00
Steven Vancoillie 209c142f68 SunPro: Drop non-existent -KPIE flag 2015-03-23 10:24:18 -04:00
Brad King 7ef5f240c8 Merge topic 'lib64_paths_crosscompiling'
81bfebfe Linux: Ignore Debian-specific case when cross-compiling
2015-03-23 09:22:06 -04:00
Zack Galbreath 81bfebfe8c Linux: Ignore Debian-specific case when cross-compiling
When constructing settings for the target environment during cross
compiling we should not check for /etc/debian_version on the host.
2015-03-23 09:19:54 -04:00
Brad King 4f129615b3 Merge topic 'UseJava-fix-arg-parse'
a21e8df0 UseJava: Fix add_jar argument parsing (#14655)
2015-03-23 09:18:41 -04:00
Brad King ed99514fc1 Merge topic 'cpack-bundle-codesign'
fb3e4de8 CPack: Add support to overwrite or pass additional parameter to codesign
2015-03-23 09:18:40 -04:00
Brad King 45583e5272 Merge topic 'cpack-rpm-ignore-default-prefix'
18917d66 CPack/RPM ignore install prefix relocation path
2015-03-23 09:18:36 -04:00
Brad King d0af020713 Merge topic 'SunPro-Fortran-KPIC'
3556fb1b SunPro: Add position independent code flag for Fortran compiler
2015-03-23 09:18:34 -04:00
Brad King 88abc78723 Merge topic 'pgi-no-pie'
00842df4 PGI: Remove invalid -fPIE flag (#15460)
2015-03-23 09:18:32 -04:00
Brad King a37937f7c0 Merge topic 'xcode-xctest'
4178cd88 Help: Add notes for topic 'xcode-xctest'
87a4b858 Tests: Add XCTest example to test Frameworks and Cocoa App Bundles
ba14510b OS X: Add FindXCTest module
3714955b OS X: Add handling for XCTest bundles
54a5cdbb Tests: Compute Xcode version for any generator on OS X
2015-03-23 09:18:29 -04:00