Commit Graph

211 Commits

Author SHA1 Message Date
Brad King 430cc2b4b7 ENH: Always imply CLEAN_DIRECT_OUTPUT target prop
This property was left from before CMake always linked using full path
library names for targets it builds.  In order to safely link with
"-lfoo" we needed to avoid having both shared and static libraries in
the build tree for targets that switch on BUILD_SHARED_LIBS.  This meant
cleaning both shared and static names before creating the library, which
led to the creation of CLEAN_DIRECT_OUTPUT to disable the behavior.

Now that we always link with a full path we do not need to clean old
library names left from an alternate setting of BUILD_SHARED_LIBS.  This
change removes the CLEAN_DIRECT_OUTPUT property and instead uses its
behavior always.  It removes some complexity from cmTarget internally.
2009-05-01 10:38:35 -04:00
Brad King 493f88ce55 ENH: Allow projects to disable per-rule echo lines
This creates global property RULE_MESSAGES which can be set to disbale
per-rule progress and action reporting.  On Windows, these reports may
cause a noticable delay due to the cost of starting extra processes.
This feature will allow scripted builds to avoid the cost since they do
not need detailed information anyway.  This replaces the RULE_PROGRESS
property created earlier as it is more complete.  See issue #8726.
2009-03-16 16:55:58 -04:00
Brad King 2f651c2e59 ENH: Allow projects to disable per-rule progress
This creates global property RULE_PROGRESS which can be set to disbale
per-rule progress reporting.  On Windows, progress reports may cause a
noticable delay due to the cost of starting an extra process.  This
feature will allow scripted builds to avoid the cost since they do not
need detailed progress anyway.  See issue #8726.
2009-03-16 16:22:19 -04:00
Bill Hoffman 46b9a884ac ENH: make this test pass if new curl is on 2008-11-21 16:10:09 -05:00
Bill Hoffman 0f88ea3993 ENH: only link in curl directories that exist, this will help with vs6 nmake 2008-11-20 14:06:57 -05:00
Bill Hoffman bc1f0e1b11 ENH: make it work if new curl is on 2008-11-19 01:15:41 -05:00
Bill Hoffman 32ac624352 ENH: make it work if new curl is on 2008-11-18 09:37:31 -05: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 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
Ken Martin 19e891532a ENH: support parenthesis as arguments and in conditionals feature request #6191 2008-06-26 13:01:35 -04:00
Brad King a6a673979d ENH: Add "if(POLICY policy-id)" option for IF command.
- This will help projects support multiple CMake versions.
  - In order to set a policy when using a newer CMake but still
    working with an older CMake one may write
      if(POLICY CMP1234)
        cmake_policy(SET CMP1234 NEW)
      endif(POLICY CMP1234)
  - Note that since CMake 2.4 does not have if(POLICY) supporting
    it will also require using "if(COMMAND cmake_policy)"
2008-03-20 18:25:59 -04:00
Brad King b459ec9f57 ENH: Updated DEFINE_PROPERTY command to be more extendible and more consistent with new SET_PROPERTY and GET_PROPERTY signatures. 2008-02-14 13:36:23 -05:00
Bill Hoffman 378ca535a4 ENH: complex must link to curl now 2008-02-07 08:55:56 -05:00
Brad King 96fd5909d9 ENH: Implement linking with paths to library files instead of -L and -l separation. See bug #3832
- This is purely an implementation improvement.  No interface has changed.
  - Create cmComputeLinkInformation class
  - Move and re-implement logic from:
      cmLocalGenerator::ComputeLinkInformation
      cmOrderLinkDirectories
  - Link libraries to targets with their full path (if it is known)
  - Dirs specified with link_directories command still added with -L
  - Make link type specific to library names without paths
    (name libfoo.a without path becomes -Wl,-Bstatic -lfoo)
  - Make directory ordering specific to a runtime path computation feature
    (look for conflicting SONAMEs instead of library names)
  - Implement proper rpath support on HP-UX and AIX.
