Commit Graph

6514 Commits

Author SHA1 Message Date
Brad King 067b21b675 Merge topic 'clang-format-include-order'
e1c77472 Format include directive blocks and ordering with clang-format
180538c7 Source: Stabilize include order
0e7bca92 Utilities/Release: Stabilize include order in WiX custom action
eb817be0 Tests: Stabilize include order in MFC, VSXaml, and VSWinStorePhone
eda313b4 Tests: Stabilize include order in StringFileTest
7110b754 CursesDialog: add missing cmState include
d7a5f255 Modules: Remove unused CMakeTestWatcomVersion.c file
2016-05-02 09:24:21 -04:00
Brad King e1c7747253 Format include directive blocks and ordering with clang-format
Sort include directives within each block (separated by a blank line) in
lexicographic order (except to prioritize `sys/types.h` first).  First
run `clang-format` with the config file:

    ---
    SortIncludes: false
    ...

Commit the result temporarily.  Then run `clang-format` again with:

    ---
    SortIncludes: true
    IncludeCategories:
      - Regex:    'sys/types.h'
        Priority: -1
    ...

Commit the result temporarily.  Start a new branch and cherry-pick the
second commit.  Manually resolve conflicts to preserve indentation of
re-ordered includes.  This cleans up the include ordering without
changing any other style.

Use the following command to run `clang-format`:

    $ git ls-files -z -- \
        '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
      egrep -z -v '(Lexer|Parser|ParserHelper)\.' |
      egrep -z -v '^Source/cm_sha2' |
      egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
      egrep -z -v '^Utilities/(KW|cm).*/' |
      egrep -z -v '^Tests/Module/GenerateExportHeader' |
      egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' |
      xargs -0 clang-format -i

