Make tool out of json_converter

This commit is contained in:
2025-01-10 15:18:18 +01:00
parent 391b4cdb82
commit dc81bc008a
4 changed files with 13 additions and 7 deletions

View File

@@ -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()

View File

@@ -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)

2
tools/CMakeLists.txt Normal file
View File

@@ -0,0 +1,2 @@
add_executable(json_converter json_converter.cpp)
target_link_libraries(json_converter PRIVATE DRAMSys::config)

View File

@@ -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;