Commit Graph

32910 Commits

Author SHA1 Message Date
Kitware Robot 21ace9d9c4 CMake Nightly Date Stamp 2016-09-07 00:01:04 -04:00
Daniel Pfeifer d47c7bf608 CPack: include what you use 2016-09-07 00:21:35 +02:00
Ben Keller 290e4ce8a8 install: Fix computed import prefix in export files when it is "/"
When exporting from a project (with install(EXPORT ...)), the
`<PROJECT>Targets.cmake` file contains logic for computing the
`_IMPORT_PREFIX` from its own location.  This `_IMPORT_PREFIX` is then
used in the `<PROJECT>Targets-<config>.cmake` file to generate the
`IMPORTED_LOCATION_<CONFIG>`.  The generation unconditionally appends a
"/" to `_IMPORT_PREFIX` before appending the rest of the path.  If
`_IMPORT_PREFIX` is "/", then the `IMPORTED_LOCATION_<CONFIG>`
properties all start with exactly two leading slashes ("//").

Exactly two leading slashes is a special case in POSIX file paths, such
that its interpretation is left up to the implementation.  This means
that changing the path prefix from "/" to "//" should not be allowed.

Since references to `_IMPORT_PREFIX` are always followed by a "/",
simply check the value to replace "/" with "".
2016-09-06 16:47:02 -04:00
Brad King f1ad71d7f8 cmMakefile: Restore nested error logic use of cmExecutionStatus
Since commit 14a8d61f (cmMakefile: Port nested error logic away from
cmExecutionStatus) we fail to continue processing function and macro
bodies after non-fatal errors.  A non-fatal error should not stop
foreach loops, macro bodies, nested bodies, or the outer script.
Add a test covering these cases, and revert the change to fix them.

Also revert commit 2af853de (cmMakefile: Simplify IssueMessage
implementation) because the assertion it added (which was removed by the
above commit and is restored by reverting it) is incorrect.  We do have
code paths that call cmMakefile::IssueMessage with an empty execution
stack, such as in CheckForUnusedVariables's LogUnused call.
2016-09-06 16:20:39 -04:00
Brad King d28da906fe cmFortranParser: Inject a newline at end-of-file when missing
Our parser grammar expects all statements to end in an `EOSTMT` token
such as a newline.  Ensure that the last statement in a file can be
parsed even if it is missing a newline.
2016-09-06 15:52:40 -04:00
Brad King 8c65a5017f cmFortranParser: Revise indentation style to match rest of CMake
While at it, remove unused token CPP_TOENDL.
2016-09-06 15:52:40 -04:00
Brad King f70c71c5a9 cmFortranLexer: Update to flex 2.6
Revise the documented modifications we need to make to the
flex-generated source file according to the needs of the new version.
Also drop the duplicate copyright notice block from the generated file.
2016-09-06 15:52:40 -04:00
Brad King e11cd31fa0 Fortran: Warn when dependency scanning fails to parse a source file
We expect to handle all relevant statements and ignore those that we do
not understand.  Warn if this process ever fails.  Otherwise dependency
information may be silently left out.
2016-09-06 15:40:04 -04:00
Michael Stürmer 1bc33257d4 CPackWIX: Fix incomplete CPACK_WIX_SKIP_PROGRAM_FOLDER implementation
Commit 17bbf6af (CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER
feature) generates GUIDs for most but not all components
when the feature is active.

Generate the remaining GUIDs as well.

Co-Author: Nils Gladitz <nilsgladitz@gmail.com>
2016-09-06 17:44:48 +02:00
Brad King a8936656fa VS: Update v140 flag tables from VS 15 MSBuild files
Run cmparseMSBuildXML.py on cl.xml, lib.xml, link.xml, and masm.xml to
generate our flag tables:

 python cmparseMSBuildXML.py -x ".../Common7/IDE/VC/VCTargets/1033/cl.xml" > cmVS14CLFlagTable.h
 python cmparseMSBuildXML.py -x ".../Common7/IDE/VC/VCTargets/1033/lib.xml" > cmVS14LibFlagTable.h
 python cmparseMSBuildXML.py -x ".../Common7/IDE/VC/VCTargets/1033/link.xml" > cmVS14LinkFlagTable.h
 python cmparseMSBuildXML.py -x ".../Common7/IDE/VC/VCTargets/BuildCustomizations/masm.xml" > cmVS14MASMFlagTable.h

