@ -90,6 +90,8 @@ elseif(MSVC)
message ( STATUS "Using MSVC" )
# r e q u i r e d f o r G M M t o c o m p i l e , u g l y e r r o r d i r e c t i v e i n t h e i r c o d e
add_definitions ( /D_SCL_SECURE_NO_DEPRECATE )
# r e q u i r e d a s t h e P R C T L P a r s e r b l o a t s o b j e c t files ( COFF ) b e y o n d t h e i r m a x i m u m size ( see http://msdn.microsoft.com/en-us/library/8578y171(v=vs.110 ) . a s p x )
add_definitions ( /bigobj )
else ( CLANG )
message ( STATUS "Using CLANG" )
# A s C L A N G i s n o t s e t a s a v a r i a b l e , w e n e e d t o s e t i t i n c a s e w e h a v e n o t m a t c h e d a n o t h e r c o m p i l e r .
@ -120,13 +122,19 @@ file(GLOB_RECURSE STORM_MAIN_FILE ${PROJECT_SOURCE_DIR}/src/storm.cpp)
set ( STORM_SOURCES "${STORM_SOURCES_WITHOUT_MAIN};${STORM_MAIN_FILE}" )
file ( GLOB_RECURSE STORM_ADAPTERS_FILES ${ PROJECT_SOURCE_DIR } /src/adapters/*.h ${ PROJECT_SOURCE_DIR } /src/adapters/*.cpp )
file ( GLOB_RECURSE STORM_EXCEPTIONS_FILES ${ PROJECT_SOURCE_DIR } /src/exceptions/*.h ${ PROJECT_SOURCE_DIR } /src/exceptions/*.cpp )
file ( GLOB_RECURSE STORM_FORMULA_FILES ${ PROJECT_SOURCE_DIR } /src/formula/*.h ${ PROJECT_SOURCE_DIR } /src/formula/*.cpp )
file ( GLOB STORM_FORMULA_FILES ${ PROJECT_SOURCE_DIR } /src/formula/*.h ${ PROJECT_SOURCE_DIR } /src/formula/*.cpp )
file ( GLOB_RECURSE STORM_FORMULA_ABSTRACT_FILES ${ PROJECT_SOURCE_DIR } /src/formula/abstract/*.h ${ PROJECT_SOURCE_DIR } /src/formula/abstract/*.cpp )
file ( GLOB_RECURSE STORM_FORMULA_CSL_FILES ${ PROJECT_SOURCE_DIR } /src/formula/Csl/*.h ${ PROJECT_SOURCE_DIR } /src/formula/Csl/*.cpp )
file ( GLOB_RECURSE STORM_FORMULA_LTL_FILES ${ PROJECT_SOURCE_DIR } /src/formula/Ltl/*.h ${ PROJECT_SOURCE_DIR } /src/formula/Ltl/*.cpp )
file ( GLOB_RECURSE STORM_FORMULA_PRCTL_FILES ${ PROJECT_SOURCE_DIR } /src/formula/Prctl/*.h ${ PROJECT_SOURCE_DIR } /src/formula/Prctl/*.cpp )
file ( GLOB_RECURSE STORM_MODELCHECKER_FILES ${ PROJECT_SOURCE_DIR } /src/modelchecker/*.h ${ PROJECT_SOURCE_DIR } /src/modelchecker/*.cpp )
file ( GLOB_RECURSE STORM_MODELS_FILES ${ PROJECT_SOURCE_DIR } /src/models/*.h ${ PROJECT_SOURCE_DIR } /src/models/*.cpp )
file ( GLOB_RECURSE STORM_PARSER_FILES ${ PROJECT_SOURCE_DIR } /src/parser/*.h ${ PROJECT_SOURCE_DIR } /src/parser/*.cpp )
file ( GLOB STORM_PARSER_FILES ${ PROJECT_SOURCE_DIR } /src/parser/*.h ${ PROJECT_SOURCE_DIR } /src/parser/*.cpp )
file ( GLOB_RECURSE STORM_PARSER_PRISMPARSER_FILES ${ PROJECT_SOURCE_DIR } /src/parser/prismparser/*.h ${ PROJECT_SOURCE_DIR } /src/parser/prismparser/*.cpp )
file ( GLOB_RECURSE STORM_STORAGE_FILES ${ PROJECT_SOURCE_DIR } /src/storage/*.h ${ PROJECT_SOURCE_DIR } /src/storage/*.cpp )
file ( GLOB_RECURSE STORM_UTILITY_FILES ${ PROJECT_SOURCE_DIR } /src/utility/*.h ${ PROJECT_SOURCE_DIR } /src/utility/*.cpp )
file ( GLOB_RECURSE STORM_IR_FILES ${ PROJECT_SOURCE_DIR } /src/ir/*.h ${ PROJECT_SOURCE_DIR } /src/ir/*.cpp )
file ( GLOB STORM_IR_FILES ${ PROJECT_SOURCE_DIR } /src/ir/*.h ${ PROJECT_SOURCE_DIR } /src/ir/*.cpp )
file ( GLOB_RECURSE STORM_IR_EXPRESSIONS_FILES ${ PROJECT_SOURCE_DIR } /src/ir/expressions/*.h ${ PROJECT_SOURCE_DIR } /src/ir/expressions/*.cpp )
# T e s t S o u r c e s
# N o t e t h a t t h e t e s t s a l s o n e e d t h e s o u r c e f i l e s , e x c e p t f o r t h e m a i n f i l e
@ -138,12 +146,18 @@ source_group(main FILES ${STORM_MAIN_FILE})
source_group ( adapters FILES ${ STORM_ADAPTERS_FILES } )
source_group ( exceptions FILES ${ STORM_EXCEPTIONS_FILES } )
source_group ( formula FILES ${ STORM_FORMULA_FILES } )
source_group ( formula\\abstract FILES ${ STORM_FORMULA_ABSTRACT_FILES } )
source_group ( formula\\csl FILES ${ STORM_FORMULA_CSL_FILES } )
source_group ( formula\\ltl FILES ${ STORM_FORMULA_LTL_FILES } )
source_group ( formula\\prctl FILES ${ STORM_FORMULA_PRCTL_FILES } )
source_group ( modelchecker FILES ${ STORM_MODELCHECKER_FILES } )
source_group ( models FILES ${ STORM_MODELS_FILES } )
source_group ( parser FILES ${ STORM_PARSER_FILES } )
source_group ( parser\\prismparser FILES ${ STORM_PARSER_PRISMPARSER_FILES } )
source_group ( storage FILES ${ STORM_STORAGE_FILES } )
source_group ( utility FILES ${ STORM_UTILITY_FILES } )
source_group ( ir FILES ${ STORM_IR_FILES } )
source_group ( ir\\expressions FILES ${ STORM_IR_EXPRESSIONS_FILES } )
source_group ( functional-test FILES ${ STORM_FUNCTIONAL_TEST_FILES } )
source_group ( performance-test FILES ${ STORM_PERFORMANCE_TEST_FILES } )
@ -236,6 +250,14 @@ target_link_libraries(storm ${Boost_LIBRARIES})
target_link_libraries ( storm-functional-tests ${ Boost_LIBRARIES } )
target_link_libraries ( storm-performance-tests ${ Boost_LIBRARIES } )
if ( MSVC )
# A d d t h e D e b u g H e l p e r D L L
set ( CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} Dbghelp.lib" )
target_link_libraries ( storm "Dbghelp.lib" )
target_link_libraries ( storm-functional-tests "Dbghelp.lib" )
target_link_libraries ( storm-performance-tests "Dbghelp.lib" )
endif ( MSVC )
if ( USE_INTELTBB )
target_link_libraries ( storm tbb tbbmalloc )
target_link_libraries ( storm-functional-tests tbb tbbmalloc )
@ -318,9 +340,16 @@ if (LOG4CPLUS_INCLUDE_DIR)
endif ( LOG4CPLUS_INCLUDE_DIR )
if ( CUDD_LIBRARY_DIRS )
if ( MSVC )
set ( cuddMsvcLibs "optimized" "${PROJECT_SOURCE_DIR}/resources/3rdparty/cudd-2.5.0/CUDD_Win32/x64/Release/CUDD_Win32.lib" "debug" "${PROJECT_SOURCE_DIR}/resources/3rdparty/cudd-2.5.0/CUDD_Win32/x64/Debug/CUDD_Win32.lib" )
target_link_libraries ( storm ${ cuddMsvcLibs } )
target_link_libraries ( storm-functional-tests ${ cuddMsvcLibs } )
target_link_libraries ( storm-performance-tests ${ cuddMsvcLibs } )
else ( )
target_link_libraries ( storm "-lobj -lcudd -lmtr -lst -lutil -lepd" )
target_link_libraries ( storm-functional-tests "-lobj -lcudd -lmtr -lst -lutil -lepd" )
target_link_libraries ( storm-performance-tests "-lobj -lcudd -lmtr -lst -lutil -lepd" )
endif ( )
endif ( CUDD_LIBRARY_DIRS )
if ( THREADS_FOUND )