summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Refactor internal resource location APIs and initializationBrad King2013-11-1226-350/+212
| | | | | | | | | | | | | | | | | | | | Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources. Teach it to compute the locations of cmake, ctest, cpack, ccmake, and cmake-gui executables, and the location of CMAKE_ROOT. Provide this information from static cmSystemTools::Get<resource>() methods. Refactor code that needs these locations to use the new APIs. Teach FindCMakeResources to use the OS X system API to lookup the executable location. When running from the CMake build tree itself, leave a file in the tree that FindCMakeResources can use to read the location of the source tree. This avoids the need to compile the source tree location into a binary that may be installed and used without the source tree. Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build tree next to "cmake" and the other tools, as is already done in the install tree for the application bundle. This ensures a consistent set of executables are available in one directory.
* CMake Nightly Date StampKitware Robot2013-11-071-1/+1
|
* Merge topic 'refactor-autogen-setup'Brad King2013-11-064-89/+114
|\ | | | | | | | | | | | | | | 944277d cmAutogen: Gather tool arguments after creating generator targets. d2f4b1e cmAutogen: Rename method to InitializeAutogenTarget 45735f3 cmAutogen: Move autogen target creation to InitializeMocSourceFile. 20a234d cmAutogen: Extract some helper methods for autogen targets.
| * cmAutogen: Gather tool arguments after creating generator targets.Stephen Kelly2013-11-052-10/+18
| | | | | | | | | | | | | | | | This change causes the GetLinkInterfaceDependentStringProperty method, called in SetupAutoGenerateTarget, after the creation of generator targets. In CMake 4.0, the GetLinkInterfaceDependentStringProperty will move to the cmGeneratorTarget class, and this patch is a necessary prerequisite to that.
| * cmAutogen: Rename method to InitializeAutogenTargetStephen Kelly2013-11-053-3/+3
| | | | | | | | This reflects better what it is doing.
| * cmAutogen: Move autogen target creation to InitializeMocSourceFile.Stephen Kelly2013-11-051-67/+72
| | | | | | | | | | | | The SetupAutoGenerateTarget method will soon be invoked at a later time in a followup commit. We need to ensure that we create the utility autogen target early.
| * cmAutogen: Extract some helper methods for autogen targets.Stephen Kelly2013-11-051-9/+21
| | | | | | | | These snippets will soon be needed from multiple methods.
* | Merge topic 'clear-generator-data'Brad King2013-11-062-48/+38
|\ \ | | | | | | | | | | | | 5cf1120 cmGlobalGenerator: Refactor member cleanup between configures
| * | cmGlobalGenerator: Refactor member cleanup between configuresBrad King2013-11-052-48/+38
| | | | | | | | | | | | | | | | | | Factor member cleanup out from cmGlobalGenerator::Configure and the destructor into a dedicated helper to avoid duplication. This fixes clearing of BuildExportSets between configures.
* | | CMake Nightly Date StampKitware Robot2013-11-061-1/+1
| |/ |/|
* | Merge topic 'fix-automoc-compile-definitions'Brad King2013-11-052-4/+21
|\ \ | | | | | | | | | | | | a1b9465 Automoc: Add directory-level COMPILE_DEFINITIONS to command line (#14535)
| * | Automoc: Add directory-level COMPILE_DEFINITIONS to command line (#14535)Stephen Kelly2013-11-052-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 18412153 (Refactor cmTarget::GetCompileDefinitions..., 2013-06-06) cmQtAutomoc was refactored to get all compile definitions from the target instead of separately asking the target and querying the directory-level COMPILE_DEFINITIONS property value. While the generation process does integrate directory-level COMPILE_DEFINITIONS into the target definitions, this did not happen until after Automoc targets are constructed. Therefore the commit regressed use of directory-level definitions in Automoc targets. Factor the definition finalization logic out from the cmGlobalGenerator::CreateGeneratorTargets method into a new cmGlobalGenerator::FinalizeTargetCompileDefinitions method and call it before constructing Automoc targets. This will place the directory-level definitions into the target in time to use them for the Automoc targets. Extend the QtAutomoc test to cover this case.
* | | Merge topic 'cmake-E-autogen-crash'Brad King2013-11-051-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 132c40a cmake: Validate -E cmake_autogen argument count (#14545) cc52b7d Merge branch 'cmake-E-automoc-crash' into cmake-E-autogen-crash 9ef66f2 cmake: Validate -E cmake_automoc argument count (#14545)
| * | | cmake: Validate -E cmake_autogen argument count (#14545)Brad King2013-11-051-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | Do not access an argument index not known to exist. Port the change from commit 9ef66f2b (cmake: Validate -E cmake_automoc argument count, 2013-11-05) to the new location of the code.
* | | Merge topic 'ninja-dont-parse-empty-depsflag'Brad King2013-11-051-5/+8
|\ \ \ | |/ / |/| | | | | | | | f212615 Ninja: don't parse empty string
| * | Ninja: don't parse empty stringPeter Kümmel2013-11-041-5/+8
| | |
* | | Merge topic 'clear-evaluation-files'Brad King2013-11-051-0/+8
|\ \ \ | | | | | | | | | | | | | | | | 2e388cc file(GENERATE): Clear internal records between configures
| * | | file(GENERATE): Clear internal records between configuresBrad King2013-11-041-0/+8
| | |/ | |/| | | | | | | | | | | | | In the CMake interactive dialogs cmGlobalGenerator::Configure may run more than once. Clear the cmGlobalGenerator::EvaluationFiles data between configures to avoid accessing deleted data.
* | | CMake Nightly Date StampKitware Robot2013-11-051-1/+1
| | |
* | | Merge topic 'policy-CMP0022-fixes-for-master'Brad King2013-11-043-142/+125
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b51696f CMP0022: Update target_link_libraries plain signature documentation 25b7f87 Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master 0a561a0 CMP0022: Warn about a given target at most once 23d21b7 Do not export INTERFACE_LINK_LIBRARIES from non-linkable targets ef10b87 CMP0022: Plain target_link_libraries must populate link interface 0e06788 CMP0022: Add test for target_link_libraries plain signature c0f4a61 CMP0022: Add unit test for null pointer check and message. 4b0cfa7 Merge branch 'output-CMP0022-entries' into policy-CMP0022-fixes
| * \ \ Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-masterBrad King2013-11-033-142/+125
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolve conflict in Source/cmTarget.cxx by integrating the changes to the internal copy constructor from both sides. Also resolve a logical conflict by dropping the special case for INTERFACE_LIBRARY targets. Since cmTarget::SetMakefile already forces CMP0022 to NEW for such targets we need no special handling. Resolve conflict in Source/cmTargetLinkLibrariesCommand.h by dropping the documentation change. We will make the same change in the new location of the same documentation in a separate commit. Resolve conflicts in Tests/RunCMake/CMP0022/CMP0022-WARN-empty-old-stderr.txt Tests/RunCMake/CMP0022/RunCMakeTest.cmake by taking the side from the 'policy-CMP0022-fixes' branch.
| | * | | CMP0022: Warn about a given target at most onceBrad King2013-11-031-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since cmTarget::ComputeLinkInterface is called separately for each "head" target that links a target, the warning we produce when CMP0022 is not set could be repeated. Add explicit logic to allow the warning to appear at most once. Multiple copies of the warning for the same target are almost always identical and therefore redundant. In the rare case that two copies of the warning are different, the second can appear in a future run after the first is fixed.
| | * | | Do not export INTERFACE_LINK_LIBRARIES from non-linkable targetsBrad King2013-11-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When cmExportFileGenerator::SetImportLinkInterface exports the old LINK_INTERFACE_LIBRARIES property values it skips doing so for non-linkable targets because target->GetLinkInterface returns NULL for such targets. Since cmExportFileGenerator::PopulateInterfaceLinkLibrariesProperty looks at the INTERFACE_LINK_LIBRARIES property directly instead of using the computed link interface, teach it to skip exporting the property if target->IsLinkable returns false. Extend the RunCMake.CMP0022 test with a case covering this. Simply export an executable target that links to a library that is not exported.
| | * | | CMP0022: Plain target_link_libraries must populate link interfaceBrad King2013-11-024-140/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMP0022 NEW behavior is that the INTERFACE_LINK_LIBRARIES property exactly defines the link interface. The plain target_link_libraries signature says linking is transitive by default, so it should populate the property. Teach the target_link_libraries plain signature to populate the INTERFACE_LINK_LIBRARIES regardless of the CMP0022 setting. Refactor the cmTarget::ComputeLinkInterface checks that warn when the policy is not set to compare the new property to either the explicitly set old link interface properties or the link implementation fallback for all linkable target types, not just static libraries. This fixes a regression in 2.8.12.0 that caused target_link_libraries to not implement transitive linking in the plain signature once the policy CMP0022 is set to NEW.
| | * | | Merge branch 'output-CMP0022-entries' into policy-CMP0022-fixesBrad King2013-11-021-1/+26
| | |\ \ \
* | | \ \ \ Merge topic 'constify'Brad King2013-11-044-35/+36
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | af4c109 cmGeneratorTarget: Make some accessors const. 6bdea06 cmTarget: Make some accessors const.
| * | | | | | cmGeneratorTarget: Make some accessors const.Stephen Kelly2013-11-032-21/+22
| | | | | | |
| * | | | | | cmTarget: Make some accessors const.Stephen Kelly2013-11-032-14/+14
| | | | | | |
* | | | | | | Merge topic 'robust-ctest_empty_binary_directory'Brad King2013-11-042-3/+63
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 35fbc10 CTest: more aggressive implementation of ctest_empty_binary_directory() 9d9f102 Tests: added test for ctest_empty_binary_directory()
| * | | | | | | CTest: more aggressive implementation of ctest_empty_binary_directory()Nils Gladitz2013-11-022-3/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that CMakeCache.txt is the last file being removed since the binary directory may be left in a state that is no longer removable otherwise. Also retry removal a couple of times which makes this more robust on windows where file locks may temporarily prevent removal.
* | | | | | | | Merge topic 'cpack-drag-n-drop-rez'Brad King2013-11-041-1/+6
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 53d6ebb cpack: For DragNDrop generator, add sysroot option when calling Rez. 193029c cpack: For DragNDrop generator, add sysroot option when calling Rez.
| * | | | | | | cpack: For DragNDrop generator, add sysroot option when calling Rez.Clinton Stimpson2013-11-011-1/+1
| | | | | | | |
| * | | | | | | cpack: For DragNDrop generator, add sysroot option when calling Rez.Clinton Stimpson2013-11-011-1/+6
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also adding overwrite option (-ov) in case multiple temporary dmg files are being created. Fixes bug #14536.
* | | | | | | CMake Nightly Date StampKitware Robot2013-11-041-1/+1
| |/ / / / / |/| | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-11-031-1/+1
| |/ / / / |/| | | |
* | | | | Merge topic 'archive-skip-symlink-on-windows'Brad King2013-11-021-20/+29
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4c383b5 cmake: Avoid '-E tar' failure to extract symlinks on Windows (#13251) 0d8552c cmSystemTools: Re-order extract_tar logic
| * | | | | cmake: Avoid '-E tar' failure to extract symlinks on Windows (#13251)Brad King2013-11-011-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a symlink fails to extract and the host system is Windows then report a warning and skip the entry instead of failing. This will allow archives containing symbolic links to be extracted on Windows with somewhat gracefully degraded behavior.
| * | | | | cmSystemTools: Re-order extract_tar logicBrad King2013-11-011-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify extraction message logic to be easier to follow and to write a newline before any error messages that may be produced. Also flip handling of the archive_write_header return code to handle success in the "then" case and failure in the "else" case.
* | | | | | Merge topic 'cmake-gui-warning'Brad King2013-11-021-22/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 82bacea cmake-gui: Rename local variable to avoid shadowing a member
| * | | | | | cmake-gui: Rename local variable to avoid shadowing a memberBrad King2013-11-011-22/+22
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Address warnings: Source/QtDialog/CMakeSetupDialog.cxx:1233:15: warning: declaration of 'cursor' shadows a member of 'this' [-Wshadow] Source/QtDialog/CMakeSetupDialog.cxx:1260:15: warning: declaration of 'cursor' shadows a member of 'this' [-Wshadow] by renaming the local variable to 'textCursor'.
* | | | | | Merge topic 'ctest-p4'Brad King2013-11-021-11/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1b54b1d ctest_update: Do not remove the p4 depot name
| * | | | | | ctest_update: Do not remove the p4 depot namePedro Navarro2013-11-011-11/+1
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of removing the depot name, which causes problems when looking at the file change list in CDash, make the Update test remove a given prefix from the files retrieved from Update.xml.
* | | | | | Merge topic 'object-library-no-TARGET_FILE'Brad King2013-11-021-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | d960589 Genex: Reject $<TARGET_FILE:...> for object libraries (#14532)
| * | | | | | Genex: Reject $<TARGET_FILE:...> for object libraries (#14532)Brad King2013-11-011-1/+1
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the cmGeneratorExpressionEvaluator filesystem artifact logic to reject OBJECT_LIBRARY targets since they have no main artifact. Without the explicit rejection evaluation falls through to an internal CMake error message in cmTarget::GetOutputInfo. Extend the RunCMake.GeneratorExpression test to cover these cases.
* | | | | | Merge topic 'object-library-missing-source'Brad King2013-11-021-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5a2fc3d Check for OBJECT_LIBRARY source files at start of generation
| * | | | | | Check for OBJECT_LIBRARY source files at start of generationBrad King2013-11-011-0/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach cmGlobalGenerator::CheckTargets to include OBJECT_LIBRARY targets in the check for source file existence. Extend the RunCMake.ObjectLibrary test to cover this case.
* | | | | | Merge topic 'doc-rst-note-and-productionlist'Brad King2013-11-022-0/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 450b515 cmRST: Add support for the note and productionlist directives
| * | | | | | cmRST: Add support for the note and productionlist directivesBrad King2013-10-302-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simply print out the lines as normal paragraph text. Teach the CMakeLib.testRST test to cover this syntax. Update the cmake-developer.7 manual to document support for the directives.
* | | | | | | Merge topic 'revert-accidental-changes'Brad King2013-11-022-20/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 13aea6d cmFindCommon: Revert accidental change 4064d6f target_link_libraries: Revert accidental change
| * | | | | | | cmFindCommon: Revert accidental changeBrad King2013-11-021-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit c4373b33 (cmTarget: Make GetProperty() const, 2013-10-29) we accidentally changed the cmFindCommon.cxx logic in a way that looks like a local experiment leftover that went unnoticed due to the size of the other changes in the commit. Revert it.