Manually integrate the changes with those we've made since earlier
import to add the new flag mappings.
2016-09-06 10:22:39 -04:00
Brad King 042aca557d VS: Verify that MSBuild.exe and devenv.com exist before using them 2016-09-06 10:22:39 -04:00
Brad King 21346d3f12 Features: Record features for VS 15 Preview 4 2016-09-06 10:22:39 -04:00
Brad King a756c74da5 Help: Clarify meaning of MSVC<NN> variables
They correspond to toolsets, not VS IDE versions.
2016-09-06 10:22:38 -04:00
Brad King 8317ea01aa Merge topic 'genex-LINK_ONLY-not-linking'
f6fd0abc Genex: Diagnose invalid LINK_ONLY usage instead of crashing
2016-09-06 08:51:05 -04:00
Brad King 9109ba4347 Merge topic 'test-GenerateExportHeader-with-RunCMake'
72ecdd34 Tests: Cleanup RunCMake.GenerateExportHeader somewhat
fc3dab0e Tests: Port GenerateExportHeader test to RunCMake infrastructure
4feba34d GNU: Do not use -fvisibility on AIX or HP-UX
2016-09-06 08:51:01 -04:00
Brad King cdc911dc53 Merge topic 'cpack-deb-long-filenames'
4ffdd564 CPack/DEB: Add option to select archive type
2016-09-06 08:50:58 -04:00
Brad King 19255a3516 Merge topic 'macro-parenthesis'
1a9de803 surround macro arguments with parentheses
2016-09-06 08:50:55 -04:00
Brad King eb226b366f Merge topic 'cm_nullptr'
0039ffa2 use CM_NULLPTR
2016-09-06 08:50:53 -04:00
Brad King 933fc4ac47 Merge topic 'qtdialog-tidy'
62c5f9af QtDialog: fix clang-tidy warnings
2016-09-06 08:50:50 -04:00
Daniel Pfeifer 62c5f9afc3 QtDialog: fix clang-tidy warnings 2016-09-06 08:42:54 -04:00
Brad King 29768b03ea FindMatlab: Avoid indexing an empty list of versions 2016-09-06 08:39:38 -04:00
Kitware Robot 7727915395 CMake Nightly Date Stamp 2016-09-06 00:01:05 -04:00
Daniel Pfeifer 0039ffa216 use CM_NULLPTR 2016-09-05 23:18:05 +02:00
Daniel Pfeifer 1a9de8035c surround macro arguments with parentheses 2016-09-05 22:09:49 +02:00
Brad King 72ecdd34cf Tests: Cleanup RunCMake.GenerateExportHeader somewhat 2016-09-05 09:45:42 -04:00
Brad King fc3dab0ea9 Tests: Port GenerateExportHeader test to RunCMake infrastructure
This will allow build failure cases to be added later.
2016-09-05 09:45:42 -04:00
Brad King 4feba34d02 GNU: Do not use -fvisibility on AIX or HP-UX
Use of `-fvisibility=hidden` warns:

  warning: visibility attribute not supported in this configuration; ignored
2016-09-05 09:45:13 -04:00
Brad King 4f83077e2d Merge topic 'include-what-you-use'
32f756c8 CursesDialog: include what you use
2016-09-05 09:29:33 -04:00
Brad King 750789af42 Merge topic 'tidy-readability-redundant-string-cstr'
60dcaaea tidy: Fix readability-redundant-string-cstr issues
2016-09-05 09:29:30 -04:00
Domen Vrankar 4ffdd564eb CPack/DEB: Add option to select archive type
Add a `CPACK_DEBIAN_ARCHIVE_TYPE` option that can be used to select an
archive type that supports long file names.

Closes: #14332
2016-09-05 09:24:45 -04:00
Brad King f6fd0abc5b Genex: Diagnose invalid LINK_ONLY usage instead of crashing
When `$<LINK_ONLY:...>` is used outside of linking we may evaluate it
without a `dagChecker`.  Do not dereference the NULL pointer and issue a
diagnostic instead.

