diff --git a/CMakeLists.txt b/CMakeLists.txt index 93aff663..af0230e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -160,6 +160,8 @@ endif() add_subdirectory(src/configuration) add_subdirectory(src/libdramsys) +add_subdirectory(tools) + if(DRAMSYS_BUILD_CLI) add_subdirectory(src/simulator) endif() diff --git a/tests/tests_configuration/CMakeLists.txt b/tests/tests_configuration/CMakeLists.txt index 7ff84def..0eccb7f4 100644 --- a/tests/tests_configuration/CMakeLists.txt +++ b/tests/tests_configuration/CMakeLists.txt @@ -18,7 +18,3 @@ target_link_libraries(tests_configuration PRIVATE gtest_discover_tests(tests_configuration WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - -add_executable(jsonconverter ${CMAKE_CURRENT_SOURCE_DIR}/jsonconverter.cpp) -target_link_libraries(jsonconverter PRIVATE DRAMSys::config) -set_target_properties(jsonconverter PROPERTIES FOLDER tests/configuration) diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt new file mode 100644 index 00000000..4ffb4a2d --- /dev/null +++ b/tools/CMakeLists.txt @@ -0,0 +1,2 @@ +add_executable(json_converter json_converter.cpp) +target_link_libraries(json_converter PRIVATE DRAMSys::config) diff --git a/tests/tests_configuration/jsonconverter.cpp b/tools/json_converter.cpp similarity index 88% rename from tests/tests_configuration/jsonconverter.cpp rename to tools/json_converter.cpp index f764e9f7..22f2afed 100644 --- a/tests/tests_configuration/jsonconverter.cpp +++ b/tools/json_converter.cpp @@ -43,19 +43,25 @@ int main(int argc, char** argv) { if (argc < 2) { - std::cerr << "Must specify a simulation json as single argument.\n"; + std::cerr << "Must specify a simulation json.\n"; + return -1; + } + + if (argc < 3) + { + std::cerr << "Must specify the output json.\n"; return -1; } std::string pathToJson = argv[1]; - std::string resourceDirectory = argc <= 2 ? DRAMSYS_RESOURCE_DIR : argv[2]; + std::string resourceDirectory = argc <= 3 ? DRAMSYS_RESOURCE_DIR : argv[3]; auto configuration = DRAMSys::Config::from_path(pathToJson, resourceDirectory); nlohmann::json json; json["simulation"] = configuration; - std::ofstream output(pathToJson + "_converted.json"); + std::ofstream output(argv[2]); output << json.dump(4); return 0;