This selects source files that do not come from a third-party.

Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
2016-04-29 13:58:54 -04:00
Brad King d7a5f25599 Modules: Remove unused CMakeTestWatcomVersion.c file
This file has not been used since commit v2.8.10~218^2~7^2 (Watcom:
Simplify compiler version detection, 2012-08-13).
2016-04-29 09:12:32 -04:00
Brad King d2a061596e Features: Record features for VS 2015 Update 2 2016-04-28 13:05:52 -04:00
Brad King 5b4f771fd7 Merge topic 'intel-compiler-features'
21b1fa5c Help: Add notes for topic 'intel-compiler-features'
9addce99 Features: Record standard flags for Intel C/C++ on Windows
15a6c950 WCDH: Add Intel to list of supported compilers
36f32ede Features: Record standards and features for Intel C on UNIX
d028b948 Features: Specify minimum version Intel C++ 12.1
be910f00 Features: Record standards and features for Intel C++ on UNIX
7f401ae4 Features: Detect C default dialect on MSVC-like compilers
2016-04-28 09:26:09 -04:00
Brad King 9addce99c2 Features: Record standard flags for Intel C/C++ on Windows
Select the `-std=` or `-Qstd=` flag based on whether Intel is GNU-like
or MSVC-like, respectively.
2016-04-28 09:16:36 -04:00
Robert Maynard 15a6c9502d WCDH: Add Intel to list of supported compilers 2016-04-28 09:16:36 -04:00
Robert Maynard 36f32ede8d Features: Record standards and features for Intel C on UNIX
Record features for Intel C 12.1 and above.  Skip this for now on
Windows (where Intel C simulates MSVC).
2016-04-28 09:16:35 -04:00
Robert Maynard d028b94872 Features: Specify minimum version Intel C++ 12.1
Versions below 12.1 do not provide enough information to properly detect
if compiling with c++98 or c++0x enabled so remove them from the
supported list.
2016-04-28 09:16:31 -04:00
Levi Morrison be910f00b5 Features: Record standards and features for Intel C++ on UNIX
Skip this for now on Windows (where Intel C++ simulates MSVC).
2016-04-28 09:15:25 -04:00
Brad King 7f401ae43f Features: Detect C default dialect on MSVC-like compilers
These compilers default to C 90 but do not define __STDC__.  While MSVC
itself has no option to change the dialect, compilers that document
compatibility with MSVC and define _MSC_VER may (e.g. Intel).
2016-04-28 09:08:35 -04:00
Brad King 7db9f3f294 ExternalProject: Add option to perform a shallow Git clone (#15291)
Inspired-by: Ilya Kulakov <kulakov.ilya@gmail.com>
2016-04-27 10:58:07 -04:00
Brad King f56a0ddd28 FindBISON: Fix BISON_TARGET macro for special characters in path (#16072)
Use the VERBATIM option to add_custom_command so that the command is
escaped correctly.
2016-04-20 13:19:31 -04:00
Brad King 3d13492eac FindFLEX: Fix FLEX_TARGET macro for special characters in path (#16072)
Use the VERBATIM option to add_custom_command so that the command is
escaped correctly.
2016-04-20 13:18:56 -04:00
Brad King 484958b781 Merge topic 'coverage_collect_delete'
5de122df CTestCoverageCollectGCOV: improve DELETE option
2016-04-20 09:52:41 -04:00
Brad King 0d4c75ecfb Merge topic 'boost-import-default'
2c1b720e FindBoost: Define Boost::boost for all boost versions
2016-04-20 09:52:38 -04:00
Roger Leigh 2c1b720e64 FindBoost: Define Boost::boost for all boost versions 2016-04-19 22:07:45 +01:00
Roman Wüger 26c92d50fd BundleUtilities: Add optional parameter to ignore specified files 2016-04-19 13:20:15 -04:00
Zack Galbreath 5de122dfa4 CTestCoverageCollectGCOV: improve DELETE option
The DELETE option to ctest_coverage_collect_gcov now properly
removes all the .gcov files that were created by this function.
Previously it left behind any files that were excluded by
CTEST_CUSTOM_COVERAGE_EXCLUDE.

This option now also deletes the following files/directory that
are created by ctest_coverage_collect_gcov:
  data.json
  coverage_file_list.txt
  the uncovered/ directory
2016-04-19 13:19:10 -04:00
Brad King 21fb50d512 Merge topic 'FindMPI-intel-compiler'
2a99fae1 FindMPI: Recognize `.lib` file names for specification of link libraries
c4417b09 FindMPI: Recognize /LIBPATH for specification of linker paths.
2016-04-18 08:57:25 -04:00
Frank Park 19e8752b86 FindGit: Add new 'GitHub for Windows' user directory
GitHub for Windows now installs in

    $ENV{LOCALAPPDATA}/Github/PortableGit*/cmd

instead of

    $ENV{LOCALAPPDATA}/Github/PortableGit*/bin

Search the new location first but keep the old one in case people have
older versions installed.
2016-04-15 14:59:06 -04:00
Dominic Meiser 2a99fae1cc FindMPI: Recognize `.lib` file names for specification of link libraries
The Intel MPI compiler wrappers link against static MPI libraries simply
by listing the libraries (no `-l`).
2016-04-15 13:42:05 -04:00
Dominic Meiser c4417b0927 FindMPI: Recognize /LIBPATH for specification of linker paths.
The Intel MPI wrappers use this form of -L to specify library locations.
2016-04-15 13:42:05 -04:00
Christoph Grüninger 875490545d FindMPI: Improve documentation formatting 2016-04-11 09:43:22 -04:00
Brad King 335b5430bf Merge topic 'GetPrerequisites-more-dumpbin-paths'
a1c40291 GetPrerequisites: Look for VS tools using environment variables
c79f88b0 GetPrerequisites: add path of VS 10,11,12,14 in order to find dumpbin.exe
2016-04-11 09:38:55 -04:00
Brad King a1c402910c GetPrerequisites: Look for VS tools using environment variables
The `VS*COMNTOOLS` environment variables specify locations of VS tools
and are set during the VS installation.  Use them in addition to the
hard-coded default install locations.
2016-04-08 08:48:20 -04:00
FARBOS Arnaud c79f88b019 GetPrerequisites: add path of VS 10,11,12,14 in order to find dumpbin.exe 2016-04-08 08:48:03 -04:00
Brad King e888af9719 MSVC: Drop space in `/DNDEBUG` flag for consistency (#16052)
We define `NDEBUG` without a space after the `-D` option for most
compilers.  Remove the space for MSVC (and Intel Fortran) for
consistency.  The MS compiler technically does not document that
the `-D` argument may be separated from its value, though every
version to date supports it.
2016-04-07 10:54:43 -04:00
Brad King 82c405c473 Merge topic 'branch_coverage_working_dir'
c5ff34cc CTestCoverageCollectGCOV: specify base dir for GLOB_RECURSE
2016-04-07 08:57:45 -04:00
Brad King 7d5a0f5f60 Merge topic 'branch_coverage_glob'
8ea1b0df CTestCoverageCollectGCOV: Improve documentation
425d7646 CTestCoverageCollectGCOV: Honor CTEST_EXTRA_COVERAGE_GLOB
2016-04-07 08:57:41 -04:00
Brad King cdce3cc902 Merge topic 'UseJava-cmake-command'
fa382ae8 UseJava: use CMAKE_COMMAND instead of direct cmake call
2016-04-07 08:57:35 -04:00
Brad King 47e358dcdb Merge topic 'ExternalProject-TLS_VERIFY-fixes'
4d8c988c ExternalProject: Fix file download script with CMAKE_TLS_{VERIFY,CAINFO}
23a71e4e ExternalProject: Tell Git not to verify certs only if TLS_VERIFY is OFF
2016-04-07 08:57:29 -04:00
Zack Galbreath 8ea1b0df58 CTestCoverageCollectGCOV: Improve documentation
Clean up prose and mention support for CTEST_EXTRA_COVERAGE_GLOB.
2016-04-07 08:53:30 -04:00
Zack Galbreath 425d764685 CTestCoverageCollectGCOV: Honor CTEST_EXTRA_COVERAGE_GLOB
Teach CTestCoverageCollectGCOV to honor the
CTEST_EXTRA_COVERAGE_GLOB variable.  When this variable is set,
this module will glob for matching source files that were not
covered and include them in the resulting tar file.
2016-04-07 08:53:30 -04:00
Brad King 4d8c988caa ExternalProject: Fix file download script with CMAKE_TLS_{VERIFY,CAINFO}
Avoid generating incorrect code such as

    set(CMAKE_TLS_VERIFY set(CMAKE_TLS_VERIFY 1))

when one of these variables is set in the calling project.
2016-04-06 16:49:13 -04:00
Brad King 23a71e4e4d ExternalProject: Tell Git not to verify certs only if TLS_VERIFY is OFF
Since commit 272779ce (ExternalProject: Allow TLS_VERIFY for git clones,
2016-04-01) we pass the `-c http.sslVerify=false` option to `git clone`
even if no explicit `TLS_VERIFY` option was set.  This changes behavior
because we used to use the default Git behavior by default.  Revise the
logic to preserve the old default behavior by passing the new option
only if `TLS_VERIFY` was explicitly passed as `OFF`.

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

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

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

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

The command:

  xcodebuild -showBuildSettings -target CocoaExampleTests -configuration Debug

Output with Xcode 7.2:

  TARGET_BUILD_DIR = .../Tests/XCTest/Debug

Output with Xcode 7.3

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

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

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

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

Suggested-by: Jussi Judin
2016-03-15 10:18:50 -04:00
Brad King 4ea249a387 Merge branch 'ios-install-combined-one-arch' into release 2016-03-15 10:11:27 -04:00
Ruslan Baratov e3fc2899c8 Fix iOS combined feature for single architecture targets
If list of valid target architectures is empty for given SDK then there will
be no VALID_ARCHS build setting returned by Xcode. Return "" (empty string)
explicitly in this case. This may happens if CMAKE_IOS_INSTALL_COMBINED is ON
but only one architecture used in target.
2016-03-15 10:09:50 -04:00
Roger Leigh e2f387fabb FindBoost: Tolerate missing indirect dependencies (#16013)
Depending upon the configuration, certain components may or may not
be installed, for example Boost.Regex, but other components may
still have header dependencies upon these components which will
obviously fail to work.  Since we can't make a sensible
determination with the hardcoded dependency information, we
choose to interpret these dependencies less strictly.
2016-03-15 09:54:58 -04:00
Brad King 2a43a4768c Merge topic 'cygwin-clang'
517cef8c Cygwin: Add support for Clang compiler
2016-03-11 08:30:49 -05:00
Brad King 9b9396b06a Merge topic 'FindProtobuf-variable-case'
a7b09e7f FindProtobuf: Rename variables to match case of module name
2016-03-11 08:30:46 -05:00
Han Sangjin 517cef8c55 Cygwin: Add support for Clang compiler
The platform information module for GNU on CYGWIN can be reused for
Clang on CYGWIN because clang accepts almost all of the same options.
2016-03-10 09:35:48 -05:00
Brad King 1ed74b9d22 Merge topic 'remove-vs6-generator'
b42866a3 Drop Visual Studio 6 generator
cd9ba3ec cmLocalVisualStudio7Generator: Fix name of helper function
2016-03-10 09:16:23 -05:00
Brad King 88a189f367 Merge topic 'clang-iframework-version'
63c4133b OS X: Use -iframework with Clang only on version >= 3.2
2016-03-10 09:16:18 -05:00
Brad King 612a8b3bd8 Merge topic 'vs-clang-cl'
491b41dd Help: Add notes for topic 'vs-clang-cl'
ad6d27ac Tests: do not build PrecompiledHeader on Clang/C2
a0f0541f Tests: fix PDBDirectoryAndName on Clang/C2
3541af67 Tests: fix Plugin building on Clang/C2
1902c293 Tests: fix complexOneConfig building on Clang/C2
cab2ec11 Tests: fix Complex building on Clang/C2
ada3736c Tests: fix Module.GenerateExportHeader building on Clang/C2
123b7e13 Tests: fix AliasTarget building on Clang/C2
445d4d4b VS 14: Add flag map for -std= to CppLanguageStandard tag in project files
0a785eb4 Features: Clang has no cxx_decltype_incomplete_return_type in MSVC sim mode
2c2ec488 VS: in Clang/C2 toolset, setup correct compiler settings
37afe00f CMakeDetermineCompilerId: Add detection of clang.exe bundled with VS
2016-03-10 09:16:16 -05:00
Mariusz Pluciński 0a785eb4f4 Features: Clang has no cxx_decltype_incomplete_return_type in MSVC sim mode 2016-03-10 09:11:40 -05:00
Mariusz Pluciński 2c2ec4883b VS: in Clang/C2 toolset, setup correct compiler settings 2016-03-10 09:11:39 -05:00
Mariusz Pluciński 37afe00faa CMakeDetermineCompilerId: Add detection of clang.exe bundled with VS
When using a clang toolset we need to find `clang.exe` instead of
`cl.exe`.
2016-03-10 09:11:36 -05:00
Brad King b42866a34a Drop Visual Studio 6 generator
This generator has been deprecated since CMake 3.3.  Remove it.
Update documentation, modules, and tests to drop content specific
to this generator.
2016-03-09 09:42:18 -05:00
O. Libre 1b029ea91f FindJNI: Append path only "if(EXISTS" 2016-03-09 08:55:13 -05:00
O. Libre add2557865 FindJNI: Add support for Ubuntu 15.10
- Reuse JAVA_APPEND_LIBRARY_DIRECTORIES for JAVA_AWT_INCLUDE_DIRECTORIES
- Append three directories /usr/lib/jvm/java-{8,7,6}-openjdk-{libarch}
2016-03-09 08:55:13 -05:00
Brad King 345d5926ee Merge topic 'deprecate-CMakeForceCompiler'
d929c35f CMakeForceCompiler: Deprecate this module and its macros
2016-03-09 08:50:04 -05:00
Brad King d1856e2e33 Merge topic 'add-FindLTTngUST'
a4194deb Add FindLTTngUST module to find LTTng-UST library
2016-03-09 08:50:01 -05:00
Jean-Christophe Fillion-Robin 63c4133b38 OS X: Use -iframework with Clang only on version >= 3.2
Since commit v3.1.0-rc1~564^2 (OS X: Use -iframework for system
framework directories, 2014-05-05) we test the version of Clang is smaller
that 3.1 to see if it supports -iframework.

Considering that "iframework" support has been added in clang@r142418
(Frontend: Support -iframework.) prior to clang 3.1, this made sense.

That said, considering that support for multiple -iframework parameters
has been added later in clang@r164607 (-iframework should allow separate
arguments. ) prior to clang 3.2, this commit updates the check to enable
framework support only if version is >= 3.2
2016-03-09 08:37:29 -05:00
Brad King d929c35f08 CMakeForceCompiler: Deprecate this module and its macros
We originally deprecated this module in commit v3.5.0-rc1~295^2
(CMakeForceCompiler: Deprecate this module and its macros, 2015-10-19).
Then a use case was found to still require the module so the deprecation
was reverted for CMake 3.5 by commit v3.5.0-rc3~4^2 (CMakeForceCompiler:
De-deprecate until more use cases have alternatives, 2016-02-17).  Since
then `CMAKE_TRY_COMPILE_TARGET_TYPE` was introduced to provide an
alternative solution for that use case.  Deprecate the module again.
2016-03-08 10:42:28 -05:00
Brad King 37e8ccee54 GetPrerequisites: Fix gp_resolved_file_type on non-canonical paths
Canonicalize the input paths so we treat them both consistently,
in particular when comparing them via string operations.  This
is needed for calls like

    fixup_bundle("${CMAKE_INSTALL_PREFIX}/../test" ...)

Suggested-by: Benjamin Ballet <bballet@ivsweb.com>
2016-03-08 09:08:54 -05:00
Brad King b14fe5c176 Merge topic 'doc-find-python-call-order'
743f2a80 FindPython{Interp,Libs}: Clarify recommended call order
2016-03-08 08:39:35 -05:00
Antonio Perez Barrero a7b09e7f43 FindProtobuf: Rename variables to match case of module name
Use recommended case for variable names. i.e. matching name of the
module as passed to `find_package`.

For backwards compatibility, the upper case versions of both input and
output variables are used and defined when appropriate.  Skip this for
the _FOUND variable because FPHSA already does it.  Skip this for the
_VERSION variable because that was recently added and never available
with the old name in a release of CMake.
2016-03-07 12:56:25 -05:00
Philippe Proulx a4194debea Add FindLTTngUST module to find LTTng-UST library
Also detect the library version number.  Provide results as variables
and as an imported target, LTTng::UST.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
2016-03-07 11:46:49 -05:00
Brad King 0e02c69170 Merge branch 'doc-find-python-call-order' into release 2016-03-07 11:03:50 -05:00
Brad King 743f2a8031 FindPython{Interp,Libs}: Clarify recommended call order
Improve wording in our advice about how to call both of these modules.
2016-03-07 10:56:31 -05:00
Brad King 8256d021c8 Merge topic 'BundleUtilities-dylib-in-framework'
3906ca5a BundleUtilities: Fix regression handling frameworks
2016-03-07 10:02:47 -05:00
Clinton Stimpson 3906ca5af4 BundleUtilities: Fix regression handling frameworks
Fix logic error introduced in commit e422f738 (BundleUtilities: Fix
treatment of .dylib inside .framework folders, 2016-02-11).
2016-03-07 09:30:18 -05:00
Marc Chevrier d4482dd9c9 CPackWIX: Support binary-only WiX installations
Also fix URLUPDATEINFO -> ARPURLUPDATEINFO reference
in CPACK_WIX_PROPERTY_<PROPERTY> examples.

Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
2016-03-01 09:50:46 +01:00
Brad King 6b0a664c16 Merge topic 'compiler-check-message'
f3ac0651 Improve compiler check message on non-Make generators
2016-02-26 10:31:32 -05:00
Brad King f3ac06519f Improve compiler check message on non-Make generators
When we check for a working compiler we print a message of the form:

    Check for working <LANG> compiler: ...

At one time CMAKE_<LANG>_COMPILER was not well-defined for all
generators so we printed the generator name instead of the path to
the compiler.  Nowadays we always know the compiler, so update the
message to print it unconditionally.  This is more informative than
the generator name, especially when a toolset (cmake -T) is used.

Suggested-by: Gregor Jasny <gjasny@googlemail.com>
2016-02-25 08:29:41 -05:00
Alex Neundorf 6ee6b17ed5 Eclipse: add newer version numbers
Alex
2016-02-24 21:07:45 +01:00
Brad King 2039bf40e4 Merge topic 'CodeBlocksParallelFlag'
84ccd4f7 CodeBlocks: generate parallel project files (make -j)
2016-02-24 09:39:25 -05:00
Alex Neundorf 84ccd4f746 CodeBlocks: generate parallel project files (make -j)
This is done the same way as for Eclipse: cmake tries to determine
the number of CPUs, and then adds the respective -jN to the make
invocations in the project file.

Alex
2016-02-23 22:37:44 +01:00
Florian Apolloner and John Knottenbelt b8263a2f8d CPack/Deb Create DEBIAN directory for dpkg-shlibdeps
If CMAKE_INSTALL_RPATH is set and contains $ORIGIN then
dpkg-shlibdeps searches for the DEBIAN directory in order
to resolve $ORIGIN in the rpath to a directory. We need to
create the DEBIAN directory for this to work.
2016-02-19 01:27:36 +01:00
Brad King e503941adb Merge topic 'de-deprecate-CMakeForceCompiler'
beaa4fa5 CMakeForceCompiler: De-deprecate until more use cases have alternatives
2016-02-18 10:08:03 -05:00
Brad King 1b369aa285 Merge topic 'FindCUDA-verbatim'
1911cda0 FindCUDA: Fix regression under Visual Studio generators
2016-02-18 10:07:58 -05:00
Brad King 3dd420bd90 Merge branch 'FindCUDA-verbatim' into release 2016-02-17 15:25:44 -05:00
Brad King 1911cda03e FindCUDA: Fix regression under Visual Studio generators
Since commit v3.5.0-rc1~47^2 (FindCUDA: Support special characters in
path, 2016-01-15) our add_custom_command calls use VERBATIM so that
CMake will automatically quote special characters correctly.  However,
this breaks the special `$(VCInstallDir)` placeholder used with Visual
Studio generators.  Since we do not support preservation of such
placeholders with VERBATIM (see issue #15001) we must fall back to not
using VERBATIM when the placeholder is used.

A better fix would be to stop using `$(VCInstallDir)` and use the value
of `CMAKE_${CUDA_C_OR_CXX}_COMPILER` instead, but that will require
additional semantic and documentation changes.  For now simply fix the
regression with the above approach.

Reported-by: Stephen Sorley <Stephen.Sorley@jhuapl.edu>
2016-02-17 15:20:56 -05:00
Brad King ed1b3430fc Merge topic 'FindwxWidgets-msys2-paths'
bf643286 FindwxWidgets: Resolve Cygwin/MSYS paths to Windows paths
2016-02-17 10:25:31 -05:00
Brad King beaa4fa5dd CMakeForceCompiler: De-deprecate until more use cases have alternatives
We deprecated this module in commit v3.5.0-rc1~295^2
(CMakeForceCompiler: Deprecate this module and its macros, 2015-10-19)
in order to determine whether anyone still has use cases that require
it.  Indeed we still need to provide a way to work with toolchains that
cannot link binaries without special flags.  Remove the deprecation
warnings until we can provide an alternative to the module for this use
case.
2016-02-17 09:15:18 -05:00
Wayne Stambaugh bf643286d3 FindwxWidgets: Resolve Cygwin/MSYS paths to Windows paths
We use `sh wx-config` to launch the `wx-config` tool so that it can run
even on Windows.  Since it is always a shell script its output may use
POSIX paths even on Windows.  Use `cygpath` to convert to Windows paths.
2016-02-17 08:52:56 -05:00
Antonio Perez Barrero bb7a41ab9b FindProtobuf: check version
Check found libraries version to match user required version.

Protobuf compiler executable version is checked to be aligned with found
libraries, raising a warning message otherwise.
2016-02-16 10:09:39 -05:00
Domen Vrankar 7c7efd1ed9 CPack/RPM support for upper cased component variables
CPACK_* variables expect component name in upper case.
CPACK_RPM_* variables expected component name to be
in same case as component name.
This patch adds support for CPACK_RPM_* variables with
upper case component names to match the convention with
CPACK_* variables and also preserves same case component
names for back compatibility.
2016-02-13 02:09:32 +01:00
Brad King 86d2f32525 Merge topic 'BundleUtilities-dylib-in-framework'
e422f738 BundleUtilities: Fix treatment of .dylib inside .framework folders
2016-02-12 09:03:57 -05:00
Brad King 10f03d1baa Merge topic 'FindProtobuf-select-library-config'
51b0501a FindProtobuf: prevent redundant PROTOBUF_LIBRARIES
2016-02-12 09:03:54 -05:00
Brad King 08ccb837c3 Merge topic 'doc-FortranCInterface-variables'
4f3f75a2 FortranCInterface: Document mangling result variables publicly
47f24cbc FortranCInterface: Improve documentation formatting and organization
9d1f40cc FortranCInterface: Convert docs to a bracket comment
2016-02-11 10:41:13 -05:00
Christian Askeland e422f738e4 BundleUtilities: Fix treatment of .dylib inside .framework folders
The specific cause is when e.g.

    /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgio-2.0.0.dylib

is detected by fixup_bundle.  set_bundle_key_values() interprets this as
a framework, thus doing a string replace that creates an embedded_item
that is equal to the original path, i.e. it is not embedded.
2016-02-11 08:49:06 -05:00
Antonio Perez Barrero 51b0501a7f FindProtobuf: prevent redundant PROTOBUF_LIBRARIES
Before this change, the variable PROTOBUF_LIBRARIES might get redundant
value for debug and optimized configurations, e.g.
`optimized;/usr/lib/libprotobuf.so;debug;/usr/lib/libprotobuf.so`.
2016-02-11 08:45:41 -05:00
Brad King 4f3f75a246 FortranCInterface: Document mangling result variables publicly
Some projects may want to use the detailed mangling information
directly instead of using the FortranCInterface_HEADER function.
We already provide variables encoding the mangling information,
so just document them as available.
2016-02-10 10:35:48 -05:00
Brad King 47f24cbcca FortranCInterface: Improve documentation formatting and organization
Organize content into sections.  Define functions via explicit markup
blocks so we can cross-reference them.
2016-02-10 10:33:25 -05:00
Zack Galbreath 062045b8b6 More options for CTestCoverageCollectGCOV
This commit introduces two new options to CTestCoverageCollectGCOV.

When GLOB is set we recursively search in the source & binary
directories for .gcda files.  Otherwise the default behavior is to
parse TargetDirectories.txt for a list of locations to search.

When DELETE is set we remove any .gcda file found after it has
been used to generate the corresponding .gcov file.  The .gcov
file is also removed after the result tarball has been created.

Together these two new features help support the use case of
computing coverage across subprojects.
2016-02-10 10:12:01 -05:00
Brad King 9d1f40ccc1 FortranCInterface: Convert docs to a bracket comment
Use a bracket comment to hold the documentation instead of a block of
line comments.  This will make further updates easier.
2016-02-10 09:54:36 -05:00
Brad King 16f83f648a Merge topic 'FindCUDA.cmake/FixNonExistantDependencyFile'
e739ef7b FindCUDA: Only warn about non-existent dependency files in verbose mode
2016-02-09 10:10:25 -05:00
Brad King 778fda1e92 Merge topic 'apple-isystem-gcc'
5b04aa31 Xcode: Disable test for system include dirs
2cae5128 Apple: Enable -isystem for GNU Compiler >= 4 (#15953)
2016-02-09 10:10:18 -05:00
James Bigler e739ef7b66 FindCUDA: Only warn about non-existent dependency files in verbose mode 2016-02-08 13:38:28 -07:00