Commit Graph

11017 Commits

Author SHA1 Message Date
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
Brad King cbc3258e67 Merge branch 'try-compile-min-version' into cygwin 2010-12-14 16:48:04 -05:00
Brad King 2afb820352 Write full version into try_compile CMakeLists
Pass the full version to cmake_minimum_required(VERSION) in generated
CMake files for try_compile projects.  This tells CMake not to use any
backward compatibility behavior while processing code it generates.
2010-12-14 16:36:55 -05:00
KWSys Robot da0a8f7f44 KWSys Nightly Date Stamp 2010-12-14 13:30:03 -05:00
KWSys Robot b5d7f2c57c KWSys Nightly Date Stamp 2010-12-13 00:10:05 -05:00
KWSys Robot 1b98d99c28 KWSys Nightly Date Stamp 2010-12-12 00:10:02 -05:00
KWSys Robot da4c2f6214 KWSys Nightly Date Stamp 2010-12-11 00:10:32 -05:00
KWSys Robot b90e9f9c3a KWSys Nightly Date Stamp 2010-12-10 00:10:28 -05:00
KWSys Robot d25638ac05 KWSys Nightly Date Stamp 2010-12-09 00:10:41 -05:00
Brad King 306427c079 KWSys: Remove realpath from SystemTools::GetPath (#10335)
Commit "merge in changes for beos support" (2006-12-04) added a realpath
call for every directory parsed out of a PATH-style environment
variable.  No reason was given in the commit message or comments.

The call incorrectly resolves symlinks in referenced paths.  Remove it.
If BeOS support really needs it then it can be restored for that
platform with a full explanation.
2010-12-08 18:04:10 -05:00
KWSys Robot 02a8ea2d5b KWSys Nightly Date Stamp 2010-12-08 00:10:03 -05:00
David Cole 35fd8d3abb Merge topic 'fix-typo-in-error-message'
a2a997d Correct misspelling in error message text.
2010-12-07 15:28:16 -05:00
David Cole 2a214ad8b5 Merge topic 'fortran-avoid-timestamp-touch'
5622a16 Make Fortran $obj.provides.build targets not .PHONY
2010-12-07 15:28:12 -05:00
KWSys Robot e580daec4c KWSys Nightly Date Stamp 2010-12-07 00:10:03 -05:00
Brad King 5622a16f1f Make Fortran $obj.provides.build targets not .PHONY
Commit 60cd72d0 (Cleaned up generation of symbolic rules, 2006-02-15)
incorrectly made these Makefile targets .PHONY even though the build
rule touches an actual file.  Correct it so that the copy_f90_mod and
touch steps do not happen on every "make".
2010-12-06 16:43:04 -05:00
David Cole a2a997d8c4 Correct misspelling in error message text. 2010-12-06 08:44:26 -05:00
KWSys Robot afc8906468 KWSys Nightly Date Stamp 2010-12-06 00:10:04 -05:00
KWSys Robot 419e0d29a0 KWSys Nightly Date Stamp 2010-12-05 00:10:07 -05:00
KWSys Robot 34ee41b9cc KWSys Nightly Date Stamp 2010-12-04 00:10:02 -05:00
KWSys Robot 4617135fe7 KWSys Nightly Date Stamp 2010-12-03 00:10:28 -05:00
Brad King 6a07b22bf9 Merge topic 'find-command-crash'
183d261 Fix find_* argument parsing crash (#11513)
2010-12-02 14:25:10 -05:00
Brad King 9ab2659487 Merge topic 'ctest-remove-waiting-message'
13f2454 Remove debugging message from parallel ctest
2010-12-02 14:25:04 -05:00
Brad King 42fac25808 Merge topic 'CPack-Bug11452-ComponentBreakage-v2'
12a7125 CPack Fix KWStyle error
d0eb89c CPack backward compatibility fix 2.8.3-2.8.2 (bug 11452)
2010-12-02 14:24:51 -05:00
Brad King b4bd2d3baf Merge topic 'vs-target-dependencies'
08a3188 Skip VS <= 7.1 dependency analysis for VS >= 8
2010-12-02 14:24:45 -05:00
KWSys Robot 746d54a843 KWSys Nightly Date Stamp 2010-12-02 00:10:03 -05:00
Brad King f9abda2db4 KWSys: Associate installed library with an EXPORT
A parent project may now set KWSYS_INSTALL_EXPORT_NAME to specify the
EXPORT name for install(TARGETS) commands.
2010-12-01 16:10:02 -05:00
Eric NOULARD 12a7125b32 CPack Fix KWStyle error 2010-12-01 21:00:38 +01:00
Brad King 08a31885c1 Skip VS <= 7.1 dependency analysis for VS >= 8
Commit 1a0c166 (Store direct dependencies in solutions for VS >= 8,
2010-08-20) disabled use of VS-specific global dependency analysis.
Avoid perfoming the analysis at all when it is not needed.  This also
prevents creation of bogus and unused '_UTILITY' targets since they are
not needed for dependencies.
2010-12-01 11:43:30 -05:00
Zach Mullen 13f24540ad Remove debugging message from parallel ctest 2010-12-01 11:28:23 -05:00
KWSys Robot 8b555d1d20 KWSys Nightly Date Stamp 2010-12-01 00:10:03 -05:00
Brad King 183d261b11 Fix find_* argument parsing crash (#11513)
Previously the command

  find_path(VAR DOC "")

would crash because the argument pre-processing removed the DOC ""
arguments but the rest of the parsing assumes at least 2 arguments.
Reject the call with an error instead.
2010-11-30 08:39:16 -05:00
KWSys Robot 63828762a0 KWSys Nightly Date Stamp 2010-11-30 00:10:03 -05:00
Eric NOULARD d0eb89c17b CPack backward compatibility fix 2.8.3-2.8.2 (bug 11452)
One should set CPACK_ARCHIVE_COMPONENT_INSTALL=1 in order to
trigger component install for ARCHIVE generators
2010-11-29 18:57:24 +01:00
KWSys Robot bd44b2cc5b KWSys Nightly Date Stamp 2010-11-29 00:10:02 -05:00
KWSys Robot 7ce06dcc90 KWSys Nightly Date Stamp 2010-11-28 00:10:03 -05:00
KWSys Robot 7a85200249 KWSys Nightly Date Stamp 2010-11-27 00:10:32 -05:00
KWSys Robot 500711129b KWSys Nightly Date Stamp 2010-11-26 00:10:02 -05:00
KWSys Robot 537180ab19 KWSys Nightly Date Stamp 2010-11-25 00:10:05 -05:00
KWSys Robot 8bafdeb60e KWSys Nightly Date Stamp 2010-11-24 00:10:03 -05:00
David Cole 5b00b2a201 Merge topic 'dev/fix-cache-variable-parsing-ambiguity'
8b143fa Condense parsing of cache entries
122ebf1 Support manual cache entries
90abc3a Use cmCacheManager to load entries from the cache
6fe8624 Fix parsing of cache variables without a type
2010-11-23 16:12:24 -05:00
David Cole a30a83bc1d Merge topic 'imported-target-dependencies'
e01cce2 Allow add_dependencies() on imported targets (#10395)
bc7395c Merge branch 'vs-target-dependencies' into imported-target-dependencies
fd614e6 Use modern global dependency graph for VS < 8 deps
605f4bc Record edge type in global dependency graph
82596fc Merge branch 'vs8-direct-depends' into vs-target-dependencies
2010-11-23 16:11:57 -05:00
David Cole 0a5600af2d Merge topic 'link-library-parse-regex'
5fe3ac8 Prefer non-empty prefixes when matching lib names (#11468)
2010-11-23 16:11:43 -05:00
David Cole 525b528625 Merge topic 'CPackRPM-ComponentSupport'
66e86b4 CPack  fix kwstyle breakage and make CPackRPM backward compatible
2c84d16 CPackRPM  add basic component support to CPackRPM
2010-11-23 16:11:33 -05:00
David Cole 651120b7af Merge topic 'ImprovedDotSupport2'
78c86f4 Exclude targets from the graphviz file based on a regex
5ea1e4c Collect targets and libs on demand instead of in the ctor
2a5790a Use std::cout instead of fprintf
7ba2d36 Enable/disable generating graphs depending on the target type
84ce612 Move the code for generating dot-files into separate class cmGraphVizWriter
a60b099 Generate separate dot files for each target, and a big one with everything.
487bd57 Properly insert all targets, also those which don't link to anything.
de2b2bf Move the code for collecting targets and libraries into separate functions
f7d56df Remove trailing whitespace and minor formatting changes for the dot-code
2010-11-23 16:11:26 -05:00
KWSys Robot 40cb8a2373 KWSys Nightly Date Stamp 2010-11-23 00:10:02 -05:00
Ben Boeckel 8b143fab66 Condense parsing of cache entries
If a cache line is being parsed, it shouldn't matter whether it has a
type or not; just parse it however possible.
2010-11-22 15:45:30 -05:00
Ben Boeckel 122ebf1297 Support manual cache entries 2010-11-22 15:17:51 -05:00
Ben Boeckel 90abc3a027 Use cmCacheManager to load entries from the cache 2010-11-22 15:14:21 -05:00
Ben Boeckel 6fe8624b7f Fix parsing of cache variables without a type
These mainly come from the command line or manual entries in the
CMakeCache.txt file. We want to stop at the first '=' because this is
what is most likely to have been meant. The variable can be quoted if
the '=' is intended.

Caveat: What if one wants both '"' and '=' in a variable name?
2010-11-22 15:12:47 -05:00
KWSys Robot a0739ac5ab KWSys Nightly Date Stamp 2010-11-22 00:10:26 -05:00