diff --git a/CMakeLists.txt b/CMakeLists.txt index b19636778..8cf280117 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,13 +50,13 @@ option(USE_POPCNT "Sets whether the popcnt instruction is going to be used." ON) option(USE_BOOST_STATIC_LIBRARIES "Sets whether the Boost libraries should be linked statically." ON) # If the DEBUG option was turned on, we will target a debug version and a release version otherwise -#if (DEBUG) -# set (CMAKE_BUILD_TYPE "DEBUG") -# message(STATUS "Building DEBUG version.") -#else() -# set (CMAKE_BUILD_TYPE "RELEASE") -# message(STATUS "Building RELEASE version.") -#endif() +if (DEBUG) + set (CMAKE_BUILD_TYPE "DEBUG") + message(STATUS "Building DEBUG version.") +else() + set (CMAKE_BUILD_TYPE "RELEASE") + message(STATUS "Building RELEASE version.") +endif() message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") message(STATUS "CMAKE_BUILD_TYPE (ENV): $ENV{CMAKE_BUILD_TYPE}") @@ -152,14 +152,24 @@ add_executable(storm-tests ${STORM_TEST_SOURCES} ${STORM_TEST_HEADERS}) target_link_libraries(storm ${Boost_LIBRARIES}) target_link_libraries(storm-tests ${Boost_LIBRARIES}) -# Include Cotire for PCH Generation -set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/resources/cmake") -include(cotire) +set (STORM_USE_COTIRE ON) +if (APPLE) + set(STORM_USE_COTIRE OFF) +endif(APPLE) + +# Print Cotire Usage Status +message (STATUS "Using Cotire: ${STORM_USE_COTIRE}") -cotire(storm) -target_link_libraries(storm_unity ${Boost_LIBRARIES}) -#cotire(storm-tests) +if (STORM_USE_COTIRE) + # Include Cotire for PCH Generation + set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/resources/cmake") + include(cotire) + cotire(storm) + target_link_libraries(storm_unity ${Boost_LIBRARIES}) + #cotire(storm-tests) +endif() + # Add a target to generate API documentation with Doxygen if(DOXYGEN_FOUND) set(CMAKE_DOXYGEN_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/doc") @@ -187,27 +197,33 @@ endif(GTEST_INCLUDE_DIR) if (LOG4CPLUS_INCLUDE_DIR) include_directories(${LOG4CPLUS_INCLUDE_DIR}) target_link_libraries(storm ${LOG4CPLUS_LIBRARIES}) - target_link_libraries(storm_unity ${LOG4CPLUS_LIBRARIES}) + if (STORM_USE_COTIRE) + target_link_libraries(storm_unity ${LOG4CPLUS_LIBRARIES}) + endif(STORM_USE_COTIRE) target_link_libraries(storm-tests ${LOG4CPLUS_LIBRARIES}) # On Linux, we have to link against librt if (UNIX AND NOT APPLE) - target_link_libraries(storm rt) - target_link_libraries(storm_unity rt) - target_link_libraries(storm-tests rt) + target_link_libraries(storm rt) + if (STORM_USE_COTIRE) + target_link_libraries(storm_unity rt) + endif(STORM_USE_COTIRE) + target_link_libraries(storm-tests rt) endif(UNIX AND NOT APPLE) endif(LOG4CPLUS_INCLUDE_DIR) if (THREADS_FOUND) include_directories(${THREADS_INCLUDE_DIRS}) - target_link_libraries(storm ${CMAKE_THREAD_LIBS_INIT}) - target_link_libraries(storm_unity ${CMAKE_THREAD_LIBS_INIT}) + target_link_libraries(storm ${CMAKE_THREAD_LIBS_INIT}) + if (STORM_USE_COTIRE) + target_link_libraries(storm_unity ${CMAKE_THREAD_LIBS_INIT}) + endif(STORM_USE_COTIRE) target_link_libraries(storm-tests ${CMAKE_THREAD_LIBS_INIT}) endif(THREADS_FOUND) # Configure a header file to pass some of the CMake settings to the source code configure_file ( - "${PROJECT_SOURCE_DIR}/storm-config.h.in" - "${PROJECT_BINARY_DIR}/storm-config.h" + "${PROJECT_SOURCE_DIR}/storm-config.h.in" + "${PROJECT_BINARY_DIR}/storm-config.h" ) add_custom_target(memcheck valgrind --leak-check=full --show-reachable=yes ${PROJECT_BINARY_DIR}/storm -v --fix-deadlocks ${PROJECT_SOURCE_DIR}/examples/dtmc/crowds/crowds5_5.tra examples/dtmc/crowds/crowds5_5.lab diff --git a/src/formula/ReachabilityReward.h b/src/formula/ReachabilityReward.h index ad8171642..a725e202a 100644 --- a/src/formula/ReachabilityReward.h +++ b/src/formula/ReachabilityReward.h @@ -11,7 +11,6 @@ #include "src/formula/AbstractPathFormula.h" #include "src/formula/AbstractStateFormula.h" #include "src/formula/AbstractFormulaChecker.h" -#include "src/modelchecker/AbstractModelChecker.h" namespace storm { namespace formula { diff --git a/src/modelchecker/AbstractModelChecker.h b/src/modelchecker/AbstractModelChecker.h index 5e0920231..69bbeb9da 100644 --- a/src/modelchecker/AbstractModelChecker.h +++ b/src/modelchecker/AbstractModelChecker.h @@ -33,12 +33,19 @@ template class AbstractModelChecker : public virtual storm::formula::IApModelChecker, public virtual storm::formula::IAndModelChecker, + public virtual storm::formula::IOrModelChecker, + public virtual storm::formula::INotModelChecker, + public virtual storm::formula::IUntilModelChecker, public virtual storm::formula::IEventuallyModelChecker, public virtual storm::formula::IGloballyModelChecker, public virtual storm::formula::INextModelChecker, - public virtual storm::formula::INotModelChecker, - public virtual storm::formula::IOrModelChecker - { + public virtual storm::formula::IBoundedUntilModelChecker, + public virtual storm::formula::IBoundedEventuallyModelChecker, + public virtual storm::formula::INoBoundOperatorModelChecker, + public virtual storm::formula::IPathBoundOperatorModelChecker, + public virtual storm::formula::IReachabilityRewardModelChecker, + public virtual storm::formula::ICumulativeRewardModelChecker, + public virtual storm::formula::IInstantaneousRewardModelChecker { public: template