summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Cleanup builtin chrpath supportBrad King2008-03-021-11/+0
| | | | | | | | | | | | - Move computation of extended build-tree rpath to cmComputeLinkInformation - Only enable the extended build-tree rpath if the target will be installed - Generalize the interface of file(CHRPATH) - When changing the rpath on installation only replace the part generated by CMake because the native tools (ex SunCC on Linux) might have added their own part to the rpath
* BUG: Do not place $(CMAKE_COMMAND) in link scripts.Brad King2008-03-011-0/+6
|
* ENH: Allow multiple OS X applications bundles to be created in a single ↵Brad King2008-02-141-0/+83
| | | | build directory. Converted Info.plist files to be generated directly instead of configured with make variables. The MACOSX_BUNDLE_* variables are now properties (and vars for compatibility).
* ENH: Pass dependent library search path to linker on some platforms.Brad King2008-02-011-0/+9
| | | | | | | | | | | | | | | | - Move runtime path ordering out of cmComputeLinkInformation into its own class cmOrderRuntimeDirectories. - Create an instance of cmOrderRuntimeDirectories for runtime path ordering and another instance for dependent library path ordering. - Replace CMAKE_DEPENDENT_SHARED_LIBRARY_MODE with explicit CMAKE_LINK_DEPENDENT_LIBRARY_FILES boolean. - Create CMAKE_LINK_DEPENDENT_LIBRARY_DIRS boolean. - Create variables to specify -rpath-link flags: CMAKE_SHARED_LIBRARY_RPATH_LINK_<LANG>_FLAG CMAKE_EXECUTABLE_RPATH_LINK_<LANG>_FLAG - Enable -rpath-link flag on Linux and QNX. - Documentation and error message updates
* ENH: Enable use of link script whenever incremental archive construction ↵Brad King2008-01-301-1/+2
| | | | rules are available. Enable use of archive construction rules on MSYS.
* ENH: Add cmTarget::GetLinkInformation method to allow several places in the ↵Brad King2008-01-291-174/+46
| | | | generators to share link information while only computing it once per configuration for a target. Use it to simplify the chrpath feature.
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-6/+6
| | | | | | | | | | | | | | | | | | configurations. - Created cmExportFileGenerator hierarchy to implement export file generation - Installed exports use per-config import files loaded by a central one. - Include soname of shared libraries in import information - Renamed PREFIX to NAMESPACE in INSTALL(EXPORT) and EXPORT() commands - Move addition of CMAKE_INSTALL_PREFIX to destinations to install generators - Import files compute the installation prefix relative to their location when loaded - Add mapping of importer configurations to importee configurations - Rename IMPORT targets to IMPORTED targets to distinguish from windows import libraries - Scope IMPORTED targets within directories to isolate them - Place all properties created by import files in the IMPORTED namespace - Document INSTALL(EXPORT) and EXPORT() commands. - Document IMPORTED signature of add_executable and add_library - Enable finding of imported targets in cmComputeLinkDepends
* BUG: Fix generation of Watcom link lines.Brad King2008-01-231-4/+3
| | | | | - Work-around bug in Watcom command line parsing for spaces in paths. - Add 'library' option before libraries specified by file path.
* BUG: Work-around bug in MSVC 6 command line parsing.Brad King2008-01-231-1/+34
|
* ENH: Implement linking with paths to library files instead of -L and -l ↵Brad King2008-01-221-366/+112
| | | | | | | | | | | | | | | | | 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.
* ENH: improve backwards compatibilityKen Martin2008-01-191-5/+1
|
* BUG: fix bugs 5539 (progress going beyond 100% when new files are added) and ↵Ken Martin2008-01-181-11/+8
| | | | 5889 (tests are not found in some cases when using add_subdirectory to .. etc)
* ENH: Enable use of COMPILE_DEFINITIONS property for Fortran sources.Brad King2008-01-181-0/+32
|
* ENH: Converted cmMakefile DefineFlags added by ADD_DEFINITIONS command into ↵Brad King2008-01-181-35/+0
| | | | a COMPILE_DEFINITIONS directory property.
* ENH: use CTestTestfile.txtKen Martin2008-01-171-12/+3
|
* ENH: Enable CMAKE_<lang>_DEFINE_FLAG for COMPILE_DEFINITIONS property ↵Brad King2008-01-171-8/+19
| | | | implementation.
* ENH: Create COMPILE_DEFINITIONS property for targets and source files. ↵Brad King2008-01-141-0/+117
| | | | Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators.
* BUG: Removed stray debugging statement.Brad King2008-01-131-3/+0
|
* ENH: Improved escaping in kwsys/System. Added escape of % for NMake. Added ↵Brad King2008-01-131-0/+5
| | | | escape of ; for the VS IDE.
* ENH: add CMAKE_DEFINE_FLAG_(LANG) that can replace -D flags with what the ↵Bill Hoffman2008-01-111-1/+39
| | | | compiler actually uses
* BUG: Restore old interface of "make foo.o" and "make foo.i" even though ↵Brad King2008-01-071-3/+22
| | | | object file names now include source extensions. For Java we also need to always remove the source extension (.java -> .class). This fixes the re-opening of bug #6169.
* BUG: Do not remove the source file extension when computing an object file ↵Brad King2007-12-291-4/+7
| | | | name. This addresses bug #6169. If CMAKE_BACKWARDS_COMPATIBILITY is 2.4 or lower maintain the old behavior so that existing build trees and old project releases are not affected.
* ENH: Added method cmLocalGenerator::GetBackwardsCompatibility to reduce ↵Brad King2007-12-291-0/+41
| | | | parsing of CMAKE_BACKWARDS_COMPATIBILITY variable. Add cmLocalGenerator::NeedBackwardsCompatibility to simplify checks for compatibility requirements.
* COMP: Fixed data loss warning.Brad King2007-12-201-2/+2
|
* STYLE: fix warnings: comparison signed/unsigned, unused variableAlexander Neundorf2007-12-191-6/+4
| | | | Alex
* ENH: add support for chrpath, so the RPATH in ELF files can be changed whenAlexander Neundorf2007-12-181-2/+27
| | | | | | | | | | | | | | | | | | installing without having to link the target again -> can save a lot of time chrpath is handled very similar to install_name_tool on the mac. If the RPATH in the build tree file is to short, it is padded using the separator character. This is currently disabled by default, it can be enabled using the option CMAKE_USE_CHRPATH. There are additional checks whether it is safe to enable it. I will rework them and use FILE(READ) instead to detect whether the binaries are actually ELF files. chrpath is available here http://www.tux.org/pub/X-Windows/ftp.hungry.com/chrpath/ or kde svn (since a few days): http://websvn.kde.org/trunk/kdesupport/chrpath/ Alex
* STYLE: restructure OutputLinkLibraries() a bit, so that new there is aAlexander Neundorf2007-11-261-19/+48
| | | | | | | | function which returns the RPATH, so e.g. the install rpath can be queried when the command for the build rpath is created. This is a first step for supporting chrpath. Alex
* ENH: fix spelling errorBill Hoffman2007-10-221-1/+1
|
* ENH: do not always add -arch flagsBill Hoffman2007-10-201-6/+23
|
* BUG: Fix #5868 - add COMPONENT handling to the SCRIPT and CODE signatures of ↵David Cole2007-10-151-2/+2
| | | | the INSTALL command.
* BUG: fix for bug 0003618 , allow one arch in OSX_ARCHS to workBill Hoffman2007-10-121-10/+6
|
* ENH: add flag so a terminating slash for the link path can be specified ↵Alexander Neundorf2007-08-281-0/+3
| | | | | | (needed by the Digital Mars D compiler) Alex
* STYLE: more space in the cmake_install.cmake script (easier to read)Alexander Neundorf2007-08-211-2/+2
| | | | Alex
* ENH: Moved GetTargetDirectory method up to cmLocalGenerator. This provides ↵Brad King2007-08-011-0/+12
| | | | a common interface to something that was implemented in most local generators anyway.
* BUG: Only pay attention to the FRAMEWORK target property for SHARED library ↵David Cole2007-08-011-1/+2
| | | | targets
* PERF: micro optimization: the (*pos1) && (*pos1=='/') were redundant, andAlexander Neundorf2007-07-231-5/+3
| | | | | | | hasDoubleSlash is false in most cases, so in most cases 3 comparisons were done, now only one Alex
* STYLE: fix line lengths and add "remove -f" to the docsAlexander Neundorf2007-07-171-1/+2
| | | | Alex
* ENH: produce a lot more output when running with --debug-outputAlexander Neundorf2007-07-171-0/+5
| | | | | | -try to fix build error on HPUX Alex
* BUG: handle dependencies to imported targets better: don't create aAlexander Neundorf2007-06-211-1/+1
| | | | | | | | | dependency if the target name was not listed in DEPENDS, if it was listed in DEPENDS, create a dependency to the file Seems to work, but have to check with Brad. Alex
* ENH: Merging changes from branch CMake-SourceFile2-b between tagsBrad King2007-06-181-40/+26
| | | | | | | | | | | | | | | | | | | | | | | | CMake-SourceFile2-bp and CMake-SourceFile2-b-mp1 to trunk. This commit is surrounded by tags CMake-SourceFile2-b-mp1-pre and CMake-SourceFile2-b-mp1-post on the trunk. The changes re-implement cmSourceFile and the use of it to allow instances to be created much earlier. The use of cmSourceFileLocation allows locating a source file referenced by a user to be much simpler and more robust. The two SetName methods are no longer needed so some duplicate code has been removed. The strange "SourceName" stuff is gone. Code that created cmSourceFile instances on the stack and then sent them to cmMakefile::AddSource has been simplified and converted to getting cmSourceFile instances from cmMakefile. The CPluginAPI has preserved the old API through a compatibility interface. Source lists are gone. Targets now get real instances of cmSourceFile right away instead of storing a list of strings until the final pass. TraceVSDependencies has been re-written to avoid the use of SourceName. It is now called TraceDependencies since it is not just for VS. It is now implemented with a helper object which makes the code simpler.
* ENH: determine typesize by compiling a file and reading strings from the ↵Alexander Neundorf2007-06-041-1/+2
| | | | | | | | | compiled output. Tested with various gcc, XCode, MSVC7, sdcc For OSX when doing TRY_COMPILE() CMAKE_OSX_ARCHITECTURES is used, if there are different results an error is generated. CMAKE_OSX_ARCHITECTURES can be overwritten for the TRY_COMPILES with CMAKE_TRY_COMPILE_OSX_ARCHITECTURES. Alex
* ENH: Made cmTarget::GetSourceFiles method return reference to const so ↵Brad King2007-05-281-3/+3
| | | | addition of cmSourceFile pointers must be done with an access method in cmTarget.
* BUG: don't use non-imported target when cross compiling as commands in ↵Alexander Neundorf2007-05-241-2/+6
| | | | | | | | custom commands STYLE: remove now invalid comments, use this-> Alex
* ENH: Removed unused code now that INSTALL_FILES and INSTALL_PROGRAMS are not ↵Brad King2007-05-231-1/+0
| | | | targets.
* ENH: Removed unused code now that INSTALL_FILES and INSTALL_PROGRAMS are not ↵Brad King2007-05-231-28/+0
| | | | targets.
* ENH: Fixed INSTALL_FILES and INSTALL_PROGRAMS commands to not create ↵Brad King2007-05-231-4/+1
| | | | targets. No targets of type cmTarget::INSTALL_FILES or cmTarget::INSTALL_PROGRAMS are created, so we do not need to check for them everywhere anymore.
* ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates anAlexander Neundorf2007-05-221-6/+5
| | | | | | | | | | "imported" executable target. This can then be used e.g. with ADD_CUSTOM_COMMAND() to generate stuff. It adds a second container for "imported" targets, and FindTarget() now takes an additional argument bool useImportedTargets to specify whether you also want to search in the imported targets or only in the "normal" targets. Alex
* ENH: Use CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES from platform files to ↵Brad King2007-05-181-3/+11
| | | | block link directories.
* COMP: fix link rules with nmake, the linker command has to be converted to ↵Alexander Neundorf2007-05-181-0/+1
| | | | | | shortpath form for nmake Alex
* ENH: Added testing for custom command line arguments containing all special ↵Brad King2007-05-171-0/+5
| | | | characters on the US keyboard. Fixed curly brace arguments on borland and % arguments in mingw32-make.