summaryrefslogtreecommitdiffstats
path: root/Source/cmExtraEclipseCDT4Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Fix some generator crashes on undefined CMAKE_BUILD_TYPEBrad King2014-06-231-1/+1
| | | | | | | | | | Since commit 84fdc9921 (stringapi: Pass configuration names as strings, 2014-02-09), it is not safe to use GetDefinition("CMAKE_BUILD_TYPE") without checking the return value. Use GetSafeDefinition instead so that a missing definition is treated as an empty string like code paths did prior to the above commit. Reported-by: Richard Wirth <richard@califax.de>
* cmTarget: Make the source files depend on the config.Stephen Kelly2014-04-021-1/+2
| | | | | | | | | | | | | | | | | Disallow the use of config-specific source files with the Visual Studio and Xcode generators. They don't have any way to represent the condition currently. Use the same common-config API in cmQtAutoGenerators. While it accepts config-specific files, it doesn't have to support multiple configurations yet. Loop over the configs in cmTargetTraceDependencies and cmGlobalGenerator::WriteSummary and consume all source files. Loop over the configs in cmComputeTargetDepends and compute the object library dependencies for each config.
* Remove c_str calls when using stream APIs.Stephen Kelly2014-03-111-1/+1
| | | | | Use an ad-hoc clang tool for matching the calls which should be ported.
* Remove some c_str() calls.Stephen Kelly2014-03-111-5/+5
| | | | | | Use the clang RemoveCStrCalls tool to automatically migrate the code. This was only run on linux, so does not have any positive or negative effect on other platforms.
* stringapi: Use strings for generator namesBen Boeckel2014-03-081-1/+1
|
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-1/+1
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* Eclipse: Skip generator expressions in COMPILE_DEFINITIONS (#14722)Stephen Kelly2014-02-091-1/+6
| | | | | | This is a hot-fix for the bug. It seems like a good idea to generally reform the generator to care about targets instead of directories, but this patch at least makes the reported error go away.
* cmMakefile: Make FindSourceGroup const.Stephen Kelly2014-01-221-2/+2
| | | | | Return a pointer instead of a reference. This allows making the accessor const with the least impact.
* cmTarget: Make GetSourceFiles populate an out-vector parameter.Stephen Kelly2014-01-091-1/+2
| | | | | In a future patch, this will also be populated with extra sources from the linked dependencies.
* Eclipse: use MachO64 parser starting with Helios (#14380)Alex Neundorf2014-01-011-1/+5
| | | | | | | | | With this patch, cmake now puts the MachO64 bit binary file parser into the config file if the detected Eclipse is at least Helios (7.0), otherwise with the old parser executables will not be recognized by Eclipse. Alex
* eclipse: Support custom natures via a global propertyBen Boeckel2013-11-191-0/+12
| | | | | This is useful for enabling natures not recognized by the Eclipse generator directly in a project.
* eclipse: Add natures for Eclipse based on enabled languagesBen Boeckel2013-11-191-6/+32
| | | | Also adds support for the Java nature if Java is being used.
* Refactor tool selection for edit_cache (#14544)Brad King2013-11-121-20/+0
| | | | | | | | | Refactor edit_cache tool selection to ask each global generator for its preference. Teach the Ninja generator to always use cmake-gui because Ninja by design cannot run interactive terminal dialogs like ccmake. Teach the Makefile generator to use cmake-gui when also using an "extra" generator whose IDE has no terminal to run ccmake, and otherwise fall back to CMAKE_EDIT_COMMAND selection for normal Makefile build systems.
* cmExtraEclipseCDT4Generator: Replace RunCommand with RunSingleCommandBrad King2013-10-181-1/+1
| | | | | Avoid use of the old cmSystemTools::RunCommand by using RunSingleCommand instead.
* Drop the 'Full' field from cmDocumentationEntryBrad King2013-10-161-7/+0
| | | | | We need only 'Brief' for usage documentation. We no longer have builtin 'Full' documentation, which is now in Help/*/*.rst files.
* Eclipse: fix #14204 and #14205: no file links to directoriesAlex Neundorf2013-06-111-6/+9
| | | | | | | If a source file name is empty, or if it is a directory, don't create a linked resource to it. Alex
* Merge topic 'eclipse-doc-typo'Brad King2013-05-161-1/+1
|\ | | | | | | | | b9c1f3b Eclipse: Add a missing space in the documentation
| * Eclipse: Add a missing space in the documentationJack O'Connor2013-05-011-1/+1
| |
* | Use GmakeErrorParser instead of deprecated MakeErrorParser (fixes bug 0013699)Victor Zverovich2013-04-281-1/+15
|/
* Merge topic 'EclipseFixIndexerBySettingSourcePath'Brad King2012-11-061-5/+7
|\ | | | | | | | | 077de8b Eclipse: set source path once to fix Eclipse indexer (#13596)
| * Eclipse: set source path once to fix Eclipse indexer (#13596)Alex Neundorf2012-11-061-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since CMake 2.8.7 no src-path entry was generated anymore, in response to http://www.cmake.org/Bug/view.php?id=12213 Before that a src-path entry was added for each linked resource. Now only one src-path entry is added, for the ${CMAKE_SOURCE_DIR}. According to http://www.cmake.org/Bug/view.php?id=13596 this makes the indexer behave better. Alex
* | Merge topic 'EclipseNoLinkedResources'David Cole2012-10-311-0/+13
|\ \ | | | | | | | | | | | | fbda958 Eclipse: add switch to disable linked resources (#13189)
| * | Eclipse: add switch to disable linked resources (#13189)Alex Neundorf2012-10-171-0/+13
| |/ | | | | | | | | | | | | | | Eclipse may get confused by these linked resources, because it sees the same source file multiple times then and doesn't recognize that it's the same file actually. Alex
* | GenEx: Create cmGeneratorTargets for imported targets.Stephen Kelly2012-10-221-0/+4
|/ | | | | | | | | | | | | We're going to need to link to them, and all the linking API is moving to cmGeneratorTarget. Skip imported targets when iterating over cmGeneratorTargets in places where we only want targets we build. The GetGeneratorTargets result now includes IMPORTED targets where it didn't before. The GetTargets result, which was what used to be called in these methods does not include IMPORTED targets. This doesn't relate to any known bugs, but in some future uses of GetGeneratorTargets it will be important, so starting the convention and being deliberate now is a good idea.
* Fix config-specific INCLUDE_DIRECTORIES in multi-config generatorsStephen Kelly2012-10-171-1/+2
| | | | | | | | 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.
* Move GetIncludeDirectories to cmGeneratorTarget.Stephen Kelly2012-09-191-3/+5
|
* Merge topic 'HandleMacFrameworkIncludeDirs_13465'David Cole2012-08-201-0/+10
|\ | | | | | | | | | | | | a3815e6 -fix line length 9110d0e Eclipse on OSX: improve handling of framework include dirs (#13367) d97b385 Eclipse on OSX: fix handling of framework include dirs (#13464)
| * -fix line lengthAlex Neundorf2012-08-161-3/+3
| | | | | | | | Alex
| * Eclipse on OSX: improve handling of framework include dirs (#13367)Alex Neundorf2012-08-161-0/+10
| | | | | | | | | | | | | | | | | | | | It seems that if cmake finds something like the following: /System/Library/Frameworks/GLUT.framework/Headers Eclipse doesn't like that and wants to have /System/Library/Frameworks instead Alex
* | Eclipse: fix #13358: don't create bad linked resourcesAlex Neundorf2012-08-161-86/+0
|/ | | | | | | | | | | | | | directory where the project file is located (${CMAKE_BINARY_DIR}), which can happen e.g. for EXECUTABLE_OUTPUT_PATH and related variables. Now, it seems this code never worked. If EXECUTABLE_OUTPUT_PATH was set to point into a subdir of CMAKE_BINARY_DIR, the code did nothing. If it pointed directly at CMAKE_BINARY_DIR or some other location, it created a linked resource. I tested this with Eclipse Europa (3.3) and Juno (4.2), and in this case both versions of Eclipse complained that this is a bad location for a linked resource. Alex
* Eclipse: fix #13358: don't create bad linked resourcesAlex Neundorf2012-07-281-0/+14
| | | | | | | Don't create linked resources which point to CMAKE_BINARY_DIR itself or one of its parent dirs. Eclipse complained about that. Alex
* Ninja: enable ninja support everywherePeter Kümmel2012-07-201-2/+0
|
* Merge topic 'ninja-cldeps'David Cole2012-06-191-2/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eb410e8 Ninja: disable cldeps for bcc32, it's too old, and ninja would also not build 5ead31d Ninja: try work around for bcc32 bug 1333b57 Ninja: build server fixes 9081e3a remove warning about unused parameter f430bea Ninja: maybe this fixes the bcc32 build f2c1288 Ninja: msvc6 for-scoping 44b9bbc Ninja: build with old msvc versions 57156a5 Ninja: build server fixes f1abdce Ninja: some bytes of the rc files couldn't be piped correctly 2de963d Ninja: don't remove space between command and parameters 50b6f33 Ninja: build cmcldeps with mingw c05653e Ninja: try to make GetProcessId visible ab245ff Ninja: but cl supports /nologo ... bf58e9a Ninja: no /nologo option in old rc.exe 2fb07fc Ninja: Eclipse and KDevelop fixes for ninja 518c065 Ninja: don't pollute build dir with preprocessed rc files ...
| * Ninja: Eclipse and KDevelop fixes for ninjaPeter Kuemmel2012-06-151-2/+4
| | | | | | | | Thx to Claus Klein
* | Eclipse: parallel build also for "Build project" #13287Alex Neundorf2012-06-131-2/+5
|/ | | | | | | Use ${CMAKE_ECLIPSE_MAKE_ARGUMENTS} also for the overall build command, not only for the per-target commands. Alex
* fix #13054: support OBJECT libraries in EclipseAlex Neundorf2012-03-301-0/+2
| | | | Alex
* Merge topic 'target-include-directories'David Cole2012-03-081-3/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d662dff Fix shadowed variable warning on dashboard results f66e735 Fix compiler warning reported on older Borland dashboard. d90eed4 Fix compiler error reported on older Borland dashboard. 8233636 Update the documentation regarding INCLUDE_DIRECTORIES. d899eb7 Call ExpandVariablesInString for each target's INCLUDE_DIRECTORIES c21db87 Make search paths ordered and unique 22021f0 Remove cmMakefile::GetIncludeDirectories 9106b56 Extract and use the INCLUDE_DIRECTORIES target properties. 840509b Keep the INCLUDE_DIRECTORIES target property up to date. a4d5f7b Add API to get the ordered includes for a target. 8adaee2 CMake: Eliminate cmMakefile::IncludeDirectories 7620932 Remove include flags memoization. 97a5faa Make it safe to call this method without creating duplicates. edd5303 Refactor GetIncludeFlags to take includes instead of fetching them
| * Extract and use the INCLUDE_DIRECTORIES target properties.Stephen Kelly2012-02-221-3/+7
| | | | | | | | | | | | | | | | | | Eliminate callers of cmMakefile::GetIncludeDirectories. All callers of GetIncludeDirectories should go through the local generator object. Only the local generator calls cmTarget::GetIncludeDirectories directly.
* | Factor cmInstallType out of cmTarget::TargetTypeBrad King2012-02-271-4/+0
|/ | | | | | The purpose of the TargetType enumeration was overloaded for install type because install rules were once recorded as targets. Factor the install types out into their own enumeration.
* Eclipse: use new variable CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECTAlex Neundorf2011-11-191-1/+10
| | | | | | | | | | | | | Previously ECLIPSE_CDT4_GENERATE_SOURCE_PROJECT was used, but the new name CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT is more in line with the general naming conventions in cmake, and, more importantly IMO, in cmake-gui it now appears right next to the other eclipse-related variables, which all start with CMAKE_ECLIPSE_. A warning is printed if the old variable is TRUE and the new one isn't, so users should notice that they have to enable the new one. Alex
* Eclipse: create links to subprojects also in the source-project (#12579)Alex Neundorf2011-11-191-5/+15
| | | | Alex
* Merge topic 'FixTargetsInVirtualFoldersForEclipseIndigo'David Cole2011-11-081-1/+5
|\ | | | | | | | | | | d31b1ac Eclipse: quote the build dir (to make it work with spaces) 0576331 Eclipse: make targets work from any directory
| * Eclipse: quote the build dir (to make it work with spaces)Alex Neundorf2011-11-011-2/+2
| | | | | | | | | | | | | | | | When creating the targets for Eclipse, quote the directory in which make should change. Otherwise it will fail if the path contains with spaces. Alex
| * Eclipse: make targets work from any directoryAlex Neundorf2011-10-311-1/+5
| | | | | | | | | | | | | | | | | | Set the working directory for make targets which are associated to virtual folders, otherwise Eclipse simply runs make from the current working directory (where Eclipse has been started), and where probably not the correct makefile is located. Alex
* | Eclipse: warn if CMAKE_BINARY_DIR is subdir of CMAKE_SOURCE_DIRAlex Neundorf2011-11-011-0/+10
|/ | | | | | | | | Eclipse doesn't handle this case well. When doing out-of-source builds we create a linked resource which points to CMAKE_SOURCE_DIR, so the user can browse the source dir in Eclipse. This is not possible when the build dir is a subdir of the source dir. Alex
* Eclipse: fix #12417, don't create wrong src pathentriesAlex Neundorf2011-10-231-0/+13
| | | | | | | | | | | | Actually the Eclipse generator now does not create any CDT_SOURCE pathentries anymore, since I was not able to find out what they are good for, not even by asking on the cdt-dev mailing list. So, at least the warning from eclipse about bad pathentries are gone this way, and I didn't see anything which was not working anymore. Let's see whether we can find out what they are good for. Alex
* Eclipse: add Build and Clean targets to targetsAlex Neundorf2011-10-231-2/+31
| | | | | | | | With this commit the virtual folder for the targets now have "Build" and "Clean" targets associated to them, so you can build and clean per-target now in the project explorer. Alex
* Eclipse: move code for generating links to targets into separate functionAlex Neundorf2011-10-231-79/+83
| | | | Alex
* Eclipse: move code for generating links to projects into separate functionAlex Neundorf2011-10-231-27/+36
| | | | Alex
* Eclipse: add virtual folder for each targetAlex Neundorf2011-10-191-7/+96
| | | | | | | | For each target a virtual folder is created, which contains one virtual folder for each sourcegroup, which contain links to the actual source files (#12294, #12223) Alex