summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* ENH: add group support and fix borland errorBill Hoffman2009-07-116-48/+162
|
* STYLE: Nightly Date StampKWSys Robot2009-07-111-1/+1
|
* BUG: Fix Xcode linker languageBrad King2009-07-103-3/+62
| | | | | | | | | | Xcode does not seem to support direct requests for using the linker for a particular language. It always infers the linker using the languages in the source files. When no user source files compile with target's linker language we add one to help Xcode pick the linker. A typical use case is when a C executable links to a C++ archive. The executable has no C++ source files but we need to use the C++ linker.
* ENH: Update LINKER_LANGUAGE and HAS_CXX docsBrad King2009-07-101-9/+15
| | | | | This updates the documentation of these properties to account for the new automatic linker language computation.
* ENH: Consider link dependencies for link languageBrad King2009-07-102-19/+135
| | | | | | | | | | | This teaches cmTarget to account for the languages compiled into link dependencies when determining the linker language for its target. We list the languages compiled into a static archive in its link interface. Any target linking to it knows that the runtime libraries for the static archive's languages must be available at link time. For now this affects only the linker language selection, but later it will allow CMake to automatically list the language runtime libraries.
* COMP: Fix cmCTestHG for old HP compilerBrad King2009-07-101-2/+2
| | | | The compiler does not have a fully compliant std::string.
* ENH: change so rules show up in GUI, must be windows pathBill Hoffman2009-07-101-3/+6
|
* ENH: Teach CTest to handle Mercurial repositoriesBrad King2009-07-106-1/+421
| | | | | | | | | | | This creates cmCTestHG to drive CTest Update handling on hg-based work trees. Currently we always update to the head of the remote tracking branch (hg pull), so the nightly start time is ignored for Nightly builds. A later change will address this. See issue #7879. Patch from Emmanuel Christophe. I modified the patch slightly for code style, to finish up some parsing details, and to fix the test.
* ENH: New OutputParser::Process() signatureBrad King2009-07-101-0/+2
| | | | | | This overload accepts a null-terminated string instead of requiring a length. It is useful to pass some fake process output before and after the real process output.
* ENH: only 5 failing tests for VS 10Bill Hoffman2009-07-1015-109/+333
|
* STYLE: Nightly Date StampBrad King2009-07-101-1/+1
|
* COMP: More KWSys SharedForward pointer const-nessBrad King2009-07-091-1/+1
| | | | | | This adds another cast to avoid pointer conversion warnings. Unfortunately C does not recognize implicit conversions that add cv-qualifiers as well as C++ does.
* STYLE: Nightly Date StampBrad King2009-07-091-1/+1
|
* COMP: Eliminate "conversion may change sign of result" warnings by using ↵David Cole2009-07-081-1/+1
| | | | size_t where appropriate. (Missed one warning with last commit: add a cast to md5_word_t.)
* COMP: Eliminate "conversion may change sign of result" warnings by using ↵David Cole2009-07-081-6/+8
| | | | size_t where appropriate.
* COMP: Fix KWSys SharedForward sign conversionBrad King2009-07-081-3/+4
| | | | | This uses size_t where necessary to avoid size_t/int conversion warnings.
* COMP: Fix KWSys SharedForward pointer const-nessBrad King2009-07-081-9/+10
| | | | | This adds const-ness and casts where necessary to avoid pointer conversion warnings.
* BUG: Use link language for target name computationBrad King2009-07-082-26/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | The commit "Do not compute link language for LOCATION" was wrong. The variables CMAKE_STATIC_LIBRARY_PREFIX_Java CMAKE_STATIC_LIBRARY_SUFFIX_Java are used for building Java .jar files. This commit re-enables the feature and documents the variables: CMAKE_EXECUTABLE_SUFFIX_<LANG> CMAKE_IMPORT_LIBRARY_PREFIX_<LANG> CMAKE_IMPORT_LIBRARY_SUFFIX_<LANG> CMAKE_SHARED_LIBRARY_PREFIX_<LANG> CMAKE_SHARED_LIBRARY_SUFFIX_<LANG> CMAKE_SHARED_MODULE_PREFIX_<LANG> CMAKE_SHARED_MODULE_SUFFIX_<LANG> CMAKE_STATIC_LIBRARY_PREFIX_<LANG> CMAKE_STATIC_LIBRARY_SUFFIX_<LANG> Instead of making separate, repetitive entries for the _<LANG> variable documentation, we just mention the per-language name in the text of the platform-wide variable documentation. Internally we keep undocumented definitions of these properties to satisfy CMAKE_STRICT mode.
* ENH: Pass config to cmTarget::GetLinkerLanguageBrad King2009-07-088-18/+27
| | | | | | This passes the build configuration to most GetLinkerLanguage calls. In the future the linker language will account for targets linked in each configuration.
* ENH: Pass config to cmTarget RPATH install methodsBrad King2009-07-088-16/+18
| | | | | This passes the build configuration to cmTarget methods IsChrpathUsed and NeedRelinkBeforeInstall. Later these methods will use the value.
* ENH: Use fixed header file type mapping for XcodeBrad King2009-07-081-10/+6
| | | | | | | This simplifies computation of the lastKnownFileType attribute for header files in Xcode projects. We now use a fixed mapping from header file extension to attribute value. The value is just a hint to the Xcode editor, so computing the target linker language is overkill.
* ENH: Do not compute link language for LOCATIONBrad King2009-07-082-21/+0
| | | | | | | | | | | | | The LOCATION property requires the full file name of a target to be computed. Previously we computed the linker language for a target to look up variables such as CMAKE_SHARED_LIBRARY_SUFFIX_<LANG>. This led to locating all the source files immediately instead of delaying the search to generation time. In the future even more computation will be needed to get the linker language, so it is better to avoid it. The _<LANG> versions of these variables are undocumented, not set in any platform file we provide, and do not produce hits in google. This change just removes the unused feature outright.
* ENH: Introduce cmTarget::LinkImplementation APIBrad King2009-07-083-81/+119
| | | | | | | | The new method centralizes loops that process raw OriginalLinkLibraries to extract the link implementation (libraries linked into the target) for each configuration. Results are computed on demand and then cached. This simplifies link interface computation because the default case trivially copies the link implementation.
* COMP: Pimplize cmTarget ImportInfo and OutputInfoBrad King2009-07-082-25/+35
| | | | | | These member structures are accessed only in the cmTarget implementation so they do not need to be defined in the header. This cleanup also aids Visual Studio 6 in compiling them.
* STYLE: Nightly Date StampBrad King2009-07-081-1/+1
|
* ENH: get the build type specific locationAlexander Neundorf2009-07-071-1/+2
| | | | Alex
* BUG: Do not recompute link interfacesBrad King2009-07-071-3/+3
| | | | | | The config-to-interface map in cmTarget should use case-insensitive configuration names. The change avoids repeating work if the given configuration has a different case than one already computed.
* BUG: Fix CMP0003 wrong-config link dir supportBrad King2009-07-071-1/+1
| | | | | | | This fixes a dumb logic error introduced by the centralization of link interface computation. It prevented link directories from alternate configurations from getting listed by the OLD behavior of CMP0003 for targets linked as transitive dependencies.
* STYLE: Fix comment on cmTarget::LinkInterfaceBrad King2009-07-071-3/+2
| | | | The comment had a typo and was longer than necessary.
* ENH: Simplify cmTarget link interface storageBrad King2009-07-074-86/+51
| | | | | This makes the LinkInterface struct a member of cmTarget, pimplizes the config-to-interface map, and stores interface instances by value.
* ENH: Simpler cmTarget::GetLinkerLanguage signatureBrad King2009-07-0710-48/+27
| | | | | | | This method previously required the global generator to be passed, but that was left from before cmTarget had its Makefile member. Now the global generator can be retrieved automatically, so we can drop the method argument.
* STYLE: Nightly Date StampBrad King2009-07-071-1/+1
|
* ENH: Centralize default link interface computationBrad King2009-07-066-100/+84
| | | | | | When LINK_INTERFACE_LIBRARIES is not set we use the link implementation to implicitly define the link interface. These changes centralize the decision so that all linkable targets internally have a link interface.
* ENH: Move CMP0004 check into cmTargetBrad King2009-07-064-62/+64
| | | | | | This moves code implementing policy CMP0004 into cmTarget::CheckCMP0004. The implementation is slightly simpler and can be re-used outside of cmComputeLinkDepends.
* ENH: Exception safe link interface computationBrad King2009-07-062-8/+14
| | | | | | This fixes cmTarget::GetLinkInterface to compute and return the link interface in an exception-safe manner. We manage the link interface returned by cmTarget::ComputeLinkInterface using auto_ptr.
* STYLE: Nightly Date StampBrad King2009-07-061-1/+1
|
* STYLE: Nightly Date StampBrad King2009-07-051-1/+1
|
* STYLE: Nightly Date StampBrad King2009-07-041-1/+1
|
* ENH: Pass config to cmTarget::GetDirectory()Brad King2009-07-033-8/+8
| | | | | | | This teaches the makefile generators to always pass the configuration name to the cmTarget::GetDirectory method. Later this will allow per-configuration target output directories, and it cleans up use of the current API.
* ENH: Refactor target output dir computationBrad King2009-07-032-69/+65
| | | | | | This creates cmTarget::GetOutputInfo to compute, cache, and lookup target output directory information on a per-configuration basis. It avoids re-computing the information every time it is needed.
* BUG: Avoid cmTarget::GetDirectory for utilitiesBrad King2009-07-032-8/+10
| | | | | | | Since utility targets have no main output files like executables or libraries, they do not define an output directory. This removes a call to cmTarget::GetDirectory from cmLocalVisualStudio{6,7}Generator for such targets.
* STYLE: Replace large if() with named booleanBrad King2009-07-032-6/+6
| | | | | In cmLocalVisualStudio{6,7}Generator this replaces a large if() test with a re-usable result stored in a boolean variable named accordingly.
* ENH: Create cmMakefileTargetGenerator::ConfigNameBrad King2009-07-034-28/+19
| | | | | | This member stores the build configuration for which Makefiles are being generated. It saves repeated lookup of the equivalent member from cmLocalUnixMakefileGenerator3, making code shorter and more readable.
* ENH: Cleanup per-config target install generationBrad King2009-07-032-19/+13
| | | | | This cleans up cmInstallTargetGenerator's code that computes the build tree location of a target under each configuration.
* STYLE: Nightly Date StampBrad King2009-07-031-1/+1
|
* ENH: Reports "Passed" for WILL_FAIL testsBrad King2009-07-021-67/+48
| | | | | | | | | | Previously tests marked with WILL_FAIL have been reported by CTest as ...............***Failed - supposed to fail when they correctly failed. Now we just report ".....Passed" because there is no reason to draw attention to something that works as expected.
* BUG: Do not generate "global" Xcode configBrad King2009-07-022-18/+19
| | | | | | | | Xcode 2.0 and below supported only one configuration, but 2.1 and above support multiple configurations. In projects for the latter version we have been generating a "global" set of buildSettings for each target in addition to the per-configuration settings. These global settings are not used by Xcode 2.1 and above, so we should not generate them.
* ENH: Simplify Xcode CreateBuildSettings methodBrad King2009-07-022-55/+59
| | | | | | | The cmGlobalXCodeGenerator::CreateBuildSettings had the three arguments productName, productType, and fileType that returned information used by only one of the call sites. This change refactors that information into separate methods named accordingly.
* ENH: Use logical target names in Xcode projectsBrad King2009-07-021-21/+5
| | | | | | | | Previously we named Xcode targets using the output file name from one of the configurations. This is not very friendly, especially because it changes with CMAKE_BUILD_TYPE. Instead we should use the original logical target names for the Xcode target names. This is also consistent with the way the other IDE generators work.
* STYLE: Nightly Date StampBrad King2009-07-021-1/+1
|