Browse Source

move cli stuff from storm lib to an own small lib

tempestpy_adaptions
sjunges 7 years ago
parent
commit
e718acffba
  1. 1
      src/CMakeLists.txt
  2. 40
      src/storm-cli-utilities/CMakeLists.txt
  3. 6
      src/storm-cli-utilities/cli.cpp
  4. 0
      src/storm-cli-utilities/cli.h
  5. 2
      src/storm-dft-cli/CMakeLists.txt
  6. 4
      src/storm-dft-cli/storm-dyftee.cpp
  7. 2
      src/storm-dft/modelchecker/dft/DFTModelChecker.cpp
  8. 2
      src/storm-gspn-cli/CMakeLists.txt
  9. 4
      src/storm-gspn-cli/storm-gspn.cpp
  10. 2
      src/storm-pgcl-cli/CMakeLists.txt
  11. 2
      src/storm-pgcl-cli/storm-pgcl.cpp
  12. 2
      src/storm/CMakeLists.txt
  13. 2
      src/storm/storm.cpp

1
src/CMakeLists.txt

@ -5,6 +5,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
add_custom_target(binaries)
add_subdirectory(storm)
add_subdirectory(storm-cli-utilities)
add_subdirectory(storm-pgcl)
add_subdirectory(storm-pgcl-cli)
add_subdirectory(storm-gspn)

40
src/storm-cli-utilities/CMakeLists.txt

