Patched versions of CMake for ReactOS needs
Go to file
David Cole c2895f48a4 BundleUtilities: error if fixup_bundle_item called on non-embedded item
Also, improve the documentation of the fixup_bundle and fixup_bundle_item
functions to clarify that plugin type "libs" need to be copied into
the bundle *before* calling fixup_bundle.

Commit e93a4b4d34 changed the way that
the libs parameter to fixup_bundle is interpreted. Before the commit,
the libs were copied into the bundle first and then fixed up. After
the commit, the copy was skipped, assuming the libs were in the bundle
in the first place, and then the fixups occurred as before.

However, before the commit, it was possible to name a lib from outside
the bundle, and have it copied in and then fixed up. Its resolved
embedded name was always inside the bundle before. After, its resolved
embedded name was just the same as its resolved name, which is in its
original location, and not necessarily inside the bundle.

This manifested itself as a problem with the ParaView call to
fixup_bundle and its many plugins. Previously, ParaView had simply
passed in the list of plugin file names as they existed in the build
tree, and left the copying into the bundle up to the fixup_bundle
function. When built with CMake 2.8.3 (the first version to contain
the above named commit) the fixup_bundle call would inadventently
fixup libraries in the build tree, not libraries that were in the
bundle. Furthermore, the plugins would not be in the final bundle.

This points out the fact that the fix for the bugs made by the above
commit was a backwards-incompatible change in behavior.

This commit makes it an error to try to fixup an item that is not
already inside the bundle to make the change in behavior apparent
to folks who were depending on the prior copy-in behavior: now,
they should get an error, and hopefully, reading the new and
improved documentation, should be able to resolve it in their
projects by adding code to install or copy in such libraries prior
to calling fixup_bundle.

Whew.
2010-12-06 16:35:59 -05:00
Docs Improve cmake-completion (install doc, ctest -R completion) 2010-08-13 17:11:42 +02:00
Example ENH: updte to lower case and using ADD_SUBDIRECTORY 2005-06-27 12:44:11 -04:00
Modules BundleUtilities: error if fixup_bundle_item called on non-embedded item 2010-12-06 16:35:59 -05:00
Source KWSys Nightly Date Stamp 2010-12-06 00:10:04 -05:00
Templates Add STATIC_LIBRARY_FLAGS_<CONFIG> property (#10768) 2010-05-28 11:09:10 -04:00
Tests Allow add_dependencies() on imported targets (#10395) 2010-11-19 17:19:21 -05:00
Utilities Merge topic 'fix_osf_build' 2010-11-09 15:53:55 -05:00
.gitattributes Add whitespace=tab-in-indent attribute for sources 2010-08-30 11:19:39 -04:00
bootstrap bootstrap: Honor CFLAGS during "make" test (#10545) 2010-09-10 11:39:43 -04:00
ChangeLog.manual CMake 2.8.3 2010-11-03 13:38:38 -04:00
ChangeLog.txt Add new changelog to get ready for release 2009-09-23 16:45:29 -04:00
cmake_uninstall.cmake.in BUG: Patch from bug#4312 to make uninstall work with DESTDIR. 2007-01-22 10:39:16 -05:00
cmake.1 ENH: Initial checkin of unix manpage. 2002-08-08 11:58:30 -04:00
CMakeCPack.cmake Fix CMake data and doc paths in Cygwin package 2010-06-09 11:34:38 -04:00
CMakeCPackOptions.cmake.in Use cmake-gui.exe for the install/uninstall icon for cmake. 2009-09-25 11:26:28 -04:00
CMakeGraphVizOptions.cmake ENH: Add a way to overwrite some preferences and ignore certain targets 2006-03-07 15:31:05 -05:00
CMakeLists.txt Begin post-2.8.3 development 2010-11-03 16:42:13 -04:00
CMakeLogo.gif ENH: fancier logo 2007-11-26 13:21:57 -05:00
CompileFlags.cmake Re-disable MSVC CRT deprecation warnings 2009-10-28 08:42:20 -04:00
configure Simplify bootstrap script source dir detection 2009-09-25 10:48:24 -04:00
Copyright.txt Convert CMake to OSI-approved BSD License 2009-09-28 11:43:28 -04:00
CTestConfig.cmake Change to UTC for dashboard time. 2010-03-15 14:25:32 -04:00
CTestCustom.cmake.in Suppress "loop was vectorized" "warnings." 2010-11-08 11:30:19 -05:00
CTestCustom.ctest.in ENH: Create CTestCustom.cmake instead of CTestCustom.ctest. Create the old file to include the new one for compatibility. This should prevent the long delays of CTest traversing the whole tree looking for CTestCustom.ctest files. 2007-08-31 14:51:09 -04:00
DartConfig.cmake Convert CMake to OSI-approved BSD License 2009-09-28 11:43:28 -04:00
DartLocal.conf.in ENH: remove superior dean i, no longer uses borland 2007-12-03 20:44:43 -05:00
doxygen.config BUG: fix for bug# 3921 INPUT wrong 2006-10-13 11:26:59 -04:00
Readme.txt Convert CMake to OSI-approved BSD License 2009-09-28 11:43:28 -04:00

This is CMake, the cross-platform, open-source make system.
CMake is distributed under the BSD License, see Copyright.txt.
For documentation see the Docs/ directory once you have built CMake
or visit http://www.cmake.org.


Building CMake
==============


Supported Platforms
-------------------

MS Windows, Mac OS X, Linux, FreeBSD, Solaris, HP-UX, IRIX, BeOS, QNX

Other UNIX-like operating systems may work too out of the box, if not
it shouldn't be a major problem to port CMake to this platform. Contact the
CMake mailing list in this case: http://www.cmake.org/mailman/listinfo/cmake


If you don't have any previous version of CMake already installed
--------------------------------------------------------------

* UNIX/Mac OSX/MinGW/MSYS/Cygwin:

You need to have a compiler and a make installed.
Run the bootstrap script you find the in the source directory of CMake.
You can use the --help option to see the supported options.
You may want to use the --prefix=<install_prefix> option to specify a custom
installation directory for CMake. You can run the bootstrap script from
within the CMake source directory or any other build directory of your
choice. Once this has finished successfully, run make and make install.
So basically it's the same as you may be used to from autotools-based
projects:

$ ./bootstrap; make; make install


* Other Windows:

You need to download and install a binary release of CMake in order to build
CMake.  You can get these releases from
http://www.cmake.org/HTML/Download.html .  Then proceed with the instructions
below.


You already have a version of CMake installed
---------------------------------------------

You can build CMake as any other project with a CMake-based build system:
run the installed CMake on the sources of this CMake with your preferred
options and generators. Then build it and install it.
For instructions how to do this, see http://www.cmake.org/HTML/RunningCMake.html