summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Add $<TARGET_OBJECTS:...> expression to use an object libraryBrad King2012-03-169-7/+278
| | | | | | 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.
* Build object library targets in VSBrad King2012-03-133-21/+76
| | | | | | | | Treat OBJECT libraries as STATIC libraries. The VS project file format provides no way to avoid running the librarian so hide the resulting .lib away next to the object files as it should never be referenced. The object files will be left behind for reference by other targets later.
* Build object library targets in MakefilesBrad King2012-03-136-11/+55
| | | | | | Treat OBJECT libraries as STATIC libraries but leave out the archive step. The object files will be left behind for reference by other targets later.
* Add OBJECT_LIBRARY target typeBrad King2012-03-1312-4/+104
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Pre-compute and store target object directory in cmGeneratorTargetBrad King2012-03-123-0/+22
| | | | | | | Add cmGeneratorTarget::ObjectDirectory member to hold the value. In ComputeTargetObjects set the value to the full path to the target object directory including any necessary placeholder for the configuration name.
* Rename/constify build-time config placeholder lookupBrad King2012-03-098-9/+9
| | | | | | Rename cmGlobalGenerator::GetCMakeCFG{InitDirectory => IntDir} to have a shorter name without a typo. Add a 'const' qualifier since the method is only for lookup and never needs to modify anything.
* Remove unused cmSourceGroup methodBrad King2012-03-092-7/+0
| | | | The non-const GetSourceFiles method is not needed.
* Pre-compute object file names before VS project generationBrad King2012-03-0910-136/+104
| | | | | | Implement cmGlobalGenerator::ComputeTargetObjects in the VS generator to pre-compute all the object file names. Use the results during generation instead of re-computing it later.
* Pre-compute object file names before Makefile generationBrad King2012-03-098-55/+50
| | | | | | | Add a virtual cmGlobalGenerator::ComputeTargetObjects method invoked during cmGeneratorTarget construction. Implement it in the Makefile generator to pre-compute all object file names for each target. Use the results during generation instead of re-computing it later.
* Simplify cmVisualStudio10TargetGenerator using cmGeneratorTargetBrad King2012-03-092-29/+12
| | | | | Use CustomCommands and ModuleDefinitionFile computed in the latter instead of recomputing them from the original target source files.
* Simplify cmMakefileTargetGenerator using cmGeneratorTargetBrad King2012-03-092-53/+42
| | | | | Replace the classification of source files in this generator using that computed by cmGeneratorTarget.
* Create a cmGeneratorTarget for each cmTarget during generationBrad King2012-03-092-0/+57
| | | | | | | Construct the instances after the final set of targets is known but before computing inter-target dependencies. This order will allow initialization of cmGeneratorTarget instances to adjust and finalize declared inter-target dependencies.
* Add cmGeneratorTarget to represent a target during generationBrad King2012-03-093-0/+126
| | | | | | | | | 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.
* Merge branch 'cleanup-object-file-names' into object-libraryBrad King2012-03-0918-279/+73
|\
| * Hide Makefile local object info inside local generatorBrad King2012-03-083-31/+39
| | | | | | | | | | Make cmLocalUnixMakefileGenerator3::LocalObjectInfo private and add cmLocalUnixMakefileGenerator3::AddLocalObjectFile to create entries.
| * VS: Simplify object name computationBrad King2012-03-065-71/+34
| | | | | | | | | | | | | | | | Simplify cmLocalVisualStudioGenerator::ComputeObjectNameRequirements to loop over the original vector of source files instead of recursively traversing source groups just to find the same files. Drop from cmVisualStudio10TargetGenerator::ComputeObjectNames temporary source group calculation now that it is not needed for computing object names.
| * Remove unused partial OBJECT_FILES property implementationBrad King2012-03-0614-177/+0
| | | | | | | | | | | | | | Remove partial implementation added by commit ca0230a3 (check in initial conv library stuff, 2007-02-16) since it was never finished. It does not make sense for multi-configuration generators since no specific build configuration is processed at CMake time.
* | KWSys Nightly Date StampKWSys Robot2012-03-091-1/+1
| |
* | Merge topic 'find_package_fatal_error_if_required_and_config_not_found'David Cole2012-03-081-0/+4
|\ \ | | | | | | | | | | | | | | | c5ae733 find_package: Test that REQUIRED aborts processing correctly c91a54d find_package: error out if REQUIRED Config has not been found
| * | find_package: error out if REQUIRED Config has not been foundAlex Neundorf2012-03-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | If in Config mode a configuration file could not be found, cmake printed an error, but did not actually stop processing. With SetFatalErrorOccured it does. Alex
* | | Merge topic 'MakingConfigFilesEasier_ConfigureMacro'David Cole2012-03-081-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | 6973e2d wrap write_basic_config_version_file as write_basic_package_version_file() 204f5d4 add CMakePackageConfigHelpers: configure_package_config_file()
| * | | wrap write_basic_config_version_file as write_basic_package_version_file()Alex Neundorf2012-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | So the name fits better with configure_package_config_file(), as discussed on the mailing list. Adapt the documentation accordingly. Alex
* | | | Merge topic 'fix-12189-support-SBCS-in-VS'David Cole2012-03-085-3/+29
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b28e7fa VS6: Avoid SBCS test on VS6 (#12189) df19b9c VS6: Avoid _MBCS define when _SBCS is defined (#12189) ba89e92 Visual Studio: Allow setting Single Byte Character Set (#12189)
| * | | | VS6: Avoid _MBCS define when _SBCS is defined (#12189)David Cole2012-02-211-3/+5
| | | | | | | | | | | | | | | | | | | | Should fix the failing SBCS test on the VS6 dashboard.
| * | | | Visual Studio: Allow setting Single Byte Character Set (#12189)Aaron C. Meadows2012-02-174-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Visual Studio using the Preprocessor Define _SBCS. This behavior is similar to the way that _UNICODE and _MBCS work already. Added tests to confirm this behavior.
* | | | | Merge topic 'fixCPackDocTypo'David Cole2012-03-081-4/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b0cb29b Fix some typos in CPACK_SET_DESTDIR doc
| * | | | | Fix some typos in CPACK_SET_DESTDIR docEric NOULARD2012-03-061-4/+4
| | |_|/ / | |/| | |
* | | | | Merge topic 'target-include-directories'David Cole2012-03-0820-245/+359
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d662dff Fix shadowed variable warning on dashboard results f66e735 Fix compiler warning reported on older Borland dashboard. d90eed4 Fix compiler error reported on older Borland dashboard. 8233636 Update the documentation regarding INCLUDE_DIRECTORIES. d899eb7 Call ExpandVariablesInString for each target's INCLUDE_DIRECTORIES c21db87 Make search paths ordered and unique 22021f0 Remove cmMakefile::GetIncludeDirectories 9106b56 Extract and use the INCLUDE_DIRECTORIES target properties. 840509b Keep the INCLUDE_DIRECTORIES target property up to date. a4d5f7b Add API to get the ordered includes for a target. 8adaee2 CMake: Eliminate cmMakefile::IncludeDirectories 7620932 Remove include flags memoization. 97a5faa Make it safe to call this method without creating duplicates. edd5303 Refactor GetIncludeFlags to take includes instead of fetching them
| * | | | | Fix shadowed variable warning on dashboard resultsDavid Cole2012-02-231-1/+1
| | | | | |
| * | | | | Fix compiler warning reported on older Borland dashboard.David Cole2012-02-221-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Avoid assignment inside the if.
| * | | | | Fix compiler error reported on older Borland dashboard.David Cole2012-02-221-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | Declare variable only once at a scope appropriate for both uses.
| * | | | | Update the documentation regarding INCLUDE_DIRECTORIES.David Cole2012-02-223-10/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is now a target property and is affected by the use of the include_directories command.
| * | | | | Call ExpandVariablesInString for each target's INCLUDE_DIRECTORIESDavid Cole2012-02-221-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For strict backwards compatibility only. This should be unnecessary at this point, but introducing a policy to deprecate it properly is a whole different topic branch...
| * | | | | Make search paths ordered and uniqueDavid Cole2012-02-221-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid duplicates. Same as before the introduction of the INCLUDE_DIRECTORIES target property.
| * | | | | Remove cmMakefile::GetIncludeDirectoriesDavid Cole2012-02-222-29/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After making the changes to use the new target level INCLUDE_DIRECTORIES property, there are no more callers of this method.
| * | | | | Extract and use the INCLUDE_DIRECTORIES target properties.Stephen Kelly2012-02-2215-125/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eliminate callers of cmMakefile::GetIncludeDirectories. All callers of GetIncludeDirectories should go through the local generator object. Only the local generator calls cmTarget::GetIncludeDirectories directly.
| * | | | | Keep the INCLUDE_DIRECTORIES target property up to date.Stephen Kelly2012-02-222-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | The directory level property changes need to be added to it.
| * | | | | Add API to get the ordered includes for a target.Stephen Kelly2012-02-222-0/+27
| | | | | |
| * | | | | CMake: Eliminate cmMakefile::IncludeDirectoriesDavid Cole2012-02-223-84/+71
| | | | | | | | | | | | | | | | | | | | | | | | Instead, re-implement it in terms of the directory property INCLUDE_DIRECTORIES.
| * | | | | Remove include flags memoization.Stephen Kelly2012-02-222-15/+3
| | | | | |
| * | | | | Make it safe to call this method without creating duplicates.Stephen Kelly2012-02-221-2/+6
| | | | | |
| * | | | | Refactor GetIncludeFlags to take includes instead of fetching themStephen Kelly2012-02-224-10/+21
| | | | | |
* | | | | | KWSys Nightly Date StampKWSys Robot2012-03-081-1/+1
| | | | | |
* | | | | | KWSys Nightly Date StampKWSys Robot2012-03-071-1/+1
| | | | | |
* | | | | | Merge topic 'skip-install-rpath'David Cole2012-03-063-3/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 635bf50 Add an option to skip RPATH during installation.
| * | | | | | Add an option to skip RPATH during installation.Stephen Kelly2012-03-053-3/+22
| | | | | | |
* | | | | | | Merge topic 'win32_executable-and-macosx_bundle-initializers'David Cole2012-03-062-2/+24
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 761c146 Add default initializers for WIN32_EXECUTABLE and MACOSX_BUNDLE
| * | | | | | | Add default initializers for WIN32_EXECUTABLE and MACOSX_BUNDLEStephen Kelly2012-03-052-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows downstreams to use set(CMAKE_WIN32_EXECUTABLE ON) set(CMAKE_MACOSX_BUNDLE ON) to create executables with the WIN32_EXECUTABLE and MACOSX_BUNDLE properties set on by default.
* | | | | | | | Merge topic 'remove-unused-members'David Cole2012-03-063-10/+0
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aef248a Remove cmExprParserHelper::SetLineFile() e266571 Remove UnionsAvailable member from 2 classes
| * | | | | | | | Remove cmExprParserHelper::SetLineFile()Yury G. Kudryashov2012-03-032-8/+0
| | | | | | | | |