From 7cad8e1ee06b163ae581f9bdf2f4c3f3d56495a0 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Fri, 21 Apr 2017 00:40:18 +0200
Subject: [PATCH] [Input]   Take parameters from CWD

This allows us to remove the last boost::filesystem dependency, and
thus all of boost. It seems to be a better idea than hardcoding the
path to the source directory (which might be unavailable later) anyway
---
 CMakeLists.txt                                |  2 --
 src/CMakeLists.txt                            | 10 -------
 .../parset-2D.cfg => one-body-problem-2D.cfg} |  0
 .../parset-3D.cfg => one-body-problem-3D.cfg} |  0
 src/one-body-problem.cc                       | 27 +++++--------------
 .../parset.cfg => one-body-problem.cfg}       |  0
 6 files changed, 6 insertions(+), 33 deletions(-)
 rename src/{one-body-problem-data/parset-2D.cfg => one-body-problem-2D.cfg} (100%)
 rename src/{one-body-problem-data/parset-3D.cfg => one-body-problem-3D.cfg} (100%)
 rename src/{one-body-problem-data/parset.cfg => one-body-problem.cfg} (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26dfa659..5ac87d36 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,8 +18,6 @@ include(DuneMacros)
 # start a dune project with information from dune.module
 dune_project()
 
-set(Boost_USE_STATIC_LIBS ON)
-find_package(Boost REQUIRED system filesystem)
 set(HDF5_USE_STATIC_LIBRARIES ON)
 find_package(HDF5 COMPONENTS C REQUIRED)
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 75615672..44828564 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -26,12 +26,6 @@ set(UGW_SOURCE_FILES
   vtk.cc
 )
 
-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/one-body-problem-data")
-dune_symlink_to_source_files(FILES
-  "one-body-problem-data/parset.cfg"
-  "one-body-problem-data/parset-2D.cfg"
-  "one-body-problem-data/parset-3D.cfg")
-
 foreach(_dim 2 3)
   set(_sw_target one-body-problem-${_dim}D)
   set(_ugw_target uniform-grid-writer-${_dim}D)
@@ -41,10 +35,6 @@ foreach(_dim 2 3)
   add_dune_ug_flags(${_sw_target})
   add_dune_ug_flags(${_ugw_target})
 
-  set_property(TARGET ${_sw_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS})
-  target_link_libraries(${_sw_target} ${Boost_FILESYSTEM_LIBRARY})
-  target_link_libraries(${_sw_target} ${Boost_SYSTEM_LIBRARY})
-
   set_property(TARGET ${_sw_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${HDF5_INCLUDE_DIR})
   target_link_libraries(${_sw_target} ${HDF5_LIBRARIES})
 
diff --git a/src/one-body-problem-data/parset-2D.cfg b/src/one-body-problem-2D.cfg
similarity index 100%
rename from src/one-body-problem-data/parset-2D.cfg
rename to src/one-body-problem-2D.cfg
diff --git a/src/one-body-problem-data/parset-3D.cfg b/src/one-body-problem-3D.cfg
similarity index 100%
rename from src/one-body-problem-data/parset-3D.cfg
rename to src/one-body-problem-3D.cfg
diff --git a/src/one-body-problem.cc b/src/one-body-problem.cc
index 26bdc63b..e5da5529 100644
--- a/src/one-body-problem.cc
+++ b/src/one-body-problem.cc
@@ -12,9 +12,6 @@
 #include <iostream>
 #include <iomanip>
 
-#include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/path.hpp>
-
 #include <dune/common/bitsetvector.hh>
 #include <dune/common/exceptions.hh>
 #include <dune/common/fmatrix.hh>
@@ -28,6 +25,7 @@
 #include <dune/istl/bvector.hh>
 
 #include <dune/fufem/boundarypatch.hh>
+#include <dune/fufem/formatstring.hh>
 
 #include <dune/solvers/norms/energynorm.hh>
 #include <dune/solvers/solvers/loopsolver.hh>
@@ -62,31 +60,19 @@
 #include "vtk.hh"
 
 size_t const dims = MY_DIM;
-namespace fs = boost::filesystem;
 
-Dune::ParameterTree getParameters(int argc, char *argv[],
-                                  fs::path const &dataDirectory) {
+Dune::ParameterTree getParameters(int argc, char *argv[]) {
   Dune::ParameterTree parset;
-  std::string sharedParsetName("parset.cfg");
-  fs::path sharedParsetPath(dataDirectory / fs::path(sharedParsetName));
-  Dune::ParameterTreeParser::readINITree(sharedParsetPath.string(), parset);
-
-  std::string individualParsetName =
-      Dune::Fufem::formatString("parset-%dD.cfg", dims);
-  fs::path individualParsetPath(dataDirectory / fs::path(individualParsetName));
-  Dune::ParameterTreeParser::readINITree(individualParsetPath.string(), parset);
-
+  Dune::ParameterTreeParser::readINITree("one-body-problem.cfg", parset);
+  Dune::ParameterTreeParser::readINITree(
+      Dune::Fufem::formatString("one-body-problem-%dD.cfg", dims), parset);
   Dune::ParameterTreeParser::readOptions(argc, argv, parset);
-
   return parset;
 }
 
 int main(int argc, char *argv[]) {
   try {
-    auto const dataDirectory =
-        fs::system_complete(fs::path(argv[0])).parent_path() /
-        fs::path("one-body-problem-data");
-    auto const parset = getParameters(argc, argv, dataDirectory);
+    auto const parset = getParameters(argc, argv);
 
     MyGeometry::render();
     MyGeometry::write();
@@ -187,7 +173,6 @@ int main(int argc, char *argv[]) {
     auto const firstRestart = parset.get<size_t>("restarts.first");
     auto const restartSpacing = parset.get<size_t>("restarts.spacing");
     auto const restartTemplate = parset.get<std::string>("restarts.template");
-    auto const restartDirectory = fs::path(restartTemplate).parent_path();
 
     HDF5File ioFile("output.h5");
     if (firstRestart != 0)
diff --git a/src/one-body-problem-data/parset.cfg b/src/one-body-problem.cfg
similarity index 100%
rename from src/one-body-problem-data/parset.cfg
rename to src/one-body-problem.cfg
-- 
GitLab