Commit Graph

5871 Commits

Author SHA1 Message Date
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
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
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 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 13f5f066ff Merge branch 'FindMPI-Intel-5' into release 2015-07-13 08:51:00 -04:00
Sean Brennan cfd23d3f1f FindMPI: Extend Intel-MPI 5+ workaround for recent GCCs
Extend the workaround added by commit v3.2.0-rc1~278^2 (FindMPI:
Workaround Intel MPI 5.0.1 exit code problem, 2014-12-04) with an
additional/alternate keyword to recognize the case with recent GCCs.
2015-07-10 08:55:39 -04:00
Brad King e7c33efa15 Merge branch 'CheckCompilerFlag-do-not-use-FLAGS' into release 2015-07-08 09:59:42 -04:00
Brad King a639689c16 Check*CompilerFlag: Revert to previous method used to pass flags (#15641)
Since commit v3.3.0-rc1~397^2 (Check*CompilerFlag: Refactor method used
to pass flags, 2015-02-24) these check modules pass the flags to the
compiler front-end during linking as well as during compilation.  This
breaks checks for flags like '-x c++' that are meant only for the
compilation step.  Revert the change and add a test covering a
compiler-only flag.
2015-07-08 09:55:16 -04:00
Brad King 6dd08e5fe0 Merge branch 'FindMatlab-doc-section-headers' into release 2015-07-06 10:42:31 -04:00
Tamas Kenez 6524ed5e94 FindMatlab: Fix documentation section header underline style
Replace caret-headers with double-quote-headers and replace dash-headers
with caret-headers.  This makes the headers match their level of nesting
according to our documentation style guide in cmake-developers(7).
2015-06-29 08:55:49 -04:00
Brad King ac90623345 Merge branch 'doc-CheckIncludeFile-distinction' into release 2015-06-25 09:43:06 -04:00
Brad King 81d58b0de6 Help: Revise CheckIncludeFile* documentation
Improve formatting.  Link from each module to the other two.  Explain
the command signatures in more detail.
2015-06-25 09:41:02 -04:00
Brad King 7ac02e0bc5 Merge branch 'revert-mingw-no-find_library-dll' into release 2015-06-08 14:18:04 -04:00
Brad King f5dbf00da6 Windows-GNU: Restore find_library treatment of '.dll' as linkable (#15409)
Revert commit v3.3.0-rc1~435^2 (Windows-GNU: Do not tell find_library to
treat '.dll' as linkable, 2015-02-18).  MinGW tools support linking to
'.dll' files directly and many non-CMake build systems still do not
provide a separate '.dll.a' file.
2015-06-08 10:16:18 -04:00
Brad King a20ca0c603 Merge branch 'FindwxWidgets-versioned-executable' into release 2015-06-08 09:19:39 -04:00
Brad King 2c96974315 FindwxWidgets: Fix find_program call for versioned names
In commit v3.3.0-rc1~132^2 (FindwxWidgets: Search for wx-config-3.0 in
addition to wx-config, 2015-04-29) we added a second (versioned) name to
the find_program call.  Specifying multiple names requires use of the
NAMES option.  Add it now.  While at it, also add versioned names for
2.9 and 2.8.
2015-06-08 09:13:29 -04:00
Brad King 39fc3ed7e0 CPackDeb: Check dpkg-shlibdeps --ignore-missing-info flag
Check for this flag explicitly in the --help output before using it.  It
turns out there are some versions of the tool that support --version but
not --ignore-missing-info.
2015-06-03 09:23:02 -04:00
Brad King 54a95f5fc6 CPackDeb: Check dpkg-shlibdeps version more robustly
Use if(MATCHES) to verify that a match exists before using the match
group variable.
2015-06-03 09:22:27 -04:00
Brad King 3bcd2f538f Merge topic 'FindPostgreSQL-updates'
d4fd30d8 FindPostgreSQL: Search some more common packaging locations
8bd95059 FindPostgreSQL: Add help text for PostgreSQL_LIBRARY cache entry
a68e9b7c FindPostgreSQL: Document PostgreSQL_LIBRARY_DIRS result variable
cc3aee04 FindPostgreSQL: Search for versions 9.2, 9.3, and 9.4
6a2851a1 FindPostgreSQL: Remove extra whitespace after command open parens
b7ca6f90 FindPostgreSQL: Remove unused lines
2015-06-02 09:03:54 -04:00
Brad King e14e1f273a Merge topic 'FindBoost-per-config-libraries'
b3df1e9f FindBoost: Fix Boost_LIBRARY_DIR_{RELEASE,DEBUG} cache entry configuration
2015-06-02 09:03:52 -04:00
Tamar Kranenburg d4fd30d8d8 FindPostgreSQL: Search some more common packaging locations
Use PATH_SUFFIXES to search more common packaging locations.

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

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

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

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

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

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

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

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

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

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

- CPACK_IFW_FRAMEWORK_VERSION
- CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
- CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
- CPACK_IFW_PACKAGE_CONTROL_SCRIPT
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
- CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
- CPACK_IFW_VERBOSE
2015-05-15 11:02:49 -04:00
Brad King a86ddbe56e Merge topic 'FindHDF5-version-support'
56858178 FindHDF5: Add version support
4bd122ad FindHDF5: Check for a few H5pubconf*.h name variants
2015-05-14 10:27:42 -04:00
Felix Geyer 12b85b1791 FindSquish: Avoid bash-specific behavior in test script (#15568)
Fix Squish4RunTestCase.sh to be POSIX compliant by exiting with 255
explicitly instead of depending on bash to translate -1 to 255.  This
script is used by the SQUISH_V3_ADD_TEST and SQUISH_V4_ADD_TEST macros
provided by FindSquish.
2015-05-14 08:53:33 -04:00
Axel Huebl 5685817874 FindHDF5: Add version support
Detect the HDF5 version and set HDF5_VERSION just as we
detect HDF5_IS_PARALLEL from the header already.
2015-05-13 10:00:55 -04:00