Commit Graph

242 Commits

Author SHA1 Message Date
David Cole 3105dc3de6 Begin post-2.8.6 development 2011-10-04 14:41:15 -04:00
David Cole 5971063a5c CMake 2.8.6 2011-10-04 11:48:52 -04:00
David Cole c16e387412 CMake 2.8.6-rc4 2011-09-22 14:08:22 -04:00
David Cole afff1ab901 Merge branch 'release' 2011-09-22 14:06:40 -04:00
David Cole c336778c52 CMake: Reference test targets only when BUILD_TESTING is ON
You cannot set a property on a target that's not there, and
these targets are not there when BUILD_TESTING is OFF.

Thanks to Sankhesh Jhaveri for the bug report.
2011-09-14 10:38:04 -04:00
David Cole 281b93734c CMake 2.8.6-rc3 2011-09-09 11:53:38 -04:00
David Cole bf14d95946 CMake 2.8.6-rc2 2011-09-02 15:35:06 -04:00
David Cole 04b68853d5 CMake 2.8.6-rc1 2011-08-26 11:26:04 -04:00
David Cole 2a97c5d52f Begin post-2.8.5 development 2011-07-08 11:05:10 -04:00
David Cole ee1c6a5b06 CMake 2.8.5 2011-07-08 07:12:50 -04:00
David Cole e8e1048c5f CMake 2.8.5-rc3 2011-06-21 13:05:02 -04:00
David Cole 34cfc880b1 CMake 2.8.5-rc2 2011-06-15 09:15:54 -04:00
David Cole 986a115267 CMake 2.8.5-rc1 2011-05-25 09:52:01 -04:00
Brad King 9c78ef1395 COMP: Fix build against non-standard outside libarchive
Use the include directories reported by find_package(LibArchive).
2011-03-31 16:59:03 -04:00
Brad King fa10a67d09 Remove unused CMAKE_BACKWARDS_COMPATIBILITY mark
CMake itself has no calls to cmake_minimum_required with VERSION < 2.6
so this cache variable does not appear at all.
2011-03-01 16:19:53 -05:00
Brad King c3e452e944 Require at least CMake 2.6.3 to build current CMake
Remove some cruft left for supporting builds with CMake 2.4.
2011-02-24 15:14:08 -05:00
David Cole 4d1240eb0a Begin post-2.8.4 development 2011-02-15 11:45:45 -05:00
David Cole 1bb4c7be11 CMake 2.8.4 2011-02-15 10:31:54 -05:00
David Cole 086cd2fa40 CMake 2.8.4-rc2 2011-01-31 13:03:26 -05:00
David Cole 37f4a1d121 Merge branch 'release' 2011-01-31 12:43:34 -05:00
David Cole 799efb4a2c CMake 2.8.4-rc1 2011-01-12 09:32:11 -05:00
Brad King 60d72b56ed bootstrap: Granular system library selection (#11431)
This adds the ability for packagers to specify that some libraries
should use system versions and others should use the CMake versions.

This allows a bit of flexibility and means Homebrew (an OSX package
manager) no longer has to continue to patch the CMake build process.

Inspired-by: Mike McQuaid <mike@mikemcquaid.com>
2011-01-10 09:32:09 -05:00
Brad King 85c0a69a92 Cygwin: Do not define 'WIN32' (#10122)
One of Cygwin's goals is to build projects using the POSIX API with no
Windows awareness.  Many CMake-built projects have been written to test
for UNIX and WIN32 but not CYGWIN.  The preferred behavior under Cygwin
in such projects is to take the UNIX path but not the WIN32 path.

Unfortunately this change is BACKWARDS INCOMPATIBLE for Cygwin-aware
CMake projects!  Some projects that previously built under Cygwin and
are Cygwin-aware when they test for WIN32 may now behave differently.
Eventually these projects will need to be updated, but to help users
build them in the meantime we print a warning about the change in
behavior.  Furthermore, one may set CMAKE_LEGACY_CYGWIN_WIN32 to request
old behavior during the transition.

Normally we avoid backwards incompatible changes, but we make an
exception in this case for a few reasons:

(1) This behavior is preferred by Cygwin's design goals.

(2) A warning provides a clear path forward for everyone who may see
incompatible behavior, and CMAKE_LEGACY_CYGWIN_WIN32 provides a
compatibility option.  The warning and compatibility option both
disappear when the minimum required version of CMake in a project is
sufficiently new, so this issue will simply go away over time as
projects are updated to account for the change.

(3) The fixes required to update projects are fairly insignificant.
Furthermore, the Cygwin distribution has no releases itself so project
versions that predate said fixes tend to be difficult to build anyway.

(4) This change enables many CMake-built projects that did not
previously build under Cygwin to work out-of-the-box.  From bug #10122:

  "I have built over 120 different source packages with (my patched)
   CMake, including most of KDE4, and have found that NOT defining
   WIN32 on Cygwin is much more accurate." -- Yaakov Selkowitz

A fully compatible change would require patches on top of these project
releases for Cygwin even though they otherwise need not be aware of it.

(5) Yaakov has been maintaining a fork of CMake with this change for the
Cygwin Ports distribution.  It works well in practice.  By accepting the
change in upstream CMake we avoid confusion between the versions.

CMake itself builds without WIN32 defined on Cygwin.  Simply disable
CMAKE_LEGACY_CYGWIN_WIN32 explicitly in our own CMakeLists.txt file.
2010-12-17 14:19:58 -05:00
David Cole 1674961a3f Begin post-2.8.3 development 2010-11-03 16:42:13 -04:00
David Cole 63d21c1f8e CMake 2.8.3 2010-11-03 13:38:38 -04:00
David Cole e5b50a9ada CMake 2.8.3-rc4 2010-10-29 15:21:36 -04:00
David Cole 144ee51760 CMake 2.8.3-rc3 2010-10-20 13:47:59 -04:00
Brad King 5e6ba7d82d CMake 2.8.3-rc2 2010-10-06 10:39:10 -04:00
Brad King 07fcb60ac5 Merge branch 'release' 2010-10-06 10:31:57 -04:00
Brad King dacc47853d Merge topic 'vs-project-groups'
fd3249e New USE_FOLDERS property OFF by default. (#3796)
2010-10-05 15:31:49 -04:00
David Cole fd3249e11a New USE_FOLDERS property OFF by default. (#3796)
Visual Studio Express editions do not support solution folders,
so default behavior should be as if USE_FOLDERS global property
is OFF.

Also, allow folder names to be the same as target names: internally,
use a prefix to distinguish folder GUIDs from target GUIDs. Add
a target and folder with the same name in the ExternalProject
test to exercise this code.

For CMake itself, provide a new option CMAKE_USE_FOLDERS that
defaults to ON so that Visual Studio users get a nicely organized
CMake project. Express edition users will have to turn off the
CMAKE_USE_FOLDERS option in order to build CMake in the VS Express
IDE.
2010-10-02 14:31:02 -04:00
Brad King c4a0f0b2d6 CMake 2.8.3-rc1 2010-09-15 10:15:59 -04:00
Brad King 28edb70a9e Merge topic 'vs-project-groups'
e6ac0aa Add FOLDER target property, for IDEs (#3796)
2010-09-08 11:08:05 -04:00
David Cole e6ac0aacf6 Add FOLDER target property, for IDEs (#3796)
This work was started from a patch by Thomas Schiffer.
Thanks, Thomas!

See the newly added documentation of the FOLDER target
property for details.

Also added global properties, USE_FOLDERS and
PREDEFINED_TARGETS_FOLDER. See new docs here, too.

By default, the FOLDER target property is used to organize
targets into folders in IDEs that have support for such
organization.

This commit adds "solution folder" support to the Visual
Studio generators. Currently works with versions 7 through
10.

Also, use the new FOLDER property in the ExternalProject
test and in the CMake project itself.
2010-09-03 13:53:22 -04:00
Brad King a602f87186 Add option CMAKE_USE_SYSTEM_LIBARCHIVE (#10923)
Finish the implementation of the option from the skeleton left by the
initial addition of libarchive.
2010-07-29 10:13:55 -04:00
Brad King c35bfaa0f7 Merge topic 'use-system-bzip2'
6a24bdf Optionally use system bzip2 library (#10932)
2010-07-20 16:00:52 -04:00
Brad King a3c2c459b9 Merge topic 'disable_gcc33_onfree_bsd'
3ef273c Poison GCC 3.3 on OpenBSD a bit later
696a0af Disable gcc 33 on OpenBSD because it crashes CPack by default.
2010-07-13 14:46:23 -04:00
Brad King 6a24bdfc4e Optionally use system bzip2 library (#10932)
Add option CMAKE_USE_SYSTEM_BZIP2 and enable it automatically when
CMAKE_USE_SYSTEM_LIBRARIES is on.  While we're at it, remove XMLRPC from
the list of system library options because we no longer provide it in
source.
2010-07-13 10:43:41 -04:00
Brad King 3ef273c568 Poison GCC 3.3 on OpenBSD a bit later
Move lines from commit 696a0af (Disable gcc 33 on OpenBSD because it
crashes CPack by default, 2010-06-25) further down in CMakeLists.txt so
that CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS applies.  This fixes the code for
building with CMake 2.4.
2010-07-06 09:54:36 -04:00
Brad King eb7e54fe00 Begin post-2.8.2 development 2010-06-28 10:34:04 -04:00
Brad King f9116d0225 CMake 2.8.2 2010-06-28 10:23:40 -04:00
Bill Hoffman 696a0af220 Disable gcc 33 on OpenBSD because it crashes CPack by default.
Make sure no one tries to use gcc 33 based tools to build CMake.
This is because a cpack test failed with a crash.  The crash
seems to be caused by the stack checking code on by default in
OpenBSD.  The crash is in some stl code.  The problem is fixed
with newer gcc compilers on OpenBSD.
2010-06-25 12:54:16 -04:00
Brad King e010d1f688 CMake 2.8.2-rc4 2010-06-24 10:48:52 -04:00
Brad King 7f662c5c62 CMake 2.8.2-rc3 2010-06-22 10:08:36 -04:00
Brad King 5b3987bc41 CMake 2.8.2-rc2 2010-06-15 14:47:52 -04:00
Brad King 23a8f31e3f Merge branch 'release' 2010-06-15 14:33:11 -04:00
Brad King ba95a1f0bd Merge branch 'make_libarchive_use_cmzlib' 2010-06-15 14:06:47 -04:00
Brad King a12da80c77 CMake 2.8.2-rc1 2010-06-11 14:39:37 -04:00
Bill Hoffman c74556bdfc Make sure libarchive uses cmzlib and not the system libz if found. 2010-06-11 13:48:23 -04:00
Brad King 6ba45fa939 Fix CMake data and doc paths in Cygwin package
Override CMAKE_DOC_DIR and CMAKE_DATA_DIR cache entries on Cygwin early
enough so the new values are used everywhere.  Previously only some of
the uses were overridden.  Also set CPACK_PACKAGE_VERSION to the whole
CMake_VERSION so that the Cygwin MANIFEST file goes in the proper path.
2010-06-09 11:34:38 -04:00