Commit Graph

6364 Commits

Author SHA1 Message Date
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