summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Moved global inter-target dependency analysis and cycle-prevention code ↵Brad King2007-12-231-1/+1
| | | | up from cmGlobalUnixMakefileGenerator3 to cmGlobalGenerator. Simplified cmGlobalUnixMakefileGenerator3 to use it. Later other generators may be modified to use it also.
* ENH: add support for chrpath, so the RPATH in ELF files can be changed whenAlexander Neundorf2007-12-181-0/+3
| | | | | | | | | | | | | | | | | | 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
* ENH: Finish up the Framework creation code restructuring. Frameworks build ↵David Cole2007-10-101-0/+21
| | | | and install now. More work needed on the packaging step. See Tests/Framework for example use.
* ENH: Add InstallNameFixupPath to support installing built frameworks on the ↵David Cole2007-08-241-1/+14
| | | | Mac. Change Application to Applications in the BundleTest. Also correct small typo (tcl->Tcl) noted in bug 4572.
* ENH: Added cmTarget::GetLanguages method to centralize computation of the ↵Brad King2007-08-021-1/+8
| | | | list of languages compiled in a target.
* STYLE: Fixed line-too-long, fixed indentation, removed trailing whitespace, ↵Brad King2007-07-021-38/+42
| | | | added function separator comment lines.
* ENH: Merging changes from branch CMake-SourceFile2-b between tagsBrad King2007-06-181-26/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* STYLE: remove duplicate non-const accessors GetLocalGenerator(int) andAlexander Neundorf2007-06-151-2/+2
| | | | | | | | | | | | GetLocaGenerators(cmLocalGenerators) from cmGlobalGenerator(). Now there is one const accessor which is even faster since it returns a reference (instead of copying a vector) -more const to ensure that this the returned local generators don't actually get modified -removed duplicated code in GetCTestCommand() and GetCPackCommand() -added some const accessors Alex
* ENH: Made cmTarget::GetSourceFiles method return reference to const so ↵Brad King2007-05-281-1/+3
| | | | addition of cmSourceFile pointers must be done with an access method in cmTarget.
* ENH: Made cmTarget::GetSourceLists return a reference to const so that all ↵Brad King2007-05-281-1/+6
| | | | additions of sources must go through access methods in cmTarget.
* BUG: Target names in the COMMAND part of a custom command should not create ↵Brad King2007-05-231-2/+3
| | | | a file-level dependency that forces the command to rerun when the executable target rebuilds, but the target-level dependency should still be created. Target names in a DEPENDS should do both a target-level and file-level dependency. Updated the BuildDepends test to check that this works.
* ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates anAlexander Neundorf2007-05-221-1/+20
| | | | | | | | | | "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
* STYLE: functions use upper case for the first letterAlexander Neundorf2007-05-091-1/+1
| | | | Alex
* ENH: now target names can be used in add_custom_command() andAlexander Neundorf2007-05-091-2/+9
| | | | | | | | | | add_custom_target() as COMMAND, and cmake will recognize them and replace them with the actual output path of these executables. Also the dependency will be added automatically. Test included. ENH: moved TraceVSDependencies() to the end of GlobalGenerator::Configure(), so it is done now in one central place Alex
* ENH: Created method cmTarget::GetExportMacro to centralize computation of ↵Brad King2007-03-281-0/+5
| | | | the export symbol name. This removes duplicate code from all the generators. Also enabled the export definition for executable targets with the ENABLE_EXPORTS property set.
* ENH: Added support for import libraries created by executable and module ↵Brad King2007-03-191-0/+4
| | | | targets. The module import libraries should never be used but some windows compilers always create them for .dll files since there is no distinction from shared libraries on that platform. The executable import libraries may be used to create modules that when loaded bind to symbols from the executables. This is an enhancement related to bug#4210 though not requested by it explicitly.
* ENH: some code cleanupKen Martin2007-03-121-8/+0
|
* ENH: Added target properties ARCHIVE_OUTPUT_DIRECTORY, ↵Brad King2007-03-091-0/+1
| | | | LIBRARY_OUTPUT_DIRECTORY, and RUNTIME_OUTPUT_DIRECTORY. If set these override EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH for a specific target. They can be used to distribute target files in the build tree with the same granularity that the INSTALL command provides for the install tree. This addresses bug#2240 and bug#4210.
* ENH: Added implib option to cmTarget::GetDirectory to support a separate ↵Brad King2007-03-091-2/+2
| | | | directory containing the import library. This is an incremental step for bug#4210.
* ENH: Combined cmTarget::GetDirectory and cmTarget::GetOutputDir since they ↵Brad King2007-03-081-3/+3
| | | | are nearly the same. This is another step for bug#2240.
* ENH: Replaced LibraryOutputPath and ExecutableOutputPath variables in ↵Brad King2007-03-081-0/+4
| | | | Makefile and VS generators to instead ask each target for its output path. This significantly reduces total code size and centralizes previously duplicate code. It is also a step towards bug#2240.
* ENH: Make EXCLUDE_FROM_ALL a target and directory properties. Also, make ↵Andy Cedilnik2007-02-231-3/+3
| | | | IsInAll use EXCLUDE_FROM_ALL. Also, enable the test that tests this
* BUG: fix accidental checkinKen Martin2007-02-191-4/+0
|
* ENH: turn on spaces in path testKen Martin2007-02-191-0/+4
|
* ENH: check in initial conv library stuffBill Hoffman2007-02-161-0/+3
|
* ENH: Added cmTarget::GetPDBName method to simplify computation of .pdb file ↵Brad King2007-02-011-0/+3
| | | | name for a target.
* BUG: The .pdb file generated for a library or executable should match the ↵Brad King2007-02-011-3/+6
| | | | real file name used for the target. This addresses bug#3277.
* ENH: make properties a bit more formal with documentation and chainingKen Martin2006-12-071-1/+11
|
* ENH: updated handling of debug and optimized target link librariesKen Martin2006-11-291-20/+17
|
* ENH: Adding image version number (major.minor) property to windows binaries. ↵Brad King2006-10-161-0/+5
| | | | Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219.
* ENH: fix for vtk 4.4 and other projects that may try to link to a moduleBill Hoffman2006-05-191-1/+1
|
* STYLE: fix line lengthKen Martin2006-05-121-5/+9
|
* ENH: Added global TargetManifest computation between Configure and Generate ↵Brad King2006-04-041-0/+3
| | | | steps. This allows generators to know what other targets will exist on disk when the build completes.
* ENH: Add proper support for installing bundlesAndy Cedilnik2006-03-281-1/+1
|
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-47/+49
|
* ENH: fix line length style stuffBill Hoffman2006-03-101-3/+6
|
* ENH: Replaced UpdateLocation method with call to GetLocation. Added comment ↵Brad King2006-03-031-3/+0
| | | | about problems with the LOCATION attribute.
* ENH: Add support for exporting graphviz of the project dependenciesAndy Cedilnik2006-03-031-0/+2
|
* COMP: Even more global target fixesAndy Cedilnik2006-02-241-2/+2
|
* ENH: Created target property INSTALL_NAME_DIR initalized by ↵Brad King2006-02-241-1/+12
| | | | CMAKE_INSTALL_NAME_DIR specifying the directory portion of the OSX install_name field in shared libraries. This is the OSX equivalent of RPATH.
* ENH: Add a notion of a global targetAndy Cedilnik2006-02-231-1/+1
|
* BUG: Fixed relink with new install framework.Brad King2006-02-191-1/+8
|
* ENH: Generate import libraries for DLLs on Cygwin and MinGW.Brad King2006-02-181-12/+12
|
* ENH: Implemented RPATH specification support. It is documented by the ↵Brad King2006-02-161-2/+14
| | | | command SET_TARGET_PROPERTIES.
* BUG: Sweeping changes to cleanup computation of target names. This shouldBrad King2006-01-131-20/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | fix many bugs related to target names being computed inconsistently. - Centralized computation of a target's file name to a method in cmTarget. Now that global knowledge is always available the *_CMAKE_PATH cache variables are no longer needed. - Centralized computation of link library command lines and link directory search order. - Moved computation of link directories needed to link CMake targets to be after evaluation of linking dependencies. This also removed alot of duplicate code in which each version had its own bugs. This commit is surrounded by the tags CMake-TargetNameCentralization1-pre and CMake-TargetNameCentralization1-post so make the large set of changes easy to identify.
* ENH: add better support for framework linkingBill Hoffman2005-12-261-0/+6
|
* ENH: Removed cmMakefile arguments from cmTarget methods because cmTarget has ↵Brad King2005-12-141-18/+13
| | | | the ivar m_Makefile now. Re-implemented cmLocalUnixMakefileGenerator3::AppendAnyDepend to use the new global knowledge and avoid the need to look at the cache for information about other targets. This should fix problems with custom commands and executables with the OUTPUT_NAME set. Also the <target>_LIBRARY_TYPE cache variable is no longer needed at all and has been removed.
* ENH: some fixes for better backwards compatibilityKen Martin2005-10-101-1/+2
|
* ENH: Added versioned executable support. This partially addresses bug#2143. ↵Brad King2005-08-171-0/+17
| | | | Also made OUTPUT_NAME work when installing executables.
* ENH: make LOCATION an computed property of the target and get rid of a bunch ↵Ken Martin2005-06-221-37/+38
| | | | of const junk