summaryrefslogtreecommitdiffstats
path: root/Source/cmGhsMultiTargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmState: Move TargetType enum to separate namespaceStephen Kelly2016-10-191-4/+4
|
* Factor IDE folder name retrieval out into helper methodGregor Jasny2016-10-171-3/+1
| | | | | | Add a `cmGeneratorTarget::GetEffectiveFolderName` helper to abstract lookup of the `FOLDER` property in combination with checking for generator support of folders.
* cmLinkLineComputer: Move FrameworkPath computation from cmLocalGeneratorStephen Kelly2016-10-101-1/+2
| | | | Add UseWatcomQuote state, and remove corresponding method parameters.
* cmLinkLineComputer: Move ComputeLinkLibs from cmLocalGeneratorStephen Kelly2016-10-101-0/+1
| | | | | | | | | | | | | | | Add a cmOutputConverter to the cmLinkLineComputer and factory methods to facilitate shell escapes. Add state to the cmLinkLineComputer to record whether outputting for response files or for watcom, to satisfy the cmOutputConverter API. These are constant for the lifetime of the cmLinkLineComputer, even when its functionality is extended in the future. This also keeps the signatures of cmLinkLineComputer relatively simple. Pass the cmComputeLinkInformation as a method parameter so that cmLinkLineComputer is free from target-specific state. An instance should be usable for all targets in a directory.
* cmLinkLineComputer: Extract from cmLocalGeneratorStephen Kelly2016-10-101-2/+7
| | | | | | | | | | | CMake has several classes which have too many responsibilities. cmLocalGenerator is one of them. Start to extract the link line computation. Create generator-specific implementations of the interface to account for generator-specific behavior. Unfortunately MSVC60 has different behavior to everything else and CMake still generates makefiles for it. Isolate it with MSVC60-specific names.
* cmMakefile: Return a string from GetDefineFlagsStephen Kelly2016-10-101-1/+1
| | | | Flip condition in GHS for readability.
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-0/+1
|
* cmLocalGenerator: Pass configuration to GetTargetFlagsTobias Hunger2016-06-081-1/+1
| | | | | Move the configuration lookup to call sites. This will allow multi-configuration callers to use the method.
* GHS: Compute include directories consistently with other generatorsBrad King2016-05-241-2/+4
| | | | | All generators use cmLocalGenerator::GetIncludeDirectories to construct the final list of include directories for a target.
* GHS: Use shorter object file names on collisionGeoff Viola2016-05-181-14/+6
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-315/+239
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* GHS: Shorten long object paths with duplicate source namesGeoff Viola2016-05-061-21/+70
| | | | | Detect when the resulting object path is too long and compute an alternative name using a hash.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Source: Stabilize include orderBrad King2016-04-291-0/+1
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* GHS: Fix handling of duplicate source filenames (#16046)Geoff Viola2016-04-251-0/+42
| | | | | Green Hills MULTI project files must specify explicitly distinct object file names for source files with the same name.
* GHS: Implement link flags and dirs for non-target groups (#16029)Geoff Viola2016-03-281-2/+32
|
* GHS: Fix try_compile (#15975)Geoff Viola2016-03-211-2/+8
|
* cmGeneratorTarget: Add API for target-relative commands.Stephen Kelly2015-10-261-2/+2
|
* GHS: Port to cmGeneratorTarget.Stephen Kelly2015-10-241-26/+30
|
* cmGeneratorTarget: Move GetExportMacro from cmTarget.Stephen Kelly2015-10-201-1/+1
|
* cmLocalGenerator: Port some API to cmGeneratorTarget.Stephen Kelly2015-10-171-4/+9
|
* Merge topic 'ghs-drop-optgroup'Brad King2015-10-161-3/+3
|\ | | | | | | | | ce7ccafc GHS: Remove extra flag to GHS MULTI compiler (#15771)
| * GHS: Remove extra flag to GHS MULTI compiler (#15771)Geoff Viola2015-10-151-3/+3
| | | | | | | | | | | | Do not produce "{optgroup=GhsCommonOptions}" in the generated .gpj files. The flag was added originally to match an old project file, but it does not seem necessary and is not compatible with all GHS versions.
* | cmState: Move TargetType enum from cmTarget.Stephen Kelly2015-10-141-4/+4
| | | | | | | | | | | | | | Mostly automated: values=( "EXECUTABLE" "STATIC_LIBRARY" "SHARED_LIBRARY" "MODULE_LIBRARY" "OBJECT_LIBRARY" "UTILITY" "GLOBAL_TARGET" "INTERFACE_LIBRARY" "UNKNOWN_LIBRARY" "TargetType") for i in "${values[@]}"; do git grep -l cmTarget::$i | xargs sed -i "s|cmTarget::$i|cmState::$i|g"; done
* | Generators: Use GetType from the cmGeneratorTarget.Stephen Kelly2015-10-141-3/+3
|/
* cmLocalGenerator: Add Home directory accessors.Stephen Kelly2015-10-081-2/+4
| | | | Reduce reasons for cmLocalGenerator to have a cmMakefile.
* Access sources through cmGeneratorTarget.Stephen Kelly2015-10-071-2/+2
|
* GHS: Port API to cmGeneratorTarget.Stephen Kelly2015-10-071-6/+8
|
* GHS: Fix generated file path slashes and quoting for 6.1.6Geoff Viola2015-09-091-4/+7
|
* GHS: Tell MULTI to delete .elf.ael fileGeoff Viola2015-09-091-7/+5
|
* cmGeneratorTarget: Move compile defintions processing from cmTarget.Stephen Kelly2015-08-261-1/+2
|
* cmGeneratorTarget: Move compile options processing from cmTarget.Stephen Kelly2015-08-261-2/+2
|
* cmGeneratorTarget: Move include directory processing from cmTarget.Stephen Kelly2015-08-261-1/+1
|
* cmGeneratorTarget: Move GetLinkerLanguage from cmTarget.Stephen Kelly2015-08-051-1/+2
|
* cmComputeTargetDepends: Change API to use cmGeneratorTarget.Stephen Kelly2015-07-011-2/+2
|
* GHS: Use a cmGeneratorTarget in generator API.Stephen Kelly2015-06-221-9/+9
|
* Add a 'Green Hills MULTI' generator on WindowsGeoff Viola2015-04-201-0/+600
Green Hills MULTI is an IDE for embedded real-time systems. The IDE's product page can be found here: http://www.ghs.com/products/MULTI_IDE.html It supports cross compiling on ARM, Intel x86, and other architectures with various operating systems. The IDE exists on Linux and Windows host systems, but CMake will currently only generate the project files on Windows host systems.