summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* VS: Add CMakeLists.txt re-run rules at start of generationBrad King2012-03-287-48/+53
| | | | | | | | | | | | | | | Since commit 328c0f65 (Simplify cmVisualStudio10TargetGenerator source classification, 2012-03-19) the VS 10 generator uses the cmGeneratorTarget source classification instead of directly getting the list of source files from the target. This accidentally dropped the CMakeLists.txt files from generated projects because they are added too late for cmGeneratorTarget. All generator-specific source files must be added to targets prior to cmGeneratorTarget construction. Refactor addition of the CMakeLists.txt files with CMake re-run custom commands to take place before normal generation begins, and therefore early enough to be included in the cmGeneratorTarget classification.
* Classify known header file extensions as headersBrad King2012-03-283-2/+9
| | | | | | | | | | 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.
* VS10: Fix external objects generated outside target (#13047)Brad King2012-03-203-13/+9
| | | | | | | | | | | | | Commit 9a6ff950 (Fix for bug where VS2010 did not use .obj files, 2011-04-01) assumed that if an external object is GENERATED that it is the output of a custom command in the current target. If it is generated by another target then VS will not automatically include the external object in the current target. This bug was preserved by the refactoring in the parent commit. Instead use <None> for external objects generated by a custom command in the current target and <Object> for all other external objects. Update the ExternalOBJ test to cover this case.
* Simplify cmVisualStudio10TargetGenerator source classificationBrad King2012-03-194-91/+69
| | | | | | 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 '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.