summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix ObjectLibrary test on WatcomBrad King2012-03-204-12/+12
| | | | | | | | | | | | | | The Watcom compiler interprets "-DB" as option -db generate browsing information so define "A_DEF" and "B_DEF" instead of just "A" and "B". Skip CMAKE_SHARED_LIBRARY_C_FLAGS for Watcom because it is set to -bd build Dynamic link library which adds a DLL entry point to each object.
* 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
| |\ \ \
| * | | | Ninja: Avoid using 'this' in member initializersBrad King2012-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VS complains warning C4355: 'this' : used in base member initializer list so initialize the member in the constructor body instead.
| * | | | Ninja: Fix for PDB files with spaces in the path.Bill Hoffman2012-03-162-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | This calls ConvertToOutputFormat on the PDB paths for pdb file paths used in both library creation and the building of object files.
| * | | | Ninja: Constify use of cmCustomCommandBrad King2012-03-133-8/+8
| | | | | | | | | | | | | | | | | | | | The generator never needs to modify custom command instances.
| * | | | Ninja: add /DEF: flag to linker callPeter Kuemmel2012-03-131-0/+2
| | | | |
| * | | | Ninja: Add a cache option CMAKE_ENABLE_NINJA to enable the ninja generator.Bill Hoffman2012-03-091-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Make the option default to on, for platforms where CMake passes all tests with the ninja generator. This is currently only Linux.
| * | | | Ninja: Add friend struct so it can access the private ConvertToNinjaPath.David Cole2012-03-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The HP aCC compiler is apparently more strict than all our other dashboard compilers with respect to complaining about this.
| * | | | Ninja: add .def file supportPeter Kuemmel2012-03-075-1/+46
| | | | |
| * | | | Ninja: ensure the output dir exists at compile timePeter Kuemmel2012-03-071-0/+5
| | | | |
| * | | | Ninja: Remove an unnecessary variablePeter Collingbourne2012-02-281-1/+0
| | | | |
| * | | | Ninja: Use cmSystemTools::ExpandListArgument to split compile/link commandsPeter Collingbourne2012-02-272-6/+16
| | | | |
| * | | | Ninja: Add a missed license headerPeter Collingbourne2012-02-271-0/+12
| | | | |
| * | | | Ninja: CMake: Adapt Ninja generator for per-target include dirsDavid Cole2012-02-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The confluence of the ninja-generator and target-include-directories branches conspired to produce a nice little compiler error when they were both merged into 'next'... Yay for Continuous dashboards!
| * | | | Merge branch 'target-include-directories' into ninja-generatorDavid Cole2012-02-22151-1092/+3267
| |\ \ \ \
| * | | | | Ninja: windows msvc: create for each target a .pdb filePeter Kuemmel2012-02-213-0/+23
| | | | | |
| * | | | | Ninja: Import library support for WindowsPeter Collingbourne2012-02-193-17/+18
| | | | | |
| * | | | | Ninja: mark the Windows specific hacks with a comment onlyPeter Kuemmel2012-02-192-2/+6
| | | | | |
| * | | | | Ninja: disable unfinished Windows ninja supportPeter Kuemmel2012-02-191-17/+15
| | | | | | | | | | | | | | | | | | | | | | | | This way the branch is ready-to-merge, even when the generator is broken on Windows.
| * | | | | Ninja: add some hacks for WindowsPeter Kuemmel2012-02-193-2/+15
| | | | | |
| * | | | | Ninja: also build ninja support on WindowsPeter Kuemmel2012-02-191-17/+14
| | | | | |
| * | | | | Ninja: Shell encode the command used in custom commandsPeter Collingbourne2012-02-191-1/+2
| | | | | |
| * | | | | Ninja: Shell encode various CMake invocationsPeter Collingbourne2012-02-192-6/+17
| | | | | |
| * | | | | Ninja: Shell encode paths used in "cd" commandsPeter Collingbourne2012-02-192-8/+11
| | | | | |
| * | | | | Ninja: Backslash rules for WindowsPeter Collingbourne2012-02-195-15/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generally these are only required in build statements, as Ninja wants to be able to chop paths up. But it doesn't hurt to also try to use them in command line arguments.
| * | | | | Ninja: Identifier encoding rules for ' ' and ':'Peter Collingbourne2012-02-181-2/+6
| | | | | |
| * | | | | Ninja: Partially revert "win fixes: escape back slash/colon, use cd. as ↵Peter Collingbourne2012-02-182-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmd.exe nop" It introduced encoding rules in the wrong place, and broke the CustomCommand test case. This reverts commit 7fb2bb3e8b0dc7bc718aadc4ab9a74cb7fdb656e.
| * | | | | Ninja: don't define MSVC_IDE when using the ninja generatorPeter Kuemmel2012-02-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Thanks to Oscar Fuentes
| * | | | | Ninja: win fixes: escape back slash/colon, use cd. as cmd.exe nopPeter Kuemmel2012-02-184-7/+21
| | | | | |
| * | | | | Ninja: Appease various compilersPeter Collingbourne2012-02-055-10/+12
| | | | | |
| * | | | | Ninja: Remove some default argumentsPeter Collingbourne2012-02-052-8/+2
| | | | | |
| * | | | | Ninja: Fix a 79-col violationPeter Collingbourne2012-02-051-1/+1
| | | | | |
| * | | | | Ninja: Add the Ninja generatorPeter Collingbourne2012-02-0217-4/+2913
| | | | | |
| * | | | | Provide dependency file flags to generatorPeter Collingbourne2012-02-022-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Causes compiler modules (currently only GNU) to set a CMAKE_DEPFILE_FLAGS_${lang} variable, which communicates to the generator the flags required to cause the compiler to create dependency files.
| * | | | | Add executable with exports flag support to cmLocalGenerator::GetTargetFlagsPeter Collingbourne2012-02-021-0/+10
| | | | | |
| * | | | | Add cmSystemTools::TrimWhitespace functionPeter Collingbourne2012-02-022-0/+19
| | | | | |
* | | | | | 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.