Closes: #16287
2016-09-05 09:06:00 -04:00
Kitware Robot f6428725bb CMake Nightly Date Stamp 2016-09-05 00:01:06 -04:00
Gregor Jasny 60dcaaea13 tidy: Fix readability-redundant-string-cstr issues 2016-09-04 16:55:05 +02:00
Kitware Robot fb357e5fef CMake Nightly Date Stamp 2016-09-04 00:01:05 -04:00
Daniel Pfeifer 32f756c822 CursesDialog: include what you use 2016-09-03 23:37:09 +02:00
Brad King bfdf1322e7 Merge topic 'include-what-you-use'
efed6468 fix a load of include-what-you-use violations
bd3d0eaf cmCTest: don't redefine cout and cerr
3838a0d5 make sure to include cmConfigure.h before cmStandardIncludes.h
54140848 Tests/CMakeLib: include what you use
3f9c4cdf Tests/CMakeLib: use cmsys::ifstream
2016-09-03 08:10:18 -04:00
Brad King 4da61391ee Merge topic 'libuv-scanbuild-fixes'
c03a7b4f CTestCustom: Suppress scan-build warnings in libuv
3825a564 libuv: Simplify variable initializations to satisfy Clang scan-build
2016-09-03 08:10:16 -04:00
Brad King 44efb0a747 Merge topic 'FindHDF5-is-parallel'
b61eab24 FindHDF5: Fix regression in providing HDF5_IS_PARALLEL
2016-09-03 08:10:12 -04:00
Brad King 61b99cdeaa Merge topic 'FindHDF5-fix-hl-fortran'
befe8648 FindHDF5: Fix regression in finding hdf5hl_fortran
2016-09-03 08:10:09 -04:00
Daniel Pfeifer efed6468ed fix a load of include-what-you-use violations 2016-09-03 08:04:56 -04:00
Daniel Pfeifer bd3d0eafbb cmCTest: don't redefine cout and cerr
The definitions have been introduced to ensure that cout and cerr are
not used in certain files.  However, this limitation does not apply to
all source files that require cmCTest.h to be included.  Furthermore,
the definitions cause side effects depending on the include order.  In
total, the definitions do more harm than good.  Remove them.
2016-09-03 08:04:22 -04:00
Daniel Pfeifer 3838a0d5fb make sure to include cmConfigure.h before cmStandardIncludes.h 2016-09-03 08:04:22 -04:00
Daniel Pfeifer 5414084818 Tests/CMakeLib: include what you use 2016-09-03 08:04:22 -04:00
Daniel Pfeifer 3f9c4cdf89 Tests/CMakeLib: use cmsys::ifstream 2016-09-03 08:04:22 -04:00
Brad King c03a7b4f51 CTestCustom: Suppress scan-build warnings in libuv
Clang scan-build warns in some expansions of RB_GENERATE_STATIC
that it has a "Dereference of null pointer".  It also warns that
"The left operand of '==' is a garbage value" strangely.  Simply
suppress these since this is third-party code anyway.
2016-09-03 07:56:13 -04:00
Kitware Robot 87e76f8996 CMake Nightly Date Stamp 2016-09-03 00:01:04 -04:00
Brad King 0fd54137ae Merge branch 'FindHDF5-fix-hl-fortran' into release 2016-09-02 15:18:38 -04:00
Brad King befe8648a3 FindHDF5: Fix regression in finding hdf5hl_fortran
Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching
to correctly find HL for all bindings, 2016-05-12) accidentally dropped
the name `hdf5hl_fortran` from the list of library names and replaced it
with `hdf5_hl_fortran`.  IIUC the latter name is when HDF5 is built with
CMake and the former name is for other build systems.  Since this is the
non-CMake code path, user the former name.

Closes: #16233
2016-09-02 15:09:47 -04:00
Brad King b4d996c305 Merge branch 'FindHDF5-is-parallel' into release 2016-09-02 15:08:28 -04:00
Brad King b61eab249f FindHDF5: Fix regression in providing HDF5_IS_PARALLEL
Since commit v3.6.0-rc1~85^2 (HDF5: Refactor the use of compiler
wrappers, 2016-04-01) we have additional code paths that find HDF5 and
suppress the original search logic.  Report HDF5_IS_PARALLEL from these
other code paths too.

Closes: #16257
2016-09-02 15:06:52 -04:00