summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Classify known header file extensions as headersBrad King2012-03-281-0/+5
| | | | | | | | | | Commit 328c0f65 (Simplify cmVisualStudio10TargetGenerator source classification, 2012-03-19) introduced the first use of source classification from cmGeneratorTarget (which originated as Makefile generator logic) in a Visual Studio generator for handling of header files. Fix classification of header files to match known header extensions instead of only the HEADER_FILE_ONLY property. Make it consistent with the "Header Files" source group.
* Always compile sources with known languageBrad King2012-03-281-4/+4
| | | | | | | | | | | | | Refactoring by commit 11d9b211 (Add cmGeneratorTarget to represent a target during generation, 2012-03-07) and commit 45c2f932 (Simplify cmMakefileTargetGenerator using cmGeneratorTarget, 2012-03-07) preserved behavior introduced by commit 7740ccd1 (some cleanup of the makefile generator, 2006-02-14) that favored the IgnoreFile extension test over the availability of a known compilation language associated with a source file. If a source is not marked as HEADER_FILE_ONLY and has a known language extension or an explicit LANGUAGE property it should be treated as that language. The LANGUAGE source file property documentation says so.
* Simplify cmVisualStudio10TargetGenerator source classificationBrad King2012-03-191-2/+9
| | | | | | Combine WriteCLSources and WriteObjSources into a single method. Use the cmGeneratorTarget source classification to simplify tool selection for each source file. Extend the classification to handle .idl files.
* Merge branch 'object-library' into xcode-object-libraryBrad King2012-03-191-0/+74
|\
| * Add $<TARGET_OBJECTS:...> expression to use an object libraryBrad King2012-03-161-0/+74
| | | | | | | | | | | | For now do not allow an OBJECT library to reference other object libraries. Teach cmTarget::ComputeLinkImplementation to include the languages of object libraries used by a target.
* | Allow txt files as ExtraSources in object library targetsDavid Cole2012-03-161-1/+4
|/ | | | | | Necessary for the Xcode generator, in which the CMakeLists.txt files are added as sources merely for convenient access, without any associated custom command.
* Add OBJECT_LIBRARY target typeBrad King2012-03-131-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add cmGeneratorTarget to represent a target during generationBrad King2012-03-091-0/+74
Some per-target information and logic is common to all generators. Some of that information is currently stored in cmTarget but that should be reserved for the configure step. Create a class to hold per-target information for generators. On construction classify sources from the target and store them in separate members. This classification is already implemented separately in each generator.