summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileTargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'refactor-fortran-module-directory'Brad King2015-07-301-9/+6
|\ | | | | | | | | | | | | | | e90372a0 cmCommonTargetGenerator: Factor out Fortran module directory computation 70c21301 cmCommonTargetGenerator: Store working directory for relative paths 7371d8f3 cmCommonTargetGenerator: Return string from GetFortranModuleDirectory 613bc08a cmDependsFortran: Use string to store module directory
| * cmCommonTargetGenerator: Store working directory for relative pathsBrad King2015-07-291-1/+1
| | | | | | | | | | | | | | | | The Makefile generators run tools with the current working directory set to the subdirectory of the build tree for the each target. The Ninja generator runs tools with the current working directory set to the top of the build tree. Tell cmCommonTargetGenerator where the working directory will be so it can compute proper relative paths.
| * cmCommonTargetGenerator: Return string from GetFortranModuleDirectoryBrad King2015-07-291-8/+5
| |
* | Merge topic 'cmCommonTargetGenerator-GetLinkedTargetDirectories'Brad King2015-07-301-26/+4
|\ \ | |/ | | | | | | 6d79eda7 cmCommonTargetGenerator: Adopt linked target directory computation
| * cmCommonTargetGenerator: Adopt linked target directory computationBrad King2015-07-281-26/+4
| | | | | | | | | | | | Factor a GetLinkedTargetDirectories method out of cmMakefileTargetGenerator::WriteTargetDependRules to compute the list of directories associated with targets to which the current target links.
* | cmMakefileTargetGenerator: Remove unused variable.Stephen Kelly2015-07-281-1/+0
|/
* Move GetFullPath to cmGeneratorTargetStephen Kelly2015-07-271-1/+1
|
* cmCustomCommandGenerator: Require cmLocalGenerator in API.Stephen Kelly2015-07-271-2/+3
|
* Factor an <INCLUDES> placeholder out of <FLAGS> in rule variablesBrad King2015-07-131-0/+9
| | | | | | | | | | | Teach the Makefile and Ninja generators to substitute for an <INCLUDES> placeholder instead of putting -I in <FLAGS>. Update our values for CMAKE_<LANG>_COMPILE_OBJECT, CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE to place <INCLUDES> just before <FLAGS>.
* cmCommonTargetGenerator: Adopt GetDefines methodBrad King2015-07-091-26/+0
| | | | | Move the member up from cmMakefileTargetGenerator so it can be re-used later by cmNinjaTargetGenerator.
* cmCommonTargetGenerator: Adopt GetFlags methodBrad King2015-07-091-48/+0
| | | | | De-duplicate per-target flag computation in Makefile and Ninja target generators.
* cmMakefileTargetGenerator: Fix comment typoBrad King2015-07-091-1/+1
|
* cmCommonTargetGenerator: Adopt GetFrameworkFlagsBrad King2015-07-091-61/+0
| | | | Move the member up from cmMakefileTargetGenerator.
* cmCommonTargetGenerator: Adopt AppendFortranFormatFlagsBrad King2015-07-091-29/+0
| | | | Move up from cmMakefileTargetGenerator.
* cmCommonTargetGenerator: Adopt AddFortranFlags and friendsBrad King2015-07-091-96/+0
| | | | | Move AddFortranFlags, GetFortranModuleDirectory, and supporting members up from cmMakefileTargetGenerator.
* cmCommonTargetGenerator: Adopt ModuleDefinitionFile memberBrad King2015-07-091-29/+2
| | | | | De-duplicate the ModuleDefinitionFile and AddModuleDefinitionFlag members from the Makefile and Ninja target generators.
* cmCommonTargetGenerator: Adopt GetFeature and friendsBrad King2015-07-091-26/+0
| | | | | De-duplicate the GetFeature, GetFeatureAsBool, and AddFeatureFlags members from the Makefile and Ninja target generators.
* cmCommonTargetGenerator: Adopt ConfigName memberBrad King2015-07-091-1/+0
| | | | De-duplicate the member from the Makefile and Ninja target generators.
* cmLocalUnixMakefileGenerator3: Provide GetConfigName() accessorBrad King2015-07-091-6/+6
| | | | | Rename internal member from ConfigurationName to ConfigName to match the ninja generator.
* cmCommonTargetGenerator: Adopt basic target generator membersBrad King2015-07-091-4/+1
| | | | | De-duplicate the GeneratorTarget, Target, and Makefile members from the local Makefile and Ninja generators.
* Add common base classes to Makefile and Ninja generatorsBrad King2015-07-091-1/+2
| | | | Provide a place to move functionality common to both.
* Get the local generator from the GeneratorTarget.Stephen Kelly2015-06-221-1/+3
| | | | The Makefile should not know the LocalGenerator at all
* cmMakefileTargetGenerator: Require cmGeneratorTarget.Stephen Kelly2015-06-221-5/+4
|
* Merge topic 'compiler-launcher'Brad King2015-06-151-0/+19
|\ | | | | | | | | 698f7597 Add options to launch the compiler through tools like ccache or distcc
| * Add options to launch the compiler through tools like ccache or distccBill Hoffman2015-06-151-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | Create a <LANG>_COMPILER_LAUNCHER target property (initialized by a CMAKE_<LANG>_COMPILER_LAUNCHER variable) to specify a compiler launcher tool. This will supersede the CMAKE_<LANG>_COMPILER_ARG1 approach to using such tools. The old approach set CMAKE_<LANG>_COMPILER to the launcher tool while the new approach leaves this variable set to the actual compiler. Implement this property for Makefile and Ninja generators. It cannot be implemented for VS or Xcode generators as the IDE build tools offer no such hooks.
* | Merge topic 'move-Feature-API'Brad King2015-06-081-2/+2
|\ \ | | | | | | | | | | | | | | | f573bd22 cmLocalGenerator: Add Feature API from cmMakefile. ccbc2259 cmGeneratorTarget: Move Feature API from cmTarget.
| * | cmGeneratorTarget: Move Feature API from cmTarget.Stephen Kelly2015-06-061-2/+2
| | |
* | | Port static calls from cmLocalGenerator to cmOutputConverter.Stephen Kelly2015-06-061-2/+2
|/ /
* | cmLocalGenerator: Remove 'optional' parameter from Convert.Stephen Kelly2015-06-041-3/+2
| | | | | | | | Port callers away from it.
* | Remove CMAKE_USE_RELATIVE_PATHS variable.Stephen Kelly2015-06-031-7/+1
|/ | | | | | | | | | | | | | | | | The test for this variable was removed in commit v2.8.8~330^2~7 (complex: Remove ancient unused ComplexRelativePaths test, 2011-12-23). Commit v3.1.0-rc1~425^2~2 (backtrace: Convert to local paths in IssueMessage, 2014-03-12) appears to have accidentally made some backtraces print relative paths with the variable because conversions which used to be done at configure time, before the variable had an effect are now potentially done at generate time. The documentation of the variable says not to use it, and the docs are wrong in that the variable actually applies in per-directory scope. The read of the variable makes it harder to split conversion methods from cmLocalGenerator where they don't belong. Remove it now.
* Merge topic 'mingw32-make-backslash-workaround'Brad King2015-06-011-0/+1
|\ | | | | | | | | 7dd4a12c Revert "Makefile: Fix compilation after parent commit was backported"
| * Revert "Makefile: Fix compilation after parent commit was backported"Brad King2015-06-011-0/+1
| | | | | | | | | | | | This reverts commit bfa57c5f80278abc044b7342e81e5aaad82bffab. This change should not be part of 'master', only in 'release' for CMake 3.2.
* | Merge branch 'release'Brad King2015-06-011-1/+0
|\ \ | |/
| * Makefile: Fix compilation after parent commit was backportedBrad King2015-06-011-1/+0
| | | | | | | | | | The CMake 3.2 release branch does not have 'cmAlgorithms.h' and simply provides 'cmHasLiteralSuffix' in 'cmStandardIncludes.h' instead.
* | Merge topic 'run-include-what-you-use'Brad King2015-05-261-7/+7
|\ \ | | | | | | | | | | | | b3475ba5 Makefile: Fix <LANG>_INCLUDE_WHAT_YOU_USE with CTEST_USE_LAUNCHERS
| * | Makefile: Fix <LANG>_INCLUDE_WHAT_YOU_USE with CTEST_USE_LAUNCHERSBrad King2015-05-221-7/+7
| | | | | | | | | | | | | | | | | | The 'ctest --launch' command must be placed before the IWYU launcher on the compiler command line. Extend the RunCMake.IncludeWhatYouUse test to cover this case. The Ninja generator already does it correctly.
* | | Merge topic 'run-include-what-you-use'Brad King2015-05-211-0/+14
|\ \ \ | |/ / | | | | | | | | | | | | ada5ffce Add options to run include-what-you-use with the compiler 67fa3da9 cmake: Add internal -E mode to run include-what-you-use with the compiler
| * | Add options to run include-what-you-use with the compilerBrad King2015-05-191-0/+14
| | | | | | | | | | | | | | | | | | Create a <LANG>_INCLUDE_WHAT_YOU_USE target property (initialized by a CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE variable) to specify an IWYU command line to be run along with the compiler.
* | | cmGlobalUnixMakefileGenerator3: Host the include directive.Stephen Kelly2015-05-161-3/+3
|/ / | | | | | | There is no sense in copying this to each cmLocalGenerator.
* | Don't use a cmLocalGenerator instance to call static methods.Stephen Kelly2015-05-141-2/+2
| |
* | Merge topic 'mingw32-make-backslash-workaround'Brad King2015-05-041-0/+10
|\ \ | |/ | | | | | | bb6663ca Makefile: Workaround mingw32-make trailing backslash trouble (#15546)
| * Makefile: Workaround mingw32-make trailing backslash trouble (#15546)Brad King2015-05-011-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When given the command line tool a\ b c mingw32-make incorrectly passes "a b" and "c" to the tool. When given the command line tool a\ b "c" mingw32-make correctly passes "a\", "b", and "c" to the tool. Since commit v3.1.0-rc1~861^2 (MSVC: Add properties to configure compiler PDB files, 2014-02-24) we pass the compiler pdb option to MS-style compiler tools as "/Fd<dir>\" but mingw32-make may consume the backslash as escaping a following space as described above. Workaround this problem by changing the backslash to a forward slash as had been used prior to the above commit.
* | cmMakefile: Port users of GetStart* methods to new names.Stephen Kelly2015-04-201-8/+8
| |
* | cmMakefile: Rename GetCurrent{Output,Binary}Directory.Stephen Kelly2015-04-201-2/+2
| | | | | | | | Match names used in CMake code.
* | Port Global property interaction to cmState.Stephen Kelly2015-04-151-1/+3
| |
* | Merge topic 'custom-command-multiple-outputs'Brad King2015-04-131-24/+34
|\ \ | |/ | | | | | | | | 9660a3cc Makefile: Fix multiple custom command outputs with one missing 5c08e255 KWSys SystemTools: Teach Touch with !create to succeed on missing file
| * Makefile: Fix multiple custom command outputs with one missingBrad King2015-04-101-24/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The use of "cmake -E touch_nocreate" added in commit v3.2.1~4^2 (Makefile: Fix multiple custom command outputs regression, 2015-03-06) caused builds to fail when one of the outputs is intentionally not created. This was fixed by our parent commit by making touch_nocreate succeed when the file is missing. Add a test case covering it. For the Watcom WMake generator, check for the SYMBOLIC source file property separately on each output. The mark is needed on outputs that are not really created to tell 'wmake' not to complain that it is missing. The mark is also needed on outputs that are created or 'wmake' will not consider them out of date when they exist. Inspired-by: Ben Boeckel <ben.boeckel@kitware.com>
* | Makefile: Tell GNU make to delete rule outputs on error (#15474)Brad King2015-03-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add .DELETE_ON_ERROR to the "build.make" files that contain the actual build rules that generate files. This tells GNU make to delete the output of a rule if the recipe modifies the output but returns failure. This is particularly useful for custom commands that use shell redirection to produce a file. Do not add .DELETE_ON_ERROR for Borland or Watcom make tools because they may not tolerate it and would not honor it anyway. Other make tools that do not understand .DELETE_ON_ERROR will not be hurt. Suggested-by: Andrey Vihrov <andrey.vihrov@gmail.com>
* | Merge topic 'target-language-genex'Brad King2015-03-101-35/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 232a6883 Help: Add release notes for target-language-genex. 9e168941 File(GENERATE): Process genex evaluation files for each language. b734fa44 Genex: Allow COMPILE_LANGUAGE when processing include directories. 0b945ea9 Genex: Allow COMPILE_LANGUAGE when processing compile definitions. 5c559f11 Genex: Enable use of COMPILE_LANGUAGE for compile options. e387ce7d Genex: Add a COMPILE_LANGUAGE generator expression. 4a0128f4 VS6: Compute CMAKE_*_FLAGS and COMPILE_DEFINITIONS* only when needed
| * | Genex: Allow COMPILE_LANGUAGE when processing include directories.Stephen Kelly2015-03-091-34/+0
| | | | | | | | | | | | Issue an error if this is encountered by an IDE generator.