summaryrefslogtreecommitdiffstats
path: root/Source/cmTargetLinkLibrariesCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Add OBJECT_LIBRARY target typeBrad King2012-03-131-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | This library type can compile sources to object files but does not link or archive them. It will be useful to reference from executable and normal library targets for direct inclusion of object files in them. Diagnose and reject the following as errors: * An OBJECT library may not be referenced in target_link_libraries. * An OBJECT library may contain only compiling sources and supporting headers and custom commands. Other source types that are not normally ignored are not allowed. * An OBJECT library may not have PRE_BUILD, PRE_LINK, or POST_BUILD commands. * An OBJECT library may not be installed, exported, or imported. Some of these cases may be supported in the future but are not for now. Teach the VS generator that OBJECT_LIBRARY targets are "linkable" just like STATIC_LIBRARY targets for the LinkLibraryDependencies behavior.
* target_link_libraries: Simplify argument processing state testsBrad King2011-11-221-4/+4
| | | | | | Remove extra parens in test for not handling LINK_INTERFACE_LIBRARIES. Remove redundant test for equality with ProcessingPrivateInterface subsumed by test for inequality with ProcessingPublicInterface.
* target_link_libraries: Add LINK_(PUBLIC|PRIVATE) optionsStephen Kelly2011-11-221-10/+42
| | | | | Makes it possible to specify the link dependencies and link interfaces in one command without repetition.
* New CMP0016 for deciding whether an unknown target in TLL() is an error.Alex Neundorf2010-08-281-7/+38
| | | | | | | | When set to OLD, target_link_libraries() silently accepts if it is called with only one argument and this one argument is not a target. When set to NEW, this is an error. By default it is a warning now. Alex
* Just warn in case of a bad target as only argument for t_l_l()Alex Neundorf2010-08-261-2/+12
| | | | | | | | | As discussed on cmake-devel, if target_link_libraries() is called with only one argument, and this one argument is not a valid target, just print a warning but don't fail, since otherwise probably some existing code somewhere might stop building. Alex
* Make target_link_libraries() complain if bad target name is usedAlex Neundorf2010-08-261-6/+6
| | | | | | | | | | | | | target_link_libraries() did not complain if there was only one argument, and this one (first) argument wasn't a valid target name, e.g. add_executable(hello main.cpp) target_link_libraries(-static-intel) Here the target "hello" was forgotten in the tll() call, but cmake didn't complain. With this commit it does. Alex
* Remove trailing whitespaceAlex Neundorf2010-08-261-3/+3
| | | | Alex
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* ENH: Allow a custom list of debug configurationsBrad King2008-09-041-15/+26
| | | | | | Create a DEBUG_CONFIGURATIONS global property as a way for projects to specify which configuration names are considered to be 'debug' configurations.
* ENH: Make link interface mode more distinctBrad King2008-08-181-9/+16
| | | | | | | | | 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.
* ENH: Simple specification of link interfacesBrad King2008-08-111-4/+73
| | | | | | | | Create an INTERFACE option to the target_link_libraries command to help set the LINK_INTERFACE_LIBRARIES and LINK_INTERFACE_LIBRARIES_DEBUG properties. This will help users specify link interfaces using variables from Find*.cmake modules that include the 'debug' and 'optimized' keywords.
* ENH: Tolerate repeated link library typesBrad King2008-08-071-26/+60
| | | | | | | | The "debug", "optimized", and "general" link library type specifier arguments to the target_link_library commands are sometimes repeated in user code due to variable expansion and other complications. Instead of silently accepting the duplicates and trying to link to a bogus library like "optimized.lib", warn and ignore the earlier specifiers.
* ENH: add return and break support to cmake, also change basic command ↵Ken Martin2008-01-231-2/+2
| | | | invocation signature to be able to return extra informaiton via the cmExecutionStatus class
* ENH: updated handling of debug and optimized target link librariesKen Martin2006-11-291-2/+35
|
* STYLE: fix line lengthKen Martin2006-05-121-1/+2
|
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-5/+3
|
* STYLE: fix line lengthsBill Hoffman2006-03-101-2/+4
|
* BUG: Sweeping changes to cleanup computation of target names. This shouldBrad King2006-01-131-45/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* BUG: Fixed crash when optimized/debug argument is not followed by a value.Brad King2004-07-291-0/+10
|
* BUG: Fix Bug #445 - Same library in multiple projects can cause problemsAndy Cedilnik2003-12-181-2/+2
|
* ENH: Add CMAKE_IGNORE_DEPENDENCIES_ORDERING to prevent warnings about ↵Andy Cedilnik2003-10-021-11/+14
| | | | dependency problems
* ENH: Report an error when ADD_LIBRARY and TARGET_LINK_LIBRARIES are in the ↵Andy Cedilnik2003-08-071-0/+28
| | | | wrong order and fix CMakeLists files to actually work
* ENH: add checking for NOTFOUNDBill Hoffman2003-01-311-6/+0
|
* Add some error checking for missing include directories and link librariesAndy Cedilnik2003-01-301-0/+6
|
* ENH: Moved ExpandListVariables out of individual commands. Argument ↵Brad King2002-12-111-5/+3
| | | | evaluation rules are now very consistent. Double quotes can always be used to create exactly one argument, regardless of contents inside.
* ENH: Added reference to Copyright.txt. Removed old reference to ITK ↵Brad King2002-10-231-3/+3
| | | | copyright. Changed program name to CMake instead of Insight in source file header. Also removed tabs.
* does not need a second argumentKen Martin2002-07-191-1/+7
|
* removed all source lists from the system and made them vectors. Also ↵Ken Martin2002-06-271-1/+2
| | | | appended _CMAKE_PATH to the end of the automatic cache entries for executables and libraries. Odds of all these changes working are slim but cmake builds and passes all its tests. VTK40 starts building
* ENH: change LINK_LIBRARY to add to targetsBill Hoffman2002-05-021-2/+2
|
* ENH: Make it unnecessary to ever specify LINK_DIRECTORIES for any libraryAmitha Perera2002-04-281-0/+4
| | | | generated in this project, even when LIBRARY_OUTPUT_PATH is set.
* BUG: add link directories for target link libraries and add a test for itBill Hoffman2002-04-191-1/+12
|
* ENH: add suport for semi-colon separated list variablesBill Hoffman2002-03-061-2/+4
|
* ENH:Updated copyrightWill Schroeder2002-01-211-29/+5
|
* ENH: change InitialPass to take a const reference to the argument string, to ↵Bill Hoffman2001-09-201-2/+2
| | | | avoid changes to the file cache
* ENH: rename Invoke to InitialPassBill Hoffman2001-06-061-1/+1
|
* BUG: added arg0 to link librariesKen Martin2001-05-081-2/+3
|
* added TARGET_LINK_LIBRARY command and support for debug and release ↵Ken Martin2001-04-301-0/+76
libraries to link against