summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Isolate policy changes in included scriptsBrad King2009-01-229-18/+168
| | | | | | | | Isolation of policy changes inside scripts is important for protecting the including context. This teaches include() and find_package() to imply a cmake_policy(PUSH) and cmake_policy(POP) around the scripts they load, with a NO_POLICY_SCOPE option to disable the behavior. This also creates CMake Policy CMP0011 to provide compatibility. See issue #8192.
* ENH: Better policies for functions and macrosBrad King2009-01-227-2/+45
| | | | | | | This teaches functions and macros to use policies recorded at creation time when they are invoked. It restores the policies as a weak policy stack entry so that any policies set by a function escape to its caller as before.
* ENH: Improve stack discussion in cmake_policyBrad King2009-01-221-8/+9
| | | | | | This re-organizes the discussion of the policy stack in documentation of the cmake_policy() command. The new organization clearer and easier to extend with new information.
* ENH: Create notion of a 'weak' policy stack entryBrad King2009-01-222-11/+22
| | | | | | | A 'weak' poilcy stack entry responds normally to queries. However, setting a policy in a weak entry will recursively set the policy in the next entry too. This also gives the internal interface to create a weak entry the option to provide an initial PolicyMap for it.
* BUG: Fix issue #8402. Add a drag and drop bundle generator to the Mac build ↵David Cole2009-01-226-89/+306
| | | | of CPack. Add a test of it in the CPackComponents test. Thanks to Clinton Stimpson for the patch.
* ENH: Create policy scope barriersBrad King2009-01-223-54/+82
| | | | | This creates a barrier mechanism to prevent user code from using cmake_policy(POP) to pop a scope it didn't push with cmake_policy(PUSH).
* ENH: Make policy push/pop methods privateBrad King2009-01-221-3/+7
| | | | | | | | This makes cmMakefile::PushPolicy and cmMakefile::PopPolicy private so that any outside place that uses them needs to use the PolicyPushPop helper in an automatic variable. We grant an exception to cmCMakePolicyCommand so it can implement cmake_policy(PUSH) and cmake_policy(POP).
* ENH: Refactor find_package version file scopingBrad King2009-01-221-6/+4
| | | | | This converts the variable and policy scope protection find_package() uses when loading version files to use automatic variables.
* ENH: Create automatic policy push/pop helperBrad King2009-01-222-0/+41
| | | | | | This creates cmMakefile::PolicyPushPop to push and pop policy scope automatically. It also enforces balanced push/pop pairs inside the scope it handles.
* ENH: Refactor policy stack representationBrad King2009-01-223-7/+16
| | | | | | This defines PolicyMap as a public member of cmPolicies. Its previous role as a policy stack entry is now called PolicyStackEntry and represented as a class to which more information can be added later.
* BUG: Fix issue #8363. Wrap output with MakeXMLSafe calls so that the ↵David Cole2009-01-221-6/+12
| | | | generated XML files are valid, parse-able XML.
* STYLE: Nightly Date StampBrad King2009-01-221-1/+1
|
* BUG: Fix VS IDE solution files order againBrad King2009-01-211-1/+1
| | | | | | | The previous change to order projects in the VS IDE did not account for duplicate target names (such as ALL_BUILD and ZERO_CHECK) among the input set. While we suppress generation of the duplicate project entries, we need to use a multiset to store ordered duplicates.
* BUG: Fix ALL_BUILD ordering enforcementBrad King2009-01-211-4/+4
| | | | | | The previous change to make ALL_BUILD come first among targets did not account for comparing the target name against itself. This led to an invalid ordering of the target set. This change fixes it.
* ENH: Make ALL_BUILD always the default projectBrad King2009-01-211-0/+9
| | | | | | | This teaches the VS IDE generators to write ALL_BUILD into solution files first so that it is always the default active project. Previously it was first only if no target name sorted lexicographically earlier. See issue #8172.
* BUG: Fix VS IDE project orderBrad King2009-01-213-26/+52
| | | | | | | | | | Our implementation of the feature to pull in dependent targets in VS solution files for subprojects caused the order of project files in the solution to be arbitrary (based on pointer value in the representation). Target ordering in solution files is important to prevent unnecessary changing of the files and because the VS IDE selects the first project listed as the default active target. This change restores lexicographic order by target name.
* BUG: Fix issue #7523: Analyze output of 'hdiutil attach' to get the name of ↵David Cole2009-01-212-8/+12
| | | | the volume that was mounted. Eliminates the need to use the -mountpoint arg of hdiutil which has a silly 90 character limit on the name of the mount point. Also add a custom volume icon to the BundleGeneratorTest to cover this code.
* ENH: Use the latest CMake-logo-triangle-high-res.png to improve the look of ↵David Cole2009-01-211-0/+0
| | | | CMakeSetup.icns on the Mac.
* BUG: Fix issue #7833: Add file extension handling to CPack generated ↵David Cole2009-01-212-0/+9
| | | | installers for OSXX11 applications. Also modify the X11 test to build such an installer on Mac builds that test CPack and have X11 available. Thanks to Wes Turner for the patch.
* ENH: Enforce logical blocks in functions/macrosBrad King2009-01-212-0/+6
| | | | | This teaches function() and macro() to enforce matching logical blocks inside the recorded bodies. This makes the error message more specific.
* ENH: Better handling of mismatched blocksBrad King2009-01-217-8/+24
| | | | | | | | | | | | | | | | If a logical block terminates with mismatching arguments we previously failed to remove the function blocker but replayed the commands anyway, which led to cases in which we failed to report the mismatch (return shortly after the ending command). The recent refactoring of function blocker deletion changed this behavior to produce an error on the ending line by not blocking the command. Furthermore, the function blocker would stay in place and complain at the end of every equal-level block of the same type. This teaches CMake to treat the begin/end commands (if/endif, etc.) as correct and just warns when the arguments mismatch. The change allows cases in which CMake 2.6.2 silently ignored a mismatch to run as before but with a warning.
* ENH: Better error message for unclosed blocksBrad King2009-01-2113-73/+30
| | | | | | This centralizes construction of the error message for an unclosed logical block (if, foreach, etc.). We record the line at which each block is opened so it can be reported in the error message.
* ENH: Refactor logical block enforcementBrad King2009-01-212-40/+86
| | | | | | This uses a stack of 'barriers' to efficiently divide function blockers into groups corresponding to each input file. It simplifies detection of missing block close commands and factors it out of ReadListFile.
* STYLE: Nightly Date StampBrad King2009-01-211-1/+1
|
* BUG: Fix LOCATION property for Mac AppBundlesBrad King2009-01-203-17/+11
| | | | | | | Previously cmTarget::GetLocation and cmTarget::GetFullPath would return for Mac AppBundles the top-level bundle directory but without the .app extension. We worked around this at the call sites. This fixes the methods and removes the work-arounds. See issue #8406.
* ENH: Refactor function blocker deletionBrad King2009-01-208-47/+27
| | | | | | | | | When a function blocker decides to remove itself we previously removed it at every return point from the C++ scope in which its removal is needed. This teaches function blockers to transfer ownership of themselves from cmMakefile to an automatic variable for deletion on return. Since this removes blockers before they replay their commands, we no longer need to avoid running blockers on their own commands.
* ENH: Improve response to bad if or elseifBrad King2009-01-203-22/+28
| | | | | | | Previously bad arguments to an if() or elseif() would cause some subsequent statements in the corresponding block to execute. This teaches CMake to stop processing commands with a fatal error. It also provides context to bad elseif() error messages.
* BUG: Fix for issue #7470. Allow spaces in the path names of installed files ↵David Cole2009-01-201-11/+16
| | | | with the NSIS CPack generator and component-based installs. Add an installed file to the CPackComponents test: it failed before the fix; now it passes.
* BUG: fix crash with cmd.exe shell and cmake in the pathBill Hoffman2009-01-201-0/+9
|
* STYLE: Nightly Date StampBrad King2009-01-201-1/+1
|
* STYLE: Nightly Date StampBrad King2009-01-191-1/+1
|
* BUG: add output on failure to ctest #8255Bill Hoffman2009-01-183-0/+34
|
* BUG: fix crash with empty propertiesBill Hoffman2009-01-181-2/+8
|
* STYLE: Nightly Date StampBrad King2009-01-181-1/+1
|
* STYLE: Nightly Date StampBrad King2009-01-171-1/+1
|
* STYLE: Nightly Date StampBrad King2009-01-161-1/+1
|
* BUG: Fix find_package docs for refind featureBrad King2009-01-151-2/+1
| | | | | | Recently we taught find_package to re-find a package configuration file if it is given a wrong answer. This fixes the documentation to reflect the change.
* BUG: Enforce matching policy PUSH/POP in all filesBrad King2009-01-152-14/+19
| | | | | | The documentation of cmake_policy PUSH and POP states that they must always match. Previously we enforced this only for the top scope of each CMakeLists.txt file. This enforces the requirement for all files.
* ENH: fix part submission to not have memory of the last part submissionBill Hoffman2009-01-152-5/+6
|
* BUG: fix for bug #8174Bill Hoffman2009-01-152-2/+14
|
* ENH: Provide variable CMAKE_VERSIONBrad King2009-01-152-0/+13
| | | | | | This creates the variable CMAKE_VERSION containing the full version of cmake in "major.minor.patch" format. It is particularly useful with the component-wise version comparison provided by the if() command.
* ENH: Document variable CMAKE_PATCH_VERSIONBrad King2009-01-151-0/+6
| | | | | This adds documentation of CMAKE_PATCH_VERSION to the generated variables documentation.
* STYLE: Nightly Date StampBrad King2009-01-151-1/+1
|
* BUG: Pop a function scope even on errorBrad King2009-01-142-3/+12
| | | | | | This uses an automatic variable to push and pop variable scope inside a function call. Previously if the function failed its scope would not be popped. This approach guarantees a balanced push/pop.
* ENH: fix return value to ctest_build and remove debug print in cmProcessBill Hoffman2009-01-142-8/+3
|
* ENH: allow ctest_build to return error and warning countsBill Hoffman2009-01-145-6/+49
|
* COMP: Fix const set find for Borland 5.5Brad King2009-01-142-3/+6
| | | | | | The Borland 5.5 compiler's STL set does not define correct signatures for its find() members, leading to build errors. This works around the problem.
* STYLE: Nightly Date StampBrad King2009-01-141-1/+1
|
* STYLE: Nightly Date StampBrad King2009-01-131-1/+1
|
* COMP: Remove unused variableBrad King2009-01-121-1/+0
|