summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fix-CMP0022-language-propagation'Brad King2014-05-191-7/+7
|\ | | | | | | | | | | | | 31b3bbd7 Merge branch 'backport-fix-CMP0022-language-propagation' into fix-CMP0022-language-propagation 40b9cd0f CMP0022: Fix link language propagation in NEW behavior 42bbf130 CMP0022: Fix link language propagation in NEW behavior
| * CMP0022: Fix link language propagation in NEW behaviorBrad King2014-05-191-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The languages used in compiling STATIC libraries need to be propagated to dependents regardless of the settings of INTERFACE_LINK_LIBRARIES or CMP0022. They are independent of the libraries in the link interface. Prior to commit v2.8.12~192^2~2 (Introduce the INTERFACE_LINK_LIBRARIES property, 2013-06-04) the cmTarget::ComputeLinkInterface code path for "explicitLibraries" could never be taken for STATIC libraries, so the logic to propagate languages existed only in the non-explicitLibraries code path. After that commit, INTERFACE_LINK_LIBRARIES could be set for STATIC libraries to cause the "explicitLibraries" code path to be taken. The commit also left the old non-explicitLibraries code path conditional on CMP0022 not being set to NEW. Thus link language propagation was left missing from two cases by that commit. The explicitLibraries code path was fixed to propagate languages by commit v2.8.12~149^2~1 (cmTarget: Fix iface libraries and languages for static libraries, 2013-07-26). However, the non-explicitLibraries case was never taught to propagate languages when CMP0022 is set to NEW. Fix that now. Factor the logic to propagate link languages out of the link interface libraries conditions so that it always occurs. Update Tests/Fortran to set CMP0022 to NEW to test this case (because the test passes only if link language propagation works).
* | CMake Nightly Date StampKitware Robot2014-05-191-1/+1
| |
* | CMake Nightly Date StampKitware Robot2014-05-181-1/+1
| |
* | CMake Nightly Date StampKitware Robot2014-05-171-1/+1
|/
* Merge topic 'xcode-file-type'Brad King2014-05-162-33/+50
|\ | | | | | | | | | | a339ea65 Xcode: Add source file property to control file type (#14854) ae80cb9f Xcode: Refactor internal source file type selection
| * Xcode: Add source file property to control file type (#14854)Brad King2014-05-152-8/+25
| | | | | | | | | | | | | | | | | | Add source file properties to control Xcode file type attributes: XCODE_EXPLICIT_FILE_TYPE => explicitFileType XCODE_LAST_KNOWN_FILE_TYPE => lastKnownFileType Add a RunCMake.XcodeProject test to verify generated project content.
| * Xcode: Refactor internal source file type selectionBrad King2014-05-151-26/+26
| | | | | | | | | | | | | | Choose the attribute name and file type and send them through a single attribute generation code path. Compute the file extension only when needed. Leave the file type selection logic indented in a block so it can be made conditional later.
* | Merge topic 'cmake-gui-capture-output'Brad King2014-05-168-73/+111
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 209cd475 Help: Add notes for topic 'cmake-gui-capture-output' d7c69246 execute_process: Send stderr through cmSystemTools::Stderr 92ddf0c9 cmake-gui: Capture cmSystemTools::Stdout and Stderr f52b5ae3 cmSystemTools: Add callback for Stderr a9ae1d7a cmSystemTools: Simplify InterruptCallback definition 73b13f56 cmSystemTools: Rename ErrorCallback to MessageCallback 7577a542 cmCTestBuildAndTestHandler: Refactor output capture b1b4d761 cmCTestBuildAndTestHandler: Refactor local loop var
| * | execute_process: Send stderr through cmSystemTools::StderrBrad King2014-05-151-5/+5
| | | | | | | | | | | | | | | Give cmake-gui and ctest --build-and-test a chance to capture the output instead of sending it to the real stderr.
| * | cmake-gui: Capture cmSystemTools::Stdout and StderrBrad King2014-05-152-0/+18
| | | | | | | | | | | | | | | | | | Output sent through these APIs is logically part of the CMake process output. Capture it with callbacks and display it in the cmake-gui output window along with other messages.
| * | cmSystemTools: Add callback for StderrBrad King2014-05-153-22/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | Factor a common callback type out of StdoutCallback. Add an equivalent StderrCallback. While at it, use "size_t" for the data length instead of "int". Teach "ctest --build-and-test" to capture the Stderr callback because output sent through it is part of the logical CMake process output.
| * | cmSystemTools: Simplify InterruptCallback definitionBrad King2014-05-151-2/+2
| | | | | | | | | | | | | | | Use the typedef to declare the member instead of duplicating the type. Use default initialization instead of an explicit zero initializer.
| * | cmSystemTools: Rename ErrorCallback to MessageCallbackBrad King2014-05-157-25/+25
| | | | | | | | | | | | | | | Clarify that it is the callback for the cmSystemTools::Message API. Rename callback clients too.
| * | cmCTestBuildAndTestHandler: Refactor output captureBrad King2014-05-151-19/+22
| | | | | | | | | | | | Use an RAII class to add and remove callbacks.
| * | cmCTestBuildAndTestHandler: Refactor local loop varBrad King2014-05-151-3/+2
| | |
* | | Merge topic 'fix_mumps_coverage'Brad King2014-05-162-4/+32
|\ \ \ | | | | | | | | | | | | | | | | 9ad07fbe CTest: Fix MUMPS coverage parsing and test
| * | | CTest: Fix MUMPS coverage parsing and testJoseph Snyder2014-05-162-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the MUMPS coverage parser: * Account for tabs after entry points * Stop double incrementing lines that have explicit calls to the 0 line * If a line has been previously marked as non executable, but then contains a count, increment it an extra one to push it back into the executable code set. Add a custom routine and corresponding coverage files in the test case. This file is smaller and has cmcov/mcov files that have data for only that routine.
* | | | CMake Nightly Date StampKitware Robot2014-05-161-1/+1
| |_|/ |/| |
* | | CMake Nightly Date StampKitware Robot2014-05-151-1/+1
| |/ |/|
* | Merge topic 'fix-atomic-rename-Windows-sharing-violation'Brad King2014-05-141-2/+4
|\ \ | | | | | | | | | | | | 24bd7ae1 cmSystemTools::RenameFile: Retry on Windows ERROR_SHARING_VIOLATION
| * | cmSystemTools::RenameFile: Retry on Windows ERROR_SHARING_VIOLATIONEric Berge2014-05-131-2/+4
| | | | | | | | | | | | | | | | | | | | | Add ERROR_SHARING_VIOLATION to the set of errors (previously including only ERROR_ACCESS_DENIED) that cause a rename (MoveFile) on Windows to retry. The condition was observed when two renames to the same target file name were happening simultaneously.
| * | Merge branch 'ninja-intel-linux' into releaseBrad King2014-05-091-2/+4
| |\ \
| * | | cmTarget: Evaluate CMP0026 in calling contextBrad King2014-05-094-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This policy should be checked at the call site that tries to access the LOCATION property, not the directory scope containing the target. Thread the caller context through cmTarget::GetProperty to use for checking the policy setting and emitting a diagnostic with proper backtrace. Extend the RunCMake.CMP0026 test with a cross-directory case.
| * | | cmTarget: Drop unused GetProperty signatureBrad King2014-05-092-11/+3
| | | | | | | | | | | | | | | | | | | | No callers use the second "scope" argument. Drop this signature and hard-code the default parameter value internally.
* | | | Merge topic 'update-kwsys'Brad King2014-05-1410-156/+185
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 7fa16df4 Merge branch 'upstream-kwsys' into update-kwsys 7762c574 KWSys 2014-05-07 (6074f33f)
| * | | | Merge branch 'upstream-kwsys' into update-kwsysBrad King2014-05-1310-156/+185
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2014-05-141-1/+1
|/ / / /
* | | | CMake Nightly Date StampKitware Robot2014-05-131-1/+1
| | | |
* | | | Merge topic 'package-disable-registry'Brad King2014-05-122-0/+19
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ba387cb8 Help: Add notes for topic 'package-disable-registry' be8ae960 Allow the Package Registry to be disabled (#14849) d09fda5d Tests: Improve FindPackageTest for in-source builds ac24a1c0 Tests: Improve FindPackageTest exported package version
| * | | | Allow the Package Registry to be disabled (#14849)Daniele E. Domenichelli2014-05-122-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a project is packaged for redistribution the local package registries should not be updated or consulted. They are for developers. Add variables to disable use of package registries globally: * CMAKE_EXPORT_NO_PACKAGE_REGISTRY that disables the export(PACKAGE) command * CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY that disables the User Package Registry in all the find_package calls. * CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY that disables the System Package Registry in all the find_package calls. Update documentation and unit tests.
* | | | | Merge topic 'minor-cleanups'Brad King2014-05-121-0/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bc9a8bba Makefile: Undef FEATURE_STRING iteration define after use. eb638c75 Tests: Make CompileFeatures feature list lang-specific. e2f09aff CMakeConfigurableFile: Remove excess newline. 5109b042 Features: Fix GNU 4.8.1 version test. 6a9fdbeb Test: Parameterize the language in the CompileFeature test. f5bf9d43 Tests: Make CompileFeature tests use highest standard known.
| * | | | | Makefile: Undef FEATURE_STRING iteration define after use.Stephen Kelly2014-05-101-0/+1
| | | | | |
* | | | | | Merge topic 'ninja-intel-linux'Brad King2014-05-121-2/+4
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | | | | | | | | | | | | | | 54535f47 Ninja: Fix deptype for Intel compiler on Linux
| * | | | | Ninja: Fix deptype for Intel compiler on LinuxBrad King2014-05-091-2/+4
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.0.0-rc1~305^2 (Ninja: deptype msvc for Intel's compiler on Windows, 2013-11-25) we used "deps = msvc" for the Intel compiler. This is correct only on Windows. On Linux we still want "deps = gcc". Fix the logic to use "deps = msvc" when the compiler id or the "simulate id" is "MSVC". This will preserve the behavior on Intel for Windows and fix the behavior on Intel for Linux. In the future this should be converted to a platform information module variable.
| * | | | Merge branch 'vs-fix-MANIFESTUAC' into releaseBrad King2014-05-073-12/+3
| |\ \ \ \
| * \ \ \ \ Merge branch 'desktop-icon' into releaseBrad King2014-05-071-1/+1
| |\ \ \ \ \
* | \ \ \ \ \ Merge topic 'target-property-policy-context'Brad King2014-05-124-23/+23
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 75c3d18d Merge branch 'backport-target-property-policy-context' into target-property-policy-context 911cc9a3 cmTarget: Evaluate CMP0026 and CMP0051 in calling context cb810abe cmTarget: Drop unused GetProperty signature 23409f50 cmTarget: Evaluate CMP0026 in calling context 2e75bf67 cmTarget: Drop unused GetProperty signature
| * | | | | | | cmTarget: Evaluate CMP0026 and CMP0051 in calling contextBrad King2014-05-094-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These policies should be checked at the call site that tries to access the LOCATION or SOURCES property, not the directory scope containing the target. Thread the caller context through cmTarget::GetProperty to use for checking the policy setting and emitting a diagnostic with proper backtrace. Extend the RunCMake.CMP0026 and RunCMake.CMP0051 tests with cross-directory cases.
| * | | | | | | cmTarget: Drop unused GetProperty signatureBrad King2014-05-092-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No callers use the second "scope" argument. Drop this signature and hard-code the default parameter value internally.
* | | | | | | | Merge topic 'osx-package-DragNDrop'Brad King2014-05-124-16/+0
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc3c2102 OS X: Package with DragNDrop instead of PackageMaker
| * | | | | | | | OS X: Package with DragNDrop instead of PackageMakerBrad King2014-05-084-16/+0
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the CPack DragNDrop generator instead of the deprecated PackageMaker tool to package CMake itself. This provides an installation experience that is more consistent with other products on OS X and allows users to select the destination directory easily. It also avoids installing "/private/var/db/receipts/com.Kitware.CMake.*" receipts that must be removed by "pkgutil --forget com.Kitware.CMake" before another version of CMake can be installed. The DragNDrop installer does not support a post-flight script, so drop our configuration of it. The cmake-gui has an option for installing symbolic links to enable command-line use. In practice users may simply add "/Applications/CMake.app/Contents/bin" to their PATH instead.
* | | | | | | | CMake Nightly Date StampKitware Robot2014-05-121-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2014-05-111-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2014-05-101-1/+1
| |_|_|_|/ / / |/| | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2014-05-091-1/+1
|/ / / / / /
* | | | | | EVIS: Reimplement using custom parsing codeBen Boeckel2014-05-082-17/+469
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new implementation of ExpandVariablesInString and select between the old and new implementations based on policy CMP0053. Instead of cmCommandArgumentParserHelper, use a custom parser with our own stack. This is much faster and works well for our simple grammar. The new behavior of CMP0053 should expand @VAR@ syntax only in certain contexts. All existing EVIS callers use "replaceAt == true" so hard-code our call to the old implementation. Update the signature to default to "replaceAt == false" and pass "replaceAt == true" explicitly in the call sites for configure_file and string(CONFIGURE). Testing the configure (no generate) step with ParaView shows ~20% performance improvement. In terms of complete configure/generate steps, further testing with ParaView shows a 20% performance improvement over 2.8.12.2 with Unix Makefiles and minimal with Ninja. Ninja is less because it generate step is the expensive part (future work will address this) by a long shot and these changes help the configure step for the most part.
* | | | | | EVIS: Add policy CMP0053Ben Boeckel2014-05-082-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This policy switches between the old EVIS parser and the new, faster parser.
* | | | | | Merge topic 'vs-fix-MANIFESTUAC'Brad King2014-05-083-12/+3
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | 9c7f234c VS: Fix /MANIFESTUAC:NO linker option mapping
| * | | | | VS: Fix /MANIFESTUAC:NO linker option mappingEric Berge2014-05-073-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are no versions of /MANIFESTUAC:NO where addition values are appended. Remove both of the MANIFESTUAC:NO entries from our flag tables and replace them with one which would set EnableUAC to false and immediately stop processing the /MANIFESTUAC:NO option.