2008-01-22 09:13:04 -05:00
Brad King 9d57dbd098 ENH: Make per-configuration COMPILE_DEFINITIONS_<CONFIG> directory property initialized from parent. 2008-01-17 20:34:10 -05:00
Brad King 88b31bd007 ENH: Adding test for using HEADER_FILE_ONLY to avoid building a .cxx file. 2007-11-19 14:27:43 -05:00
Bill Hoffman 2e24dd1e5b ENH: fix leak 2007-08-21 12:31:32 -04:00
Bill Hoffman fcad93e172 ENH: user more memory for parser and add test to complex that sets a huge string 2007-07-20 14:08:37 -04:00
Brad King b384218ec1 BUG: Disable test of feature that is not documented or implemented everywhere. 2007-05-16 11:40:53 -04:00
Brad King adcd87c976 BUG: Fixed cmLocalVisualStudio7Generator to deal with quotes in macro definitions properly. This addresses bug#4983. 2007-05-09 10:18:31 -04:00
Brad King cf7eeab37a ENH: Testing new target properties RUNTIME_OUTPUT_DIRECTORY, LIBRARY_OUTPUT_DIRECTORY, and ARCHIVE_OUTPUT_DIRECTORY. This is an incremental fix for bug#2240 and bug#4210. 2007-03-12 10:23:06 -04:00
Brad King a4d2dc4366 ENH: Added smoke test for user-value flag mapping for VS IDE. 2007-02-01 12:02:24 -05:00
Ken Martin 27379d7b08 ENH: make properties a bit more formal with documentation and chaining 2006-12-07 09:45:32 -05:00
Bill Hoffman 3a32cec969 ENH: merge in changes for beos support 2006-12-04 17:26:41 -05:00
Brad King 4400842135 ENH: Added test case for bug#3966. 2006-10-30 10:38:55 -05:00
Brad King 21a56b7df7 COMP: Fixed typo: CMAKE_TEST_CMAKELIB -> COMPLEX_TEST_CMAKELIB. 2006-10-22 11:57:11 -04:00
Brad King b646183f44 ENH: Added explicit name for option to test CMakeLib. Added option to disable testing of CMakeLib if system utility libraries are used until linking made easier. 2006-10-19 14:45:41 -04:00
Brad King 7ad07e0811 BUG: Fix link flags on cygwin shared libraries. This requires that the shared library prefix be supported in the link library regex. 2006-10-05 15:08:20 -04:00
Brad King 97e07dc162 BUG: Test -isystem without affecting other tests. Made separate Library/SystemDir for this purpose. 2006-10-05 12:04:30 -04:00
Brad King 16b781360c BUG: Run testSystemDir test only if -isystem flag is available. 2006-10-05 11:30:44 -04:00
Brad King c11cf31c9b ENH: Adding SYSTEM option to INCLUDE_DIRECTORIES command. This addresses bug #3462. 2006-10-05 08:55:59 -04:00
Brad King fcd500289b ENH: Renamed NOT_IN_ALL to EXCLUDE_FROM_ALL. 2006-10-02 12:01:20 -04:00
Brad King 1d9f287af7 ENH: Added NOT_IN_ALL option for ADD_LIBRARY and ADD_EXECUTABLE to avoid building the targets by default. 2006-10-02 11:14:00 -04:00
Brad King 16f8da8b14 ENH: Re-enabling .i rule test on MSYS now that it works. 2006-09-28 10:41:19 -04:00
Brad King f785ae9ac3 ENH: Re-enable preprocessing target test but specifically disable it on broken platforms. 2006-09-27 14:27:07 -04:00
Brad King 1ce1c5762b BUG: Disable new test_preprocess target until it is fixed on OSX universal binaries and mingw. 2006-09-24 10:28:47 -04:00
Brad King 13380569f3 ENH: Adding test for running preprocessor rules. 2006-09-23 16:55:16 -04:00
Ken Martin a6e63f3a61 ENH: added test for elseif 2006-09-22 11:49:56 -04:00
Brad King 07ec25e383 ENH: Added test for linking to a static library that is next to a shared library. See bug#1644 for related changes. 2006-09-15 14:31:24 -04:00
Brad King 24b55bfe11 BUG: Make sure sources with unknown extensions are not compiled by VS. 2006-08-03 09:26:36 -04:00
Brad King 1973efbab2 ENH: Adding test for source files and header files with the same base name in the same target. 2006-08-01 10:49:15 -04:00
Brad King 9a74185695 BUG: Fix REMOVE_DEFINITIONS command to not remove substrings. 2006-05-23 12:51:26 -04:00
Brad King 21089bf93f BUG: INCLUDE_DIRECTORIES should interpret relative path arguments with respect to the current source directory. 2006-05-12 10:54:09 -04:00
Brad King 5f20340c2a BUG: Disabling an EXECUTE_PROCESS test until problems on UNIX systems are fixed. 2006-05-08 10:02:28 -04:00
Bill Hoffman 1c44342cff ENH: remove duplicate file name test because it fails on xcode 2006-04-17 18:10:16 -04:00
Bill Hoffman 0f8603acc2 ENH: allow multiple files with the same name in different sub dirs test 2006-04-17 13:59:23 -04:00
Brad King 57a9e26c15 BUG: Fixed cmOrderLinkDirectories to make sure cmake-built libraries are found properly. Also taking libraries that will be built but may not yet exist into account. The per-configuration subdirectories that are included by generators in the link path are checked for conflicting libraries also. Potentially conflicting libraries that are actually symlinks back to the desired library are no longer considered conflicting, which avoids bogus impossible ordering warnings. 2006-04-04 14:25:17 -04:00
Bill Hoffman b45f4a5d45 ENH: change library order to use a vector 2006-04-04 11:52:00 -04:00
Ken Martin eb773486f3 ENH: added testing for new features 2006-03-22 15:01:22 -05:00
Brad King f430ad0ea2 BUG: Removed compiled-in CMAKE_SHARED_MODULE_PREFIX and CMAKE_SHARED_MODULE_SUFFIX for loaded commands in favor of using the settings from the platform files. 2006-03-16 17:20:09 -05:00