Commit Graph

6261 Commits

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