Commit Graph

29069 Commits

Author SHA1 Message Date
Stephen Kelly 8d2de00244 cmGeneratorTarget: Move NeedRelinkBeforeInstall from cmTarget. 2015-08-05 18:20:47 +02:00
Stephen Kelly 3df705681b cmGeneratorTarget: Move GetPDBName from cmTarget. 2015-08-05 18:20:46 +02:00
Stephen Kelly a45fed81e5 cmGeneratorTarget: Move GetCompilePDBPath from cmTarget. 2015-08-05 18:20:46 +02:00
Stephen Kelly f0aa660772 cmGeneratorTarget: Move HasSOName from cmTarget. 2015-08-05 18:20:46 +02:00
Stephen Kelly 766839c56d cmGeneratorTarget: Move GetLibraryNames from cmTarget. 2015-08-05 18:20:46 +02:00
Stephen Kelly 47803e6f8e cmGeneratorTarget: Move GetExecutableNames from cmTarget. 2015-08-05 18:20:46 +02:00
Stephen Kelly 7da4c9d4ed cmGeneratorTarget: Move GetLinkImplementationClosure 2015-08-05 18:20:45 +02:00
Stephen Kelly 97f10e488a cmGeneratorTarget: Move ReportPropertyOrigin from cmTarget. 2015-08-05 18:20:45 +02:00
Stephen Kelly 4b86f5edc9 cmGeneratorTarget: Make CompatibleType enum private again. 2015-08-05 18:20:45 +02:00
Stephen Kelly 5ff813c7a6 cmGeneratorTarget: Move LinkInterfaceDependent methods from cmTarget. 2015-08-05 18:20:45 +02:00
Stephen Kelly 38d4ba3564 cmGeneratorTarget: Port internal API to cmGeneratorTarget. 2015-08-05 18:20:44 +02:00
Stephen Kelly 90bad039c4 cmGeneratorTarget: Move CheckPropertyCompatibility from cmTarget. 2015-08-05 18:20:44 +02:00
Stephen Kelly 803a7982b4 cmGeneratorTarget: Move GetLinkInformation from cmTarget 2015-08-05 18:20:44 +02:00
Stephen Kelly c971338416 Export: Port more API to cmGeneratorTarget. 2015-08-05 18:20:44 +02:00
Stephen Kelly 244c5b5dcd cmGeneratorTarget: Move IsLinkInterfaceDependent* from cmTarget. 2015-08-05 18:20:44 +02:00
Stephen Kelly 12bc571c13 cmGeneratorTarget: Move GetAutoUicOptions from cmTarget. 2015-08-05 18:20:43 +02:00
Stephen Kelly 41abdc17df cmGeneratorTarget: Move GetSOName from cmTarget.. 2015-08-05 18:20:43 +02:00
Stephen Kelly 1aa13f2b58 cmExportInstallFileGenerator: Simplify local generator access. 2015-08-04 19:19:41 +02:00
Stephen Kelly 1ab59f688f cmGlobalNinjaGenerator: Simplify usage of API. 2015-08-04 19:19:40 +02:00
Brad King 87b869c1da Merge topic 'update-kwsys'
3da43137 Merge branch 'upstream-kwsys' into update-kwsys
9a59ae5c KWSys 2015-08-03 (dad68c33)
2015-08-04 09:15:12 -04:00
Brad King 258470bd36 Merge topic 'doc-ninja-rule-launchers'
d951f542 Help: Refine RULE_LAUNCH_{COMPILE,CUSTOM,LINK} global property docs
2015-08-04 09:15:10 -04:00
Brad King 4a1173fda0 Merge topic 'cmake-W-options'
975426ce cmake: Do not treat developer warnings as errors by default in scripts
2015-08-04 09:15:08 -04:00
Kitware Robot 331e791a3e CMake Nightly Date Stamp 2015-08-04 00:01:07 -04:00
Brad King 3da431379b Merge branch 'upstream-kwsys' into update-kwsys 2015-08-03 13:17:54 -04:00
KWSys Robot 9a59ae5c19 KWSys 2015-08-03 (dad68c33)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ dad68c33 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' f63febb7..dad68c33
James Johnston (1):
      dad68c33 Encoding: Fix undefined behavior if out of memory.

Jean-Christophe Fillion-Robin (2):
      e5c23738 SystemTools: Fix DetectFileType failure on missing file
      6d83c113 SystemTools: Fix DetectFileType failure on directory

Sebastian Schuberth (1):
      4db8e69f SystemTools: Implement FileIsSymlink on Windows
