summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream-kwiml' into update-KWIMLBrad King2012-03-201-6/+6
|\
| * KWIML: Avoid conflict with C++11 user-defined literalsBrad King2012-03-201-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Clang warns test/test_INT_format.h:28:26: warning: identifier after literal will be treated as a reserved user-defined literal suffix in C++11 [-Wc++11-compat-reserved-user-defined-literal] " expression [%"KWIML_INT_PRI##PRI"]," because the KWIML_... part is an identifier lexically immediately following a string literal. Add a space between the string literal and the identifier to avoid the C++11 user-defined literal syntax.
* | Merge topic 'ninja-generator'David Cole2012-03-201-1/+4
|\ \ | | | | | | | | | | | | c337c7e Ninja: Fix <OBJECT_DIR> substitution
| * | Ninja: Fix <OBJECT_DIR> substitutionPeter Kuemmel2012-03-191-1/+4
| | | | | | | | | | | | Don't forget the subdirectories.
* | | Merge topic 'object-library'David Cole2012-03-20121-477/+1701
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93d5509 Merge branch 'ninja-object-library' into object-library 821037c Merge branch 'xcode-object-library' into object-library eb24c99 Merge branch 'object-library' into xcode-object-library 63d1be8 Xcode: Honor $<TARGET_OBJECTS:...> source expressions 020ba38 Merge branch 'object-library' into xcode-object-library e8ea615 Build object library targets in Xcode 8045e17 Pre-compute object file names before Xcode generation 247a132 Allow txt files as ExtraSources in object library targets b063599 Add a default source group for object files. be01f3b Xcode: Re-factor some existing methods into "FromPath" variants 2693dbe Merge branch 'object-library' into ninja-object-library 51997cb Ninja: Honor $<TARGET_OBJECTS:...> source expressions 23ec258 Merge branch 'object-library' into ninja-object-library 61124de Build object library targets in Ninja f5b06cd Pre-compute object file names before Ninja generation a2514f1 Simplify cmNinjaTargetGenerator using cmGeneratorTarget ...
| * \ \ Merge branch 'ninja-object-library' into object-libraryBrad King2012-03-1923-7/+3160
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ninja-object-library: (37 commits) Ninja: Honor $<TARGET_OBJECTS:...> source expressions Build object library targets in Ninja Pre-compute object file names before Ninja generation Simplify cmNinjaTargetGenerator using cmGeneratorTarget Ninja: Avoid using 'this' in member initializers Ninja: Fix for PDB files with spaces in the path. Ninja: Constify use of cmCustomCommand Ninja: add /DEF: flag to linker call Ninja: Add a cache option CMAKE_ENABLE_NINJA to enable the ninja generator. Ninja: Add friend struct so it can access the private ConvertToNinjaPath. Ninja: add .def file support Ninja: ensure the output dir exists at compile time Ninja: Remove an unnecessary variable Ninja: Use cmSystemTools::ExpandListArgument to split compile/link commands Ninja: Add a missed license header Ninja: CMake: Adapt Ninja generator for per-target include dirs Ninja: windows msvc: create for each target a .pdb file Ninja: Import library support for Windows Ninja: mark the Windows specific hacks with a comment only Ninja: disable unfinished Windows ninja support ...
| | * \ \ Merge branch 'object-library' into ninja-object-libraryBrad King2012-03-1672-0/+360
| | |\ \ \
| | * | | | Ninja: Honor $<TARGET_OBJECTS:...> source expressionsBrad King2012-03-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add objects from object libraries referenced using this syntax to the set of objects linked in a target.
| | * | | | Merge branch 'object-library' into ninja-object-libraryBrad King2012-03-169-7/+278
| | |\ \ \ \
| | * | | | | Build object library targets in NinjaBrad King2012-03-164-7/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | | Pre-compute object file names before Ninja generationBrad King2012-03-165-35/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement cmGlobalGenerator::ComputeTargetObjects in the Ninja generator to pre-compute all the object file names. Use the results during generation instead of re-computing it later.
| | * | | | | Simplify cmNinjaTargetGenerator using cmGeneratorTargetBrad King2012-03-162-43/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the classification of source files in this generator using that computed by cmGeneratorTarget.
| | * | | | | Merge branch 'object-library' into ninja-object-libraryBrad King2012-03-16310-2134/+3361
| | |\ \ \ \ \
| * | \ \ \ \ \ Merge branch 'xcode-object-library' into object-libraryBrad King2012-03-194-66/+284
| |\ \ \ \ \ \ \ | | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * xcode-object-library: Xcode: Honor $<TARGET_OBJECTS:...> source expressions Build object library targets in Xcode Pre-compute object file names before Xcode generation Allow txt files as ExtraSources in object library targets Add a default source group for object files. Xcode: Re-factor some existing methods into "FromPath" variants Xcode: Re-factor code into GetObjectsNormalDirectory method
| | * | | | | | Merge branch 'object-library' into xcode-object-libraryBrad King2012-03-1972-0/+360
| | |\ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | Document OBJECT library type in add_library commandBrad King2012-03-161-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Describe the OBJECT library signature of add_library and the $<TARGET_OBJECTS:...> expressions needed to use object libraries. Also document the what is not allowed for object library targets.
| * | | | | | | Test OBJECT library use without other sourcesBrad King2012-03-165-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reference OBJECT libraries for inclusion in targets that have no other sources to verify that the linker language propagates correctly from the object libraries. Test with a STATIC library, a SHARED library, and an EXECUTABLE target. Use the static and shared libraries each in executables that end up using the object library symbols. In VS 6, 7, and 7.1 add a dummy object file to convince the IDE to build the targets without sources. In Xcode add a dummy source file to convince it to build targets without sources.
| * | | | | | | Test OBJECT library language propagationBrad King2012-03-163-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the RunCMake.ObjectLibrary test to verify that languages used in an OBJECT library are propagated to targets that use it so that the languages can be included in link analysis.
| * | | | | | | Test OBJECT library failure casesBrad King2012-03-1651-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add "RunCMake.ObjectLibrary" test to verify that unsupported use cases are rejected with errors: * An OBJECT library may not reference another object library * An OBJECT library may not be referenced in target_link_libraries * An OBJECT library may not contain non-compiling sources * An OBJECT library may not have pre/post build/link commands * An OBJECT library may not be installed, exported, or imported Also verify that invalid $<TARGET_OBJECTS:...> expressions are diagnosed.
| * | | | | | | Test OBJECT library success casesBrad King2012-03-1614-0/+111
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add "ObjectLibrary" test to build and use OBJECT libraries. Build multiple object libraries in separate directories with different flags. Use a custom command to generate a source file in one OBJECT library. Reference the OBJECT libraries for inclusion in a STATIC library, a SHARED library, and an EXECUTABLE target. Use the static and shared libraries each in executables that end up using the object library symbols. Verify that object library symbols are exported from the shared library.
| | * | | | | Xcode: Honor $<TARGET_OBJECTS:...> source expressionsDavid Cole2012-03-191-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add objects from object libraries referenced using this syntax to the set of objects linked in a target.
| | * | | | | Merge branch 'object-library' into xcode-object-libraryBrad King2012-03-199-7/+278
| | |\ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | 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 XcodeDavid Cole2012-03-191-8/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Treat OBJECT libraries as STATIC libraries. The Xcode project file format provides no way to avoid running the libtool so hide the resulting .a 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.
| | * | | | Pre-compute object file names before Xcode generationDavid Cole2012-03-192-0/+51
| | | | | |
| | * | | | 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 a default source group for object files.David Cole2012-03-161-0/+1
| | | | | |
| | * | | | Xcode: Re-factor some existing methods into "FromPath" variantsDavid Cole2012-03-162-48/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...to avoid depending on cmSourceFile instances. Prep work for supporting OBJECT_LIBRARY in the Xcode generator.
| | * | | | Xcode: Re-factor code into GetObjectsNormalDirectory methodDavid Cole2012-03-162-9/+27
| |/ / / / | | | | | | | | | | | | | | | | | | | | ...in preparation for calling it from more than one location. Required to support OBJECT_LIBRARY targets in Xcode.
| * | | | 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.
| * | | | Merge branch 'test-RunCMake' into object-libraryBrad King2012-03-1246-133/+111
| |\ \ \ \
| * | | | | 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-094-0/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| |\ \ \ \ \
* | \ \ \ \ \ Merge topic 'fix-docs-typos'David Cole2012-03-201-5/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5b8983e Fix some typos in the docs comments.
| * | | | | | | Fix some typos in the docs comments.Stephen Kelly2012-03-191-5/+5
| | | | | | | |
* | | | | | | | KWSys Nightly Date StampKWSys Robot2012-03-201-1/+1
| | | | | | | |
* | | | | | | | Merge topic 'find_package_set_FOUND_VariableInConfigFile'Brad King2012-03-198-4/+61
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0cf8447 find_package: additional test for checking the error message 56ae3f9 find_package: add test for setting Foo_FOUND to FALSE in a Config file 16c0c73 find_package: allow <pkg>Config.cmake to set <pkg>_FOUND to FALSE
| * | | | | | | | find_package: additional test for checking the error messageAlex Neundorf2012-03-134-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a test which checks the error message, which is produced in the case that a Config file has set Foo_FOUND to FALSE by itself. Alex
| * | | | | | | | find_package: add test for setting Foo_FOUND to FALSE in a Config fileAlex Neundorf2012-03-133-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Alex
| * | | | | | | | find_package: allow <pkg>Config.cmake to set <pkg>_FOUND to FALSEAlex Neundorf2012-03-131-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, find_package in Config mode always set Foo_FOUND to true if the Config file has been found and could be executed. If the Config file itself detected some problem, like a missing dependency, it did not have a way to signal to the outside that the package is not working. With this patch, if a Config file sets Foo_FOUND to FALSE, this is taken into account and not overridden. Alex