GHS: Cleanup how source files are listed

-- Sort the items of the project files, previously they were unsorted
   The layout is similar to Visual Studio projects
-- Do not make a make a tree of directories and projects files
   The main project file is in the binary folder
   The sub-project files are located in the project object directory
   This is similar to the Makefile generator
-- Allow the creation of a single project file
   If the variable or target property GHS_NO_SOURCE_GROUP_FILE is set
   then all sources will be listed in the main project file
This commit is contained in:
Fred Baksik
2019-01-05 11:01:21 -05:00
parent 447b57a267
commit e7825386e2
4 changed files with 152 additions and 48 deletions
+2 -5
View File
@@ -80,17 +80,14 @@ private:
void WriteCustomCommandsHelper(
std::ostream& fout, std::vector<cmCustomCommand> const& commandsSet,
cmTarget::CustomCommandType commandType);
void WriteSources(
std::vector<cmSourceFile*> const& objectSources,
std::map<const cmSourceFile*, std::string> const& objectNames);
void WriteSources(std::ostream& fout_proj);
static std::map<const cmSourceFile*, std::string> GetObjectNames(
std::vector<cmSourceFile*>* objectSources,
cmLocalGhsMultiGenerator* localGhsMultiGenerator,
cmGeneratorTarget* generatorTarget);
static void WriteObjectLangOverride(std::ostream* fout,
const cmSourceFile* sourceFile);
static void WriteObjectDir(cmGeneratedFileStream* fileStream,
std::string const& dir);
static void WriteObjectDir(std::ostream& fout, std::string const& dir);
std::string GetOutputDirectory(const std::string& config) const;
std::string GetOutputFilename(const std::string& config) const;
static std::string ComputeLongestObjectDirectory(