@ -0,0 +1,40 @@
file(GLOB_RECURSE ALL_FILES ${PROJECT_SOURCE_DIR}/src/storm-cli-utilities/*.h ${PROJECT_SOURCE_DIR}/src/storm-cli-utilities/*.cpp)
register_source_groups_from_filestructure("${ALL_FILES}" storm-cli-utilities)
file(GLOB_RECURSE STORM_CLI_UTIL_SOURCES ${PROJECT_SOURCE_DIR}/src/storm-cli-utilities/*.cpp)
file(GLOB_RECURSE STORM_CLI_UTIL_HEADERS ${PROJECT_SOURCE_DIR}/src/storm-cli-utilities/*.h)
# Create storm-pars.
add_library(storm-cli-utilities SHARED ${STORM_CLI_UTIL_SOURCES} ${STORM_CLI_UTIL_HEADERS})
# Remove define symbol for shared libstorm.
set_target_properties(storm-cli-utilities PROPERTIES DEFINE_SYMBOL "")
#add_dependencies(storm resources)
list(APPEND STORM_TARGETS storm-cli-utilities)
set(STORM_TARGETS ${STORM_TARGETS} PARENT_SCOPE)
target_link_libraries(storm-cli-utilities PUBLIC storm)
# Install storm headers to include directory.
foreach(HEADER ${STORM_CLI_UTIL_HEADERS})
string(REGEX REPLACE "${PROJECT_SOURCE_DIR}/src/?" "" RELATIVE_HEADER_PATH ${HEADER})
string(REGEX MATCH "(.*)[/\\]" RELATIVE_DIRECTORY ${RELATIVE_HEADER_PATH})
string(REGEX REPLACE "${RELATIVE_DIRECTORY}/?" "" HEADER_FILENAME ${RELATIVE_HEADER_PATH})
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/include/${RELATIVE_DIRECTORY}${HEADER_FILENAME}
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/include/${RELATIVE_DIRECTORY}
COMMAND ${CMAKE_COMMAND} -E copy ${HEADER} ${CMAKE_BINARY_DIR}/include/${RELATIVE_DIRECTORY}${HEADER_FILENAME}
DEPENDS ${HEADER}
)
list(APPEND STORM_CLI_UTIL_OUTPUT_HEADERS "${CMAKE_BINARY_DIR}/include/${RELATIVE_DIRECTORY}${HEADER_FILENAME}")
endforeach()
add_custom_target(copy_storm_cli_util_headers DEPENDS ${STORM_CLI_UTIL_OUTPUT_HEADERS} ${STORM_CLI_UTIL_HEADERS})
add_dependencies(storm-cli-utilities copy_storm_pars_headers)
# installation
install(TARGETS storm-cli-utilities RUNTIME DESTINATION bin LIBRARY DESTINATION lib OPTIONAL)

6
src/storm/cli/cli.cpp → src/storm-cli-utilities/cli.cpp

@ -1,4 +1,4 @@
#include "storm/cli/cli.h"
#include "cli.h"
#include "storm/storage/SymbolicModelDescription.h"
@ -65,12 +65,12 @@ namespace storm {
storm::utility::setUp();
storm::cli::printHeader("Storm", argc, argv);
storm::settings::initializeAll("Storm", "storm");
storm::utility::Stopwatch totalTimer(true);
if (!storm::cli::parseOptions(argc, argv)) {
return -1;
}
processOptions();
totalTimer.stop();

0
src/storm/cli/cli.h → src/storm-cli-utilities/cli.h

2
src/storm-dft-cli/CMakeLists.txt

@ -1,6 +1,6 @@
# Create storm-dft.
add_executable(storm-dft-cli ${PROJECT_SOURCE_DIR}/src/storm-dft-cli/storm-dyftee.cpp)
target_link_libraries(storm-dft-cli storm-dft) # Adding headers for xcode
target_link_libraries(storm-dft-cli storm-dft storm-cli-utilities) # Adding headers for xcode
set_target_properties(storm-dft-cli PROPERTIES OUTPUT_NAME "storm-dft")
add_dependencies(binaries storm-dft-cli)

4
src/storm-dft-cli/storm-dyftee.cpp

@ -1,12 +1,12 @@
#include "storm/logic/Formula.h"
#include "storm/utility/initialize.h"
#include "storm/api/storm.h"
#include "storm/cli/cli.h"
#include "storm-cli-utilities/cli.h"
#include "storm/exceptions/BaseException.h"
#include "storm/logic/Formula.h"
#include "storm/settings/modules/GeneralSettings.h"
#include "storm/settings/modules/IOSettings.h"
#include "storm/settings/modules/CoreSettings.h"
#include "storm/settings/modules/DebugSettings.h"
#include "storm/settings/modules/GmmxxEquationSolverSettings.h"

2
src/storm-dft/modelchecker/dft/DFTModelChecker.cpp

@ -1,5 +1,6 @@
#include "DFTModelChecker.h"
#include "storm/settings/modules/IOSettings.h"
#include "storm/builder/ParallelCompositionBuilder.h"
#include "storm/utility/bitoperations.h"
#include "storm/utility/DirectEncodingExporter.h"
@ -357,6 +358,7 @@ namespace storm {
explorationTimer.stop();
// Export the model if required
// TODO move this outside of the model checker?
if (storm::settings::getModule<storm::settings::modules::IOSettings>().isExportExplicitSet()) {
std::ofstream stream;
storm::utility::openFile(storm::settings::getModule<storm::settings::modules::IOSettings>().getExportExplicitFilename(), stream);

2
src/storm-gspn-cli/CMakeLists.txt

@ -1,5 +1,5 @@
add_executable(storm-gspn-cli ${PROJECT_SOURCE_DIR}/src/storm-gspn-cli/storm-gspn.cpp)
target_link_libraries(storm-gspn-cli storm-gspn) # Adding headers for xcode
target_link_libraries(storm-gspn-cli storm-gspn storm-cli-utilities) # Adding headers for xcode
set_target_properties(storm-gspn-cli PROPERTIES OUTPUT_NAME "storm-gspn")
add_dependencies(binaries storm-gspn-cli)

4
src/storm-gspn-cli/storm-gspn.cpp

@ -12,7 +12,7 @@
#include "storm/utility/initialize.h"
#include "api/storm.h"
#include "storm/cli/cli.h"
#include "storm-cli-utilities/cli.h"
#include "storm/parser/FormulaParser.h"
@ -27,7 +27,7 @@
#include "storm/exceptions/FileIoException.h"
#include "storm/settings/modules/GeneralSettings.h"
#include "storm/settings/modules/IOSettings.h"
#include "storm/settings/modules/GSPNSettings.h"
#include "storm/settings/modules/GSPNExportSettings.h"
#include "storm/settings/modules/CoreSettings.h"

2
src/storm-pgcl-cli/CMakeLists.txt

@ -1,5 +1,5 @@
add_executable(storm-pgcl-cli ${PROJECT_SOURCE_DIR}/src/storm-pgcl-cli/storm-pgcl.cpp)
target_link_libraries(storm-pgcl-cli storm-pgcl)
target_link_libraries(storm-pgcl-cli storm-pgcl storm-cli-utilities)
set_target_properties(storm-pgcl-cli PROPERTIES OUTPUT_NAME "storm-pgcl")
# installation

2
src/storm-pgcl-cli/storm-pgcl.cpp

@ -2,7 +2,7 @@
#include "logic/Formula.h"
#include "utility/initialize.h"
#include "storm/cli/cli.h"
#include "storm-cli-utilities/cli.h"
#include "storm/exceptions/BaseException.h"
#include "storm/utility/macros.h"
#include <boost/lexical_cast.hpp>

2
src/storm/CMakeLists.txt

@ -49,7 +49,7 @@ set(STORM_TARGETS ${STORM_TARGETS} PARENT_SCOPE)
# Create storm.
add_executable(storm-main ${STORM_MAIN_SOURCES} ${STORM_MAIN_HEADERS})
target_link_libraries(storm-main PUBLIC storm)
target_link_libraries(storm-main PUBLIC storm storm-cli-utilities)
set_target_properties(storm-main PROPERTIES OUTPUT_NAME "storm")
# Install storm headers to include directory.

2
src/storm/storm.cpp

@ -1,7 +1,7 @@
#include "storm/utility/macros.h"
#include "storm/exceptions/BaseException.h"
#include "storm/cli/cli.h"
#include "storm-cli-utilities/cli.h"
/*!
* Main entry point of the executable storm.

Loading…
Cancel
Save