Commit Graph

31473 Commits

Author SHA1 Message Date
Dmitry Ivanov 7731e44f87 Ninja: Honor CMAKE_NINJA_FORCE_RESPONSE_FILE for compile rules 2016-04-07 09:45:29 -04:00
Dmitry Ivanov f9644a2d1b cmGlobalNinjaGenerator: Clarify logic for forcing use of response files
Update the WriteBuild method to use a negative command line length limit
to specify that we should force use of response files.
2016-04-07 09:45:29 -04:00
Dmitry Ivanov 24c9106b7b cmNinjaTargetGenerator: Factor out helper for forced response file check 2016-04-07 09:45:26 -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
Kitware Robot 8de04f6334 CMake Nightly Date Stamp 2016-04-07 00:01:05 -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 ae2fa89f74 Merge topic 'fortran-line-directives-no-dirs'
f831d752 cmFortranParser: Skip #line directives that do not name files
2016-04-06 09:30:03 -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
Kitware Robot 8898a92505 CMake Nightly Date Stamp 2016-04-06 00:01:08 -04:00
Brad King 9729dfb765 Merge branch 'ninja-restat-custom-command-byproducts' into release 2016-04-05 16:27:08 -04:00
Brad King add7abc835 Ninja: Restat custom command byproducts even with a SYMBOLIC output (#16049)
The change in commit v3.5.0-rc1~198^2 (Ninja: Always re-run custom
commands that have symbolic dependencies, 2015-11-19) broke the
byproducts feature added by commit v3.2.0-rc1~340^2~2 (Add an option for
explicit BYPRODUCTS of custom commands, 2014-11-13) when SYMBOLIC
outputs also appear.  This case occurs with AUTORCC-generated custom
targets because the output is SYMBOLIC (to always run) and the generated
file is a byproduct (for restat so dependents do not run unnecessarily).

The two use cases conflict because Ninja does not support per-output
restat.  Favor restat whenever byproducts are present because it is
required for byproducts to work correctly.  In use cases where we want
an always-run chain we simply will not be able to also use byproducts.
2016-04-05 16:20:28 -04:00
Brad King ff805113c7 Ninja: Fix detection of custom command symbolic outputs
Fix logic introduced by commit v3.5.0-rc1~198^2 (Ninja: Always re-run
custom commands that have symbolic dependencies, 2015-11-19) to not
consider only the last output.  We need to know if any output is
SYMBOLIC, so stop checking as soon as one is found.
2016-04-05 16:19:52 -04:00
Brad King 4ffd85cfb5 Merge branch 'fortran-line-directives-no-dirs' into release 2016-04-05 12:59:57 -04:00
Brad King f831d752ae cmFortranParser: Skip #line directives that do not name files
Since commit v3.5.0-rc1~241^2~1 (cmFortranParser: Parse #line
directives, 2015-11-02) our Fortran dependency scanner parses `#line`
directives to extract the named files.  However, some compilers produce
`#line` directives that name directories instead of files.  Work around
such cases by verifying that the extracted path names a file and not a
directory.
2016-04-05 12:59:45 -04:00
Brad King dff812cfcd Merge branch 'FindGSL-doc-typo' into release 2016-04-05 09:52:55 -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 73efdd4655 Merge branch 'release' 2016-04-05 09:38:58 -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
Brad King 25a38ecfe7 Merge topic 'cobertura_off_by_one'
398b8800 cmParseCoberturaCoverage: Remove extra coverage line
2016-04-05 09:38:04 -04:00
Brad King b66a247232 Merge topic 'ep-tls-verify-git'
272779ce ExternalProject: Allow TLS_VERIFY for git clones
2016-04-05 09:38:02 -04:00
Brad King adea45e15a Merge topic 'fix-target-alias-in-subdir'
0e44f489 Rename local target lookup methods to clarify purpose
bc30f8b5 Fix lookup of an ALIAS target outside aliased target's directory (#16044)
2016-04-05 09:37:59 -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
Kitware Robot 6c60f116cb CMake Nightly Date Stamp 2016-04-05 00:01:05 -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
Kitware Robot ff6211e635 CMake Nightly Date Stamp 2016-04-04 00:01:05 -04:00
Kitware Robot 2e8837d00d CMake Nightly Date Stamp 2016-04-03 00:01:04 -04:00
Kitware Robot 228801b9c8 CMake Nightly Date Stamp 2016-04-02 00:01:05 -04:00
Ben Boeckel c18d91add8 Help: add release notes for topic 'ctest-run-submodule-sync' 2016-04-01 15:51:46 -04:00
Ben Boeckel 7f5607439e cmCTestGIT: run `git submodule sync` before updating submodules
If the URL of a submodule changes upstream, the commits referenced at
the old URL may not be available and will cause an update failure.
2016-04-01 15:50:31 -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
Ben Boeckel 56c1ea40c5 cmCTestGIT: fix git version references
Git does not use a 4-component version number.
2016-04-01 15:50:27 -04:00
Brad King 58a57105d0 Merge branch 'fix-target-alias-in-subdir' into release 2016-04-01 15:47:03 -04:00
Brad King 0e44f4894f Rename local target lookup methods to clarify purpose
Rename methods:

* `cmMakefile::Find{ => LocalNonAlias}Target`
* `cmLocalGenerator::Find{ => LocalNonAlias}GeneratorTarget`

These names clarify that they are for directory-local target names
and do not consider alias targets.
2016-04-01 15:44:16 -04:00
Brad King bc30f8b5e6 Fix lookup of an ALIAS target outside aliased target's directory (#16044)
Refactoring in commit v3.5.0-rc1~272^2~11 (cmTarget: Implement ALIAS in
terms of name mapping, 2015-10-25) accidentally introduced logic that
assumes ALIAS targets always reference targets in their own directory.
Fix this and add a test case.

The configure-step fix is that `cmMakefile::FindTarget` should not consider
aliases.  The purpose of this method is just to look up targets local to
a directory.  Since ALIAS and normal targets share a namespace we know a
locally defined target will never collide with an ALIAS target anyway.
The method has 3 call sites, and this change is safe for all of them:

* `cmInstallCommand::HandleTargetsMode`: Rejects aliases before the call.
* `cmFLTKWrapUICommand::FinalPass`: Should never have considered aliases.
* `cmMakefile::FindTargetToUse`: Falls back to a global lookup anyway.

The generate-step fix is that `cmLocalGenerator::FindGeneratorTarget`
should not consider aliases.  This method is the generate-step
equivalent to the above.  The method has 2 call sites, and this change
is safe for both of them:

* `cmInstallTargetGenerator::Compute`: Never uses an alias target name.
* `cmLocalGenerator::FindGeneratorTargetToUse`: Falls back to global lookup.

Reported-by: Matteo Settenvini <matteo@member.fsf.org>
2016-04-01 15:44:16 -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