Commit Graph

8682 Commits

Author SHA1 Message Date
Brad King 698b8044a6 ENH: Simplify string attributes in Xcode generator
This change cleans up the implementation of cmXCodeObject to avoid
un-escaping and re-escaping string values.  There is no need to store
the string in escaped form.  It can be escaped once when it is printed
out to the generated project file.
2008-09-02 10:27:15 -04:00
Brad King 6eea886474 STYLE: Nightly Date Stamp 2008-09-01 23:59:06 -04:00
Brad King 747c7f2ad9 STYLE: Nightly Date Stamp 2008-08-31 23:59:03 -04:00
Brad King 8112fbaf79 STYLE: Nightly Date Stamp 2008-08-30 23:59:03 -04:00
Brad King 58192f6d87 STYLE: Nightly Date Stamp 2008-08-29 23:59:46 -04:00
Brad King 56713fbab9 BUG: Link flags should still be chained
The recent fix to avoid including flags in dependency inferral also
dropped them from chaining of dependencies through targets.  This fix
restores chaining of flags through known dependency lists while still
leaving them out of inferred dependency lists.
2008-08-29 13:22:41 -04:00
Brad King ba7fff0161 STYLE: Nightly Date Stamp 2008-08-28 23:59:15 -04:00
Brad King 2018d40001 BUG: A -framework Foo is also a lib 2008-08-28 22:25:13 -04:00
Brad King cbeced92ba BUG: Fix previous fix. 2008-08-28 22:12:15 -04:00
Brad King 006f2b069a BUG: When recognizing flags on link lines, we must still treat -l as a library. 2008-08-28 22:07:19 -04:00
Brad King 4292f45160 STYLE: Nightly Date Stamp 2008-08-27 23:59:20 -04:00
Brad King 6c14041e75 COMP: Do not use private typedef from outside class. 2008-08-27 10:35:53 -04:00
Brad King 816ee0f83c ENH: New link line item ordering algorithm
This change introduces a new algorithm for link line construction.  The
order it computes always begins with the exact link line specified by
the user.  Dependencies of items specified by the user are tracked, and
those that are not already satisified by the line are appended to it at
the end with minimal repeats.  This restores the behavior of CMake 2.4
and below while still fixing some of its bugs.  See issue #7546.
2008-08-27 10:21:57 -04:00
Brad King 012e4c4f68 BUG: Do not infer dependencies of link flags
In cmComputeLinkDepends link items that look like flags (starting in
'-') should not be included in dependency inferral.  They are not
libraries and therefore have no dependencies.  They should just be
passed through to the final link line unchanged.  See issue #7546.
2008-08-27 10:21:50 -04:00
Brad King 32fe1d5b0d BUG: Treat empty config name as no configuration
In cmComputeLinkDepends we should treat an empty configuration name as
equivalent to no specific configuration at all.
2008-08-27 10:21:41 -04:00
Brad King 1dfc557322 STYLE: Nightly Date Stamp 2008-08-26 23:59:38 -04:00
David Cole 9cd09b59c6 BUG: Correct typo in error message. 2008-08-26 12:54:06 -04:00
Brad King 81f89284c6 STYLE: Nightly Date Stamp 2008-08-25 23:59:44 -04:00
Brad King 33e865c041 ENH: Add unset() command.
This introduces the unset() command to make it easy to unset CMake
variables, environment variables, and CMake cache variables.  Previously
it was not even possible to unset ENV or CACHE variables (as in
completely remove them).  Changes based on patch from Philip Lowman.
See issue #7507.
2008-08-25 10:31:29 -04:00
Brad King 04fc897536 STYLE: Nightly Date Stamp 2008-08-24 23:59:38 -04:00
Brad King e5aab39f60 STYLE: Nightly Date Stamp 2008-08-23 23:59:55 -04:00
David Cole 0f2fa9a27f BUG: Correct typo in documentation: or -> of 2008-08-23 13:47:24 -04:00
David Cole ccf603f0c2 ENH: Add the RECURSE_SYMLINKS_OFF flag to the FILE GLOB_RECURSE command. Exposes the recently added kwsys capability that prevents recursing through symlinks to CMake scripts. 2008-08-23 13:33:13 -04:00
Brad King 2e0dd80957 STYLE: Nightly Date Stamp 2008-08-22 23:59:53 -04:00
Brad King ca7f6a1cf3 STYLE: Nightly Date Stamp 2008-08-22 00:00:08 -04:00
Brad King 990c6b0b90 ENH: Allow custom limit on object file path length
Some native build tools, particularly those for cross compiling, may
have a limit on the length of the full path to an object file name that
is lower than the platform otherwise supports.  This change allows the
limit to be set by the project toolchain file through the variable
CMAKE_OBJECT_PATH_MAX.
2008-08-21 09:54:36 -04:00
Brad King 5fda12b73f STYLE: Nightly Date Stamp 2008-08-21 00:00:08 -04:00
David Cole 86e7a9dad8 ENH: Add RecurseThroughSymlinks data member to kwsys::Glob. Allows recursive globs to skip symlinks when necessary. Default to true for backwards compatible behavior. Used from the ctest coverage handler to avoid recursing through the '/Applications' directory on the Mac looking for *.da files... Should fix the hangs reported recently by Mac CMake dashboard submitters. 2008-08-20 13:24:16 -04:00
Brad King fff812db95 ENH: Add if(TARGET) command
It is useful to be able to test if a target has been created.  Often
targets are created only inside conditions.  Rather than storing the
result of the condition manually for testing by other parts of the
project, it is much easier for the other parts to just test for the
target's existence.  This will also be useful when find-modules start
reporting results with IMPORTED targets and projects want to test if a
certain target is available.
2008-08-20 11:45:16 -04:00
Brad King 07665de038 BUG: Handle case when select() lies
According to "man select" on Linux it is possible that select() lies
about data being ready on a pipe in some subtle cases.  We deal with
this by switching to non-blocking i/o and checking for EAGAIN.  See
issue #7180.
2008-08-20 09:57:09 -04:00
Brad King 9f1c7bdbaa STYLE: Nightly Date Stamp 2008-08-20 00:00:14 -04:00
Bill Hoffman b3b4350879 BUG: fix for 6462, delete key should delete the current char 2008-08-19 16:40:19 -04:00
Bill Hoffman 1629963e7c BUG: fix for 7045, use gcc for .m 2008-08-19 15:55:10 -04:00
Bill Hoffman d632b96841 BUG: fix 6647 arguments after -E should not be parsed by CMake 2008-08-19 15:42:48 -04:00
Bill Hoffman d2e2ab72bf BUG: fix for 6794 support for LTCG WholeProgramOptimization, which is not available in VS 8 and newer. 2008-08-19 15:07:47 -04:00
Bill Hoffman 513f7d1869 BUG: fix for 7496, do not just report configure done when there is an error during configure 2008-08-19 13:48:21 -04:00
Bill Hoffman 1bda46564e BUG: 7448 fix crash in ccmake when compiler is changed 2008-08-19 13:31:21 -04:00
Brad King fe98e57e38 ENH: Disallow link-type keywords in link interface
The LINK_INTERFACE_LIBRARIES target property may not contain the
"debug", "optimized", or "general" keywords.  These keywords are
supported only by the target_link_libraries (and link_libraries) command
and are not a generic library list feature in CMake.  When a user
attempts to add one of these keywords to the property value, we now
produce an error message that refers users to alternative means.
2008-08-19 11:43:51 -04:00
Brad King 41c5dd13dc ENH: Clarify link interface documentation
The LINK_INTERFACE_LIBRARIES property does not apply for STATIC
libraries.  The IMPORTED_LINK_INTERFACE_LIBRARIES property does apply
for STATIC libraries.  State both explicitly in the documentation.
Also, clarify that the per-configuration version of these properties
completely overrids the generic version.
2008-08-19 10:29:35 -04:00
Brad King 8ee5c92015 BUG: Linking to modules is for 2.2 compat only
The compatibility check to allow linking to modules should test for
CMake 2.2, not the unreleased 2.3.  See issue #7500.  Furthermore, the
message should be more clear about fixing the code instead of setting
CMAKE_BACKWARDS_COMPATIBILITY unless one is just trying to build an
existing project.
2008-08-19 10:28:22 -04:00
Brad King 5264834868 STYLE: Nightly Date Stamp 2008-08-19 00:00:20 -04:00
Brad King f50ed1fd88 ENH: Improve errors when a policy is REQUIRED
In the future some policies may be set to REQUIRED_IF_USED or
REQUIRED_ALWAYS.  This change clarifies the error messages users receive
when violating the requirements.
2008-08-18 16:29:00 -04:00
Brad King 061d20be38 ENH: Add UNKNOWN type for IMPORTED libraries
When creating an IMPORTED target for a library that has been found on
disk, it may not be known whether the library is STATIC or SHARED.
However, the library may still be linked using the file found from disk.
Use of an IMPORTED target is still important to allow per-configuration
files to be specified for the library.

