Skip to content

Commit

Permalink
Make sure config directory is created
Browse files Browse the repository at this point in the history
Signed-off-by: Louise Poubel <[email protected]>
  • Loading branch information
chapulina committed Sep 29, 2021
1 parent ad0ddc4 commit 76c6a28
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions src/cmd/ign.cc
Original file line number Diff line number Diff line change
Expand Up @@ -228,10 +228,14 @@ extern "C" int runGui(const char *_guiConfig)
app.Engine()->addImportPath(IGN_GAZEBO_GUI_PLUGIN_INSTALL_DIR);

// Set default config file for Gazebo
std::string defaultConfig;
ignition::common::env(IGN_HOMEDIR, defaultConfig);
defaultConfig = ignition::common::joinPaths(defaultConfig, ".ignition",
"gazebo", IGNITION_GAZEBO_MAJOR_VERSION_STR, "gui.config");
std::string defaultConfigDir;
ignition::common::env(IGN_HOMEDIR, defaultConfigDir);
defaultConfigDir = ignition::common::joinPaths(defaultConfig, ".ignition",
"gazebo", IGNITION_GAZEBO_MAJOR_VERSION_STR);

auto defaultConfig = ignition::common::joinPaths(defaultConfigDir,
"gui.config");

app.SetDefaultConfigPath(defaultConfig);

// Customize window
Expand Down Expand Up @@ -403,6 +407,23 @@ extern "C" int runGui(const char *_guiConfig)
{
auto installedConfig = ignition::common::joinPaths(
IGNITION_GAZEBO_GUI_CONFIG_PATH, "gui.config");

if (!ignition::common::createDirectories(defaultConfigDir))
{
ignerr << "Failed to create directory [" << defaultConfigDir
<< "]." << std::endl;
return -1;
}

if (!ignition::common::exists(installedConfig))
{
ignerr << "Failed to copy installed config [" << installedConfig
<< "] to default config [" << defaultConfig << "]."
<< "(file " << installedConfig << " doesn't exist)"
<< std::endl;
return -1;
}

if (!ignition::common::copyFile(installedConfig, defaultConfig))
{
ignerr << "Failed to copy installed config [" << installedConfig
Expand Down

0 comments on commit 76c6a28

Please sign in to comment.