summaryrefslogtreecommitdiffstats
path: root/Source/cmNinjaTargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Refactor cmTarget::GetCompileDefinitions to use an out-vector, not a string.Stephen Kelly2013-07-111-3/+2
| | | | Refactor to create AddCompileDefinitions.
* Merge topic 'ninja_phony_targets'Brad King2013-07-011-12/+12
|\ | | | | | | | | | | | | 539356f Ninja: Custom Command file depends don't need to exist before building 874e171 Ninja: GlobalNinjaGenerator WriteBuild and WritePhonyBuild non static 88d27ad Add a test to expose a bug with add_custom_command and ninja.
| * Ninja: GlobalNinjaGenerator WriteBuild and WritePhonyBuild non staticRobert Maynard2013-07-011-12/+12
| | | | | | | | | | | | To properly track the usage of dependencies that are generated at compile time as the side effect of other build steps we need to make the WriteBuild and WritePhonyBuild commands non static
* | Refactor target COMPILE_OPTIONS and COMPILE_FLAGS handlingBrad King2013-06-271-32/+2
|/ | | | | | | | | | | | Replace the cmLocalGenerator GetCompileOptions method with an AddCompileOptions method since all call sites of the former simply append the result to a flags string anyway. Add a "lang" argument to AddCompileOptions and move the CMAKE_<LANG>_FLAGS_REGEX filter into it. Move the call sites in each generator to a location that has both the language and configuration available. In the Makefile generator this also moves the flags from build.make to flags.make where they belong.
* Use --sysroot when cross compiling.Stephen Kelly2013-06-071-1/+17
| | | | | | | | | | As CMAKE_ROOT_FIND_PATH can be a list, a new CMAKE_SYSROOT is introduced, which is never a list. The contents of this variable is passed to supporting compilers as --sysroot. It is also accounted for when processing implicit link directories reported by the compiler, and when generating RPATH information.
* Merge topic 'VISIBILITY_PRESET-property'Brad King2013-06-051-0/+3
|\ | | | | | | | | | | cd1fa53 Add a COMPILE_OPTION for a VISIBILITY_INLINES_HIDDEN target property. 0e9f4bc Introduce target property <LANG>_VISIBILITY_PRESET
| * Introduce target property <LANG>_VISIBILITY_PRESETStephen Kelly2013-06-021-0/+3
| | | | | | | | | | | | This is initialized by CMAKE_<LANG>_VISIBILITY_PRESET. The target property is used as the operand to the -fvisibility= compile option with GNU compilers and clang.
* | Merge topic 'target-COMPILE_OPTIONS'Brad King2013-06-031-4/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 24466f2 Add target_compile_options command. 80ca9c4 Add COMPILE_OPTIONS target property. 7cb2308 cmTarget: Rename LinkInterfaceIncludeDirectoriesEntries 47f80d9 cmTarget: Rename struct to be more re-usable. 1319a14 Add <LANG>_COMPILER_ID generator expressions. 3549676 Add cmLocalGenerator::GetCompileOptions. f3ad863 VS6: Rename some variables to correspond to config values.
| * | Add cmLocalGenerator::GetCompileOptions.Stephen Kelly2013-06-021-4/+6
| |/ | | | | | | | | | | Currently it only adds the contents of the COMPILE_FLAGS target property, but it can be extended to handle a new COMPILE_OPTIONS generator expression enabled property.
* | Merge topic 'framework-refactor'Brad King2013-06-031-1/+1
|\ \ | |/ |/| | | | | 373faae Refactor how bundles and frameworks are supported.
| * Refactor how bundles and frameworks are supported.Clinton Stimpson2013-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make handling of directory separators consistent between non-bundle and bundle code. Remove xcode specific flag from cmTarget when getting install_name. Add (more) consistent convenience functions in cmTarget to get directories inside of bundles and frameworks to add files to. This refactor also fixes bug #12263 where frameworks had the wrong install name when SKIP_BUILD_RPATH. Also make install_name for frameworks consistent between Makefile and Xcode generator.
* | Ninja: Fix OBJECT_DIR placeholder path conversionBrad King2013-04-111-5/+3
|/ | | | | | Transform the path using ConvertToNinjaPath just as we do for all other paths. This fixes the OutOfSource test for objects in the ../OutOfBinary directory by computing the proper full path for the /Fd option.
* Fix the evaluation of per-config COMPILE_DEFINITIONS (#14037)Stephen Kelly2013-03-251-4/+1
| | | | | | | | | | | | | | The API for retrieving per-config COMPILE_DEFINITIONS has long existed because of the COMPILE_DEFINITIONS_<CONFIG> style properties. Ensure that the provided configuration being generated is also used to evaluate the generator expressions in cmTarget::GetCompileDefinitions. Both the generic COMPILE_DEFINITIONS and the config-specific variant need to be evaluated with the requested configuration. This has the side-effect that the COMPILE_DEFINITIONS does not need to be additionally evaluated with no configuration, so the callers can be cleaned up a bit too.
* Ninja: remove implicit dependency on custom command outputsPeter Kümmel2013-02-161-1/+1
| | | | | | | Revert aa2e1e9caef92b10083a03c2ded5c937703e69b8 With this commit all files are rebuild when only one moc file has changed. BUG 0013874
* Move GetCompileDefinitions to cmTarget.Stephen Kelly2013-01-291-2/+2
|
* Process the INTERFACE_PIC property from linked dependenciesStephen Kelly2013-01-101-1/+2
| | | | | | | | | This allows a dependee to inform a target that it should have its POSITION_INDEPENDENT_CODE property set to ON, or OFF. The value of the POSITION_INDEPENDENT_CODE property, if set, must be consistent with any INTERFACE_POSITION_INDEPENDENT_CODE properties on dependees. Add a test covering the consistency checks on platforms where they run.
* Ninja: fix usage of cldeps with ctest launchersMathias Gaunard2012-11-301-7/+9
|
* Revert "Move GetLinkInformation to cmGeneratorTarget"Stephen Kelly2012-11-211-1/+1
| | | | | | | As we can't move all linking related code from cmTarget, it makes sense to reverse the move in some cases. This reverts commit 4f5384e75c6a00d110d3fa3f555a3f6a4f31bb46.
* Merge topic 'fix-INCLUDE_DIRECTORIES-multiconfig'David Cole2012-10-171-2/+4
|\ | | | | | | | | 2a6bd96 Fix config-specific INCLUDE_DIRECTORIES in multi-config generators
| * Fix config-specific INCLUDE_DIRECTORIES in multi-config generatorsStephen Kelly2012-10-171-2/+4
| | | | | | | | | | | | | | | | Commit 08cb4fa4 (Process generator expressions in the INCLUDE_DIRECTORIES property, 2012-09-18) contained an incorrect assumption that CMAKE_BUILD_TYPE was set on the makefile for each generated configuration in multi-config generators. Fix that by making the GetIncludeDirectories API depend on the config.
* | Merge topic 'ninja-custom-command-implicit'Brad King2012-10-091-1/+1
|\ \ | | | | | | | | | | | | aa2e1e9 Ninja: implicit dependency for custom command files
| * | Ninja: implicit dependency for custom command filesPeter Kümmel2012-10-031-1/+1
| |/
* | Merge topic 'ninja-dont-pollute-current-dir'Brad King2012-10-091-2/+12
|\ \ | | | | | | | | | | | | 74fc598 Ninja: don't pollute current dir when using gui (#13495)
| * | Ninja: don't pollute current dir when using gui (#13495)Peter Kümmel2012-10-091-2/+12
| |/
* | Ninja: also set OBJECT_DIR when compilingPeter Kümmel2012-10-031-1/+9
|/ | | | BUG: 0013510
* Merge topic 'vs-pdb-output'Brad King2012-10-011-2/+2
|\ | | | | | | | | | | | | | | 2ccca05 Run PDBDirectoryAndName test on MSVC and Intel efc83b3 Document that PDB_(NAME|OUTPUT_DIRECTORY) are ignored for VS 6 b294457 Verify that PDB_(NAME|OUTPUT_DIRECTORY) are honored in test 3f60dbf Add PDB_OUTPUT_DIRECTORY and PDB_NAME target properties (#10830)
| * Add PDB_OUTPUT_DIRECTORY and PDB_NAME target properties (#10830)Yuchen Deng2012-09-251-2/+2
| | | | | | | | | | | | | | This enables changing the name and output folder of the debug symbol files produced by MS compilers. Inspired-by: Thomas Bernard <thomas.bernard@ipetronik.com>
* | Merge topic 'ninja-OBJECT_DEPENDS'David Cole2012-09-281-4/+3
|\ \ | | | | | | | | | | | | 8f0e08d Ninja: OBJECT_DEPENDS should set an implicit dependency
| * | Ninja: OBJECT_DEPENDS should set an implicit dependencyPeter Kümmel2012-09-251-4/+3
| |/ | | | | | | BUG 13559
* | Merge topic 'use-generator-target'David Cole2012-09-251-11/+5
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 879fd35 Revert "Move GenerateTargetManifest to cmGeneratorTarget." 6674583 Fix compiler warning with initialization order. 5285458 Add convenience for getting a cmGeneratorTarget to use. c31f3d9 Add a wrapper for accessing config-specific compile-definitions. d1446ca Append the COMPILE_DEFINITIONS from the Makefile to all targets. 290e92a Move GetIncludeDirectories to cmGeneratorTarget. f9146f6 Port cmLocalGenerator::GetTargetFlags to cmGeneratorTarget. 9facfd1 Move GetCreateRuleVariable to cmGeneratorTarget. 78bfee3 Make cmLocalGenerator::AddArchitectureFlags take a cmGeneratorTarget. 4f5384e Move GetLinkInformation to cmGeneratorTarget 987e12e Move GenerateTargetManifest to cmGeneratorTarget. 14bf778 Store cmGeneratorTargets with the makefile. f428ca2 Add more forwarding API to cmGeneratorTarget.
| * Add a wrapper for accessing config-specific compile-definitions.Stephen Kelly2012-09-191-2/+2
| |
| * Append the COMPILE_DEFINITIONS from the Makefile to all targets.Stephen Kelly2012-09-191-6/+0
| | | | | | | | | | | | | | | | This way we don't need to check the definitions from the Makefile when generating later, and can more easily add generator expressions. Duplication is not a problem as the definitions are de-duplicated before generating.
| * Move GetIncludeDirectories to cmGeneratorTarget.Stephen Kelly2012-09-191-1/+1
| |
| * Make cmLocalGenerator::AddArchitectureFlags take a cmGeneratorTarget.Stephen Kelly2012-09-191-1/+1
| |
| * Move GetLinkInformation to cmGeneratorTargetStephen Kelly2012-09-191-1/+1
| |
* | Ninja: filter target specific compile flags with language specific regexPeter Kümmel2012-09-181-5/+35
|/ | | | | | | | sync with Makefile code. Bug: 13486 Many thanks to Nils Gladitz
* Ninja: suppress cmcldeps only for source file signature try_compilesPeter Kümmel2012-09-051-2/+1
|
* Merge topic 'ninja-target-pdb-cleanup'David Cole2012-08-241-22/+24
|\ | | | | | | | | | | | | 709fa59 Ninja: remove GetTargetPDB because it is used only once 4bb4787 Ninja:split out setting of msvc TARGET_PDB 59cbc28 Ninja: prepare msvc pdb cleanup
| * Ninja: remove GetTargetPDB because it is used only oncePeter Kümmel2012-08-221-16/+11
| |
| * Ninja:split out setting of msvc TARGET_PDBPeter Kümmel2012-08-221-13/+18
| |
| * Ninja: prepare msvc pdb cleanupPeter Kümmel2012-08-221-2/+4
| |
* | Merge topic 'compile-definitions-unique'David Cole2012-08-241-16/+13
|\ \ | |/ |/| | | | | | | | | | | f0a1065 Rename files from main.cpp to more meaningful names. ca7fb14 Fix the test setting COMPILE_DEFINITIONS target property 733deb6 Fix CompileDefinitions test on Visual Studio. 3dae652 Don't duplicate -D defines sent to the compiler.
| * Don't duplicate -D defines sent to the compiler.Stephen Kelly2012-08-201-16/+13
| | | | | | | | | | | | | | | | | | | | | | There is no need to do so. Be consistent with include directories and ensure uniqueness. This requires changing the API of the cmLocalGenerator::AppendDefines method, and changing the generators to match. The test unfortunately can't test for uniqueness, but it at least verifies that nothing gets lost.
* | Ninja: don't crash on returned 0 pointerPeter Kümmel2012-08-171-21/+18
| |
* | Ninja: cmcldeps needs a compilerPeter Kümmel2012-08-171-4/+7
|/
* Merge topic 'ninja-fix-macosx'David Cole2012-07-241-2/+49
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1fc8df9 Add missing this->. 7a3ecf5 Fix memory leak in Makefile generator. 9f7dc83 Ninja: also bootstrap ninja files 5d365b2 Ninja: enable ninja support everywhere d569f3e Ninja: void function can't return a value 52160bf Ninja: enable ninja on Mac so all Mac CDash-builds are tested, cleanup later 56aeac6 Ninja: fixes for bcc 7a6bc9e Ninja: remove 'this' from member initializer list 44ba4cf Ninja: remove warnings 7751966 Ninja: remove 'friend' in ninja code c3988ee Re-factor OS X content generator start up. f8e0a51 Re-factor framework directory computation. f36c7b0 Re-factor Mac OS X content directory computation. 5d885db Re-factor bundle content copying rules generation. 3b2a01e Ninja: Use same echo message as makefiles. 7bb56c5 Re-factor CFBundle generation. ...
| * Add missing this->.Nicolas Despres2012-07-221-1/+1
| |
| * Ninja: remove warningsPeter Kümmel2012-07-181-10/+5
| |
| * Ninja: remove 'friend' in ninja codePeter Kümmel2012-07-181-1/+1
| |
| * Re-factor OS X content generator start up.Nicolas Despres2012-07-171-12/+1
| |