This change creates an UNKNOWN type for IMPORTED library targets.  The
IMPORTED_LOCATION property (and its per-config equivalents) specifies
the location of the library.  CMake makes no assumptions about the
library that cannot be inferred from the file on disk.  This will help
projects and find-modules import targets found on disk or specified by
the user.
2008-08-18 11:39:22 -04:00
Brad King 0bf093fd17 STYLE: Convert unused target type cases to default
In switch statements that deal with only a few target types, use a
'default' case for the remaining target types instead of listing them
explicitly.  This will make it easier to add more types in the future.
2008-08-18 11:26:51 -04:00
Brad King 94c1fe83fd ENH: Make link interface mode more distinct
Rename the recently added INTERFACE mode of the target_link_libraries()
command to LINK_INTERFACE_LIBRARIES.  This makes it much more distinct
from a normal call to the command, and clearly states its connection to
the property of the same name.  Also require the option to appear
immediately after the target name to make it a mode rather than an
option.
2008-08-18 10:11:29 -04:00
Brad King 7f7068e9d4 ENH: Add cmake_policy(GET) command mode
It is likely that projects or CMake modules in the future will need to
check the value of a policy setting.  For example, if we add a policy
that affects the results of FindXYZ.cmake modules, the module code will
need to be able to check the policy.
2008-08-18 09:53:06 -04:00
Brad King f2d2a82cd0 STYLE: Nightly Date Stamp 2008-08-18 00:00:30 -04:00
Brad King 070d4cc28b STYLE: Nightly Date Stamp 2008-08-17 00:00:30 -04:00
Alexander Neundorf 814b368725 STYLE: extend documentation for RETURN() a bit
ENH: add a test for calling RETURN() in an included file

Alex
2008-08-16 18:06:17 -04:00
Alexander Neundorf 9ead2fd67a BUG: fix #7477, set VERBOSE=1 in the kdevelop setting for the environment,
not together with the make executable

Alex
2008-08-16 16:58:20 -04:00