Commit Graph

12318 Commits

Author SHA1 Message Date
Brad King 3028ca756c ENH: Better policies for functions and macros
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.
2009-01-22 13:16:47 -05:00
Brad King 18eadebc4c ENH: Improve stack discussion in cmake_policy
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.
2009-01-22 13:16:33 -05:00
Brad King 26bf8b2cda ENH: Create notion of a 'weak' policy stack entry
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.
2009-01-22 13:16:27 -05:00
David Cole 3a4f76949a BUG: Fix issue #8402. Add a drag and drop bundle generator to the Mac build of CPack. Add a test of it in the CPackComponents test. Thanks to Clinton Stimpson for the patch. 2009-01-22 12:12:44 -05:00
Brad King dfc181a1dc ENH: Create policy scope barriers
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).
2009-01-22 10:57:16 -05:00
Brad King ac14b5d2eb ENH: Make policy push/pop methods private
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).
2009-01-22 10:57:09 -05:00
Brad King c980021814 ENH: Refactor find_package version file scoping
This converts the variable and policy scope protection find_package()
uses when loading version files to use automatic variables.
2009-01-22 10:56:58 -05:00
Brad King a01eb6b27b ENH: Create automatic policy push/pop helper
This creates cmMakefile::PolicyPushPop to push and pop policy scope
automatically.  It also enforces balanced push/pop pairs inside the
scope it handles.
2009-01-22 10:56:50 -05:00
Brad King 8997f4760a ENH: Refactor policy stack representation
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.
2009-01-22 10:56:39 -05:00
David Cole e8a0e90133 BUG: Avoid trying to package the X11 test on Windows when there is no NSIS installer available. 2009-01-22 10:22:30 -05:00
David Cole 0a23c0ee40 BUG: Fix issue #8363. Wrap output with MakeXMLSafe calls so that the generated XML files are valid, parse-able XML. 2009-01-22 07:16:05 -05:00
Brad King 5f3c354b66 STYLE: Nightly Date Stamp 2009-01-22 00:01:56 -05:00
Philip Lowman 7939529d0c BUG: Fixes detection of FLTK on Gentoo (Issue #7809) 2009-01-21 23:52:37 -05:00
Philip Lowman 570d6b4aa9 BUG: Fixes #8376: FindFLTK fails because include file can be FL/Fl.H and CMake
only looks for FL/Fl.h.  Verified: all FLTK header files in 1.1.9 are .H ...
how bizarre.
2009-01-21 22:43:22 -05:00
Brad King f1e74ae018 BUG: Fix VS IDE solution files order again
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.
2009-01-21 17:36:06 -05:00
Brad King 0d83faf3e3 BUG: Fix ALL_BUILD ordering enforcement
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.
2009-01-21 17:24:54 -05:00
Brad King 5b63e31041 ENH: Make ALL_BUILD always the default project
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.
2009-01-21 17:06:57 -05:00
Brad King 00ca96ae7c BUG: Fix VS IDE project order
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.
2009-01-21 16:39:43 -05:00
David Cole 36c228814b BUG: Fix issue #7523: Analyze output of 'hdiutil attach' to get the name of 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. 2009-01-21 13:39:22 -05:00
David Cole 88a499c54c ENH: Use the latest CMake-logo-triangle-high-res.png to improve the look of CMakeSetup.icns on the Mac. 2009-01-21 13:20:47 -05:00
David Cole c647ed54d9 BUG: Fix issue #7833: Add file extension handling to CPack generated 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. 2009-01-21 11:54:30 -05:00
Brad King d2f27558df STYLE: Fix if/endif mismatch in FindKDE4 2009-01-21 09:49:37 -05:00
Brad King 919fdb7f27 ENH: Enforce logical blocks in functions/macros
This teaches function() and macro() to enforce matching logical blocks
inside the recorded bodies.  This makes the error message more specific.
2009-01-21 09:49:31 -05:00
Brad King 1dcc5b4558 ENH: Better handling of mismatched blocks
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.
2009-01-21 09:49:00 -05:00
Brad King bca1026250 ENH: Better error message for unclosed blocks
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.
2009-01-21 09:48:20 -05:00
Brad King b8f5a934ec ENH: Refactor logical block enforcement
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.
2009-01-21 09:48:00 -05:00
Brad King f4d37eebb2 STYLE: Nightly Date Stamp 2009-01-21 00:02:30 -05:00
Brad King acb0e8fb85 BUG: Fix LOCATION property for Mac AppBundles
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.
2009-01-20 15:49:37 -05:00
Brad King 2c81e5fb5c ENH: Refactor function blocker deletion
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.
2009-01-20 14:36:18 -05:00
Brad King a541cac325 ENH: Improve response to bad if or elseif
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.
2009-01-20 14:35:22 -05:00
David Cole 03c940aeb3 BUG: Fix for issue #7470. Allow spaces in the path names of installed files 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. 2009-01-20 14:29:41 -05:00
Bill Hoffman 7f92b77997 BUG: fix crash with cmd.exe shell and cmake in the path 2009-01-20 10:06:39 -05:00
Brad King 57896e296f STYLE: Nightly Date Stamp 2009-01-20 00:02:08 -05:00
Philip Lowman 163af93449 BUG: Fix detection of boost libraries without any compiler encoding (e.g.
Gentoo 1.37 system installed boost).  Fixes issue #8404 reported on mailing
list.
2009-01-19 22:51:27 -05:00
Philip Lowman 47588ac8d0 BUG: Fixes Issue #8054 and more. DOXYGEN_DOT_FOUND now exists, errant
mark_as_advanced variables removed, documentation cleaned up and OSX stuff
isolated to it's own section, support added for DOXYGEN_SKIP_DOT, support
added to call FindPackageHandleStandardArgs to avoid output on every CMake
run.
2009-01-19 22:28:09 -05:00
Philip Lowman 4dae139ad4 BUG: Missing "icpc" as a possible CXX compiler for Intel C++. Also refactored
gcc -dumpversion code and regex to a function.
2009-01-19 21:30:04 -05:00
Philip Lowman 9aaa9f7529 BUG: Switch FindBoost.cmake to use CMAKE_COMPILER_IS_GNUCXX (Issue #8398) 2009-01-19 19:21:10 -05:00
Philip Lowman d1640b11de BUG: Fixed Issue #7331 Bugs in Findosg*.cmake. Also added OPENTHREADS_LIBRARIES. 2009-01-19 13:33:36 -05:00
Philip Lowman d69e68609c BUG: Reverted change made in 1.27, should be unnecessary (Issue #7508) 2009-01-19 05:14:30 -05:00
Philip Lowman b87e0687bd BUG: Resolve Issue #7508, FindBoost fails to find boost on SuSE 10.3 2009-01-19 02:35:03 -05:00
Philip Lowman ab36f5a11e ENH: Added 1.38 since it'll be out soon. More documentation and clarified examples, addressed autolinking issue on MSVC 2009-01-19 02:27:32 -05:00
Philip Lowman 6d37f93a38 BUG: Do not check for GCC version encoding in filenames on Boost libraries prior to 1.35. Eliminate "lib" prefix except on MSVC. 2009-01-19 01:02:46 -05:00
Brad King 811d8acb6b STYLE: Nightly Date Stamp 2009-01-19 00:02:07 -05:00
Philip Lowman f7ba5a7fc8 BUG: Fixed additional issues with autodetecting compiler tags properly including Issue #6926 2009-01-18 17:19:54 -05:00
Philip Lowman ee91442a90 BUG: Fixes problem with _boost_ABI_TAG appending to itself if FindBoost is called more than once (Issue #7460) 2009-01-18 16:40:53 -05:00
Philip Lowman d077940f94 STYLE: minor cleanup 2009-01-18 15:53:45 -05:00
Philip Lowman c4e85549c9 BUG: Removed some code which was squashing Boost_LIBRARIES on WIN32 under the auspices of forcing the user to use autolinking, but it only did this squashing on the first call to FindBoost. Subsequent calls to FindBoost would not have Boost_LIBRARIES squashed so this code was doing nothing. If you link your target_link_libraries() against dynamic boost libraries it appears from tools like Dependency Walker that the pragma calls to autolink to the static boost libraries are ignored. It's therefore too late to make this squash apply to all calls to FindBoost because that would break users that have not setup autolinking properly. For now this fix is largely cosmetic since the original code never worked anyways (see version 1.5 introduced on 4/22/08). 2009-01-18 15:41:18 -05:00
Philip Lowman 909dd8af48 BUG: Fixed documentation bug with Boost_USE_MULTITHREADED, removed OPTION() call since it would be useless and confusing after an initial configure. 2009-01-18 15:17:31 -05:00
Philip Lowman 5913dc1e88 BUG: Fixed superfluous and duplicate dirs in Boost_LIBRARY_DIR. Employed workaround for Issue #8378. Resolves Issue #8099 2009-01-18 14:40:48 -05:00
Bill Hoffman 7e1ba9d075 BUG: add output on failure to ctest #8255 2009-01-18 13:03:32 -05:00