2015-08-03 13:17:50 -04:00
Brad King d951f5429a Help: Refine RULE_LAUNCH_{COMPILE,CUSTOM,LINK} global property docs
Link to the generators that implement these properties.  Explain in
more detail why other generators ignore them.
2015-08-03 10:25:53 -04:00
Brad King 975426ceb3 cmake: Do not treat developer warnings as errors by default in scripts
The logic in commit c96fe0b4 (cmake: Add -W options to control
deprecation warnings and errors, 2015-07-28) accidentally enables
errors on warnings by default in scripts because there is no
initialization of CMAKE_SUPPRESS_DEVELOPER_ERRORS to TRUE.

Rename internal CMAKE_SUPPRESS_DEVELOPER_ERRORS cache entry to
CMAKE_ERROR_DEVELOPER_WARNINGS.  Fix the logic in the message() command
to treat AUTHOR_WARNING as an error only if the option is explicitly
enabled.
2015-08-03 10:03:27 -04:00
Brad King 7ac2b1256b Merge topic 'if-test'
14e49ed1 if: Add "TEST <test>" condition
623dcc85 ExternalProject: Avoid if() auto-dereference of a "TEST" variable
2015-08-03 09:25:10 -04:00
Matt McCormick 14e49ed156 if: Add "TEST <test>" condition
if(TEST TestNameThatExists) will return true if a test with the name
TestNameThatExists has been added with add_test.  The syntax is similar
to if(TARGET TargetName).  Since use of "TEST" as an argument to if()
could previously be interpreted as a non-keyword argument, add policy
CMP0064 to treat it as a keyword as NEW behavior.
2015-08-03 09:22:25 -04:00
Matt McCormick 623dcc85a4 ExternalProject: Avoid if() auto-dereference of a "TEST" variable
Exposed by CMP0054 warnings.
2015-08-03 09:21:39 -04:00
Brad King 94d53d1664 Merge topic 'GetPrerequisites-updates'
5d0a8b1a GetPrerequisites: Optionally filter "objdump" output for speed
afb674ab GetPrerequisites: Add error checks for execute_process() calls
2015-08-03 09:11:34 -04:00
Brad King 6508cc5355 Merge topic 'FindMPI-drop-GetPrerequisites'
1c46b6ae FindMPI: Drop unnecessary and incorrect use of GetPrerequisites
2015-08-03 09:11:32 -04:00
Brad King 25ec835571 Merge topic 'fix-windows-version-detection'
d4736d53 Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8.1 (#15674)
2015-08-03 09:11:30 -04:00
Brad King db519cae57 Merge topic 'fix-xcode-quoting'
f7a9ed7e Xcode: Quote strings containing a tilde (#15672)
2015-08-03 09:11:28 -04:00
Brad King 5c02ae4ac9 Merge topic 'update-kwsys'
da98b896 Tests: In CTestTest2 skip the kwsys.testProcess-10 test that leaks
129640f2 CTestCustom: Ignore kwsys.testProcess-10 for MemCheck as KWSys does
d0915bc8 Merge branch 'upstream-kwsys' into update-kwsys
1feafc64 KWSys 2015-07-30 (f63febb7)
2015-08-03 09:11:25 -04:00
Kitware Robot ebacce3f0b CMake Nightly Date Stamp 2015-08-03 00:01:05 -04:00
Kitware Robot 614786cc5c CMake Nightly Date Stamp 2015-08-02 00:01:07 -04:00
Kitware Robot 9432b14e91 CMake Nightly Date Stamp 2015-08-01 00:01:06 -04:00
Bill Somerville 5d0a8b1abc GetPrerequisites: Optionally filter "objdump" output for speed
As dumpbin.exe is no longer reliable for gcc libraries on MinGW because
it crashes on many common libraries like libgcc_s and libgfortran it is
now necessary too resort to using objdump for DLL dependency walking.
Using objdump has a secondary problem in that it generates a lot of
output for large libraries and causes fixup_bundle() to take many
minutes to process what took fractions of a second with
"dumpbin.exe /dependents".

Add a 'grep' pre-filter in the execute_process() command pipeline to
reduce this output to a minimum for a several orders of magnitude speed
up.  If grep is not available just use the full output.

As there does not seem to be a reliable way of detecting MinGW, callers
of fixup_bundle() may have to set the variable gp_tool to "objdump" if
dumpbin.exe is installed on the build machine to stop it using the
broken MS dumpbin.exe for library dependency walking.
2015-07-31 09:50:32 -04:00
Bill Somerville afb674ab46 GetPrerequisites: Add error checks for execute_process() calls
Add return status checks to external command invocations so that they do
not fail silently producing incomplete install packages.
2015-07-31 09:50:32 -04:00
Brad King 1c46b6aed0 FindMPI: Drop unnecessary and incorrect use of GetPrerequisites
Since commit v2.8.5~121^2~2 (FindMPI: Handle multiple languages,
2010-12-29) we called the GetPrerequisites is_file_executable function
but passed the name of a CMake variable instead of its value.  Therefore
the function has always failed and caused the search for the compiler
name to run even with an absolute path.  Switch to using if(IS_ABSOLUTE)
instead and drop use of GetPrerequisites.
2015-07-31 09:50:31 -04:00
Brad King da98b89612 Tests: In CTestTest2 skip the kwsys.testProcess-10 test that leaks
This test intentionally leaks memory so KWSys excludes it from MemCheck.
However, when CTestTest2 runs under our own MemCheck then valgrind may
recursively check tests run by ctest_test() calls in our test.cmake
script.  Teach these calls to exluce testProcess-10 too.  Also read
the KWSys CTestCustom.cmake file so ctest_memcheck() will ignore the
test too.
2015-07-31 09:27:08 -04:00
Brad King 129640f279 CTestCustom: Ignore kwsys.testProcess-10 for MemCheck as KWSys does
The test covers exceptional behavior that leaks memory, so ignore it for
dynamic analysis runs.
2015-07-31 09:27:01 -04:00
Brad King d0915bc86f Merge branch 'upstream-kwsys' into update-kwsys 2015-07-31 09:26:35 -04:00
KWSys Robot 1feafc643b KWSys 2015-07-30 (f63febb7)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ f63febb7 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' c9336bcf..f63febb7
Brad King (1):
      83b4a6b8 Process: Fix conversion warning in testProcess.c

James Johnston (7):
      4cd8846c Process: Remove trailing whitespace in ProcessUNIX.c
      b1c44c58 Process: Refactor sleeping code in testProcess.c.
      faff2ab0 Process: Wait for children to terminate on Ctrl+C.
      ef517b19 Process: Added initial support for process groups.
      906c2cae Process: Added test cases for testing Ctrl+C and process groups.
      52874e6a Process: Fix leaked file descriptor in ProcessUNIX
      f63febb7 Process: Fix error message for startup failure on Windows
2015-07-31 09:26:30 -04:00
Brad King 6c3d0e9a6b Merge topic 'doc-string-FIND-failure-case'
fe2e503e Help: Document string(FIND) return value when no match is found
2015-07-31 09:21:51 -04:00
Brad King 8515f26a63 Merge topic 'FindOpenSSL-cleanup'
fbcbf7f2 FindOpenSSL: De-duplicate find_library path suffixes on Windows
4c10461a FindOpenSSL: Remove extra whitespace
2015-07-31 09:21:49 -04:00
Brad King 609e8b181a Merge topic 'cmake-W-options'
c96fe0b4 cmake: Add -W options to control deprecation warnings and errors
2015-07-31 09:21:47 -04:00
Brad King 82e77d7430 Merge topic 'refactor-install'
a23fcc95 cmInstallTargetGenerator: Port to cmGeneratorTarget.
4e41913f cmInstallCommand: Store only a targetName, not a cmTarget.
e5e52970 cmInstallGenerator: Add a Compute() virtual hook.
3ef8aaaa cmInstallCommand: Move the SetHaveInstallRule invocation.
5f662b38 cmScriptGenerator: Remove unused method.
0368552d cmGlobalGenerator: Move QtAutogen handling to Compute().
5edb3354 cmGlobalGenerator: Virtualize the Compute step and override it.
ff1019bf cmGlobalGenerator: Move generation object creation to Compute().
aa2407d8 Xcode: Use allBuild target return value.
610572b7 cmMakefile: Simplify generate-time cmGeneratorTarget creation.
2e94cba3 cmGlobalGenerator: Move FinalizeTargetCompileInfo to Compute().
fb9355c5 cmGlobalGenerator: Return from Compute whether to generate.
29e8b7bf cmGlobalGenerator: Create a new Compute step before generation.
1ef9b2b6 cmGlobalGenerator: Remove the TargetManifest member.
5c14f780 cmGlobalGenerator: Remove unused manifest accessor.
a1209be5 VisualStudio: Skip global targets when processing.
...
2015-07-31 09:21:45 -04:00
Brad King 6e11703c6c Merge topic 'SunOS-link-CXX-normally'
60fe4b54 SunOS: Drop special case for linking C++ shared libraries with gcc (#15673)
2015-07-31 09:21:43 -04:00