@ -22,22 +22,23 @@ option(STORM_DEBUG "Sets whether the DEBUG mode is used" ON)
option ( STORM_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 )
option ( STORM_USE_INTELTBB "Sets whether the Intel TBB libraries should be used." OFF )
option ( STORM_USE_GUROBI "Sets whether Gurobi should be used." OFF )
option ( STORM_USE_COTIRE "Sets whether Cotire should be used (for building precompiled headers)." OFF )
option ( LINK_LIBCXXABI "Sets whether libc++abi should be linked." OFF )
option ( USE_LIBCXX "Sets whether the standard library is libc++." OFF )
option ( USE_CARL "Sets whether carl should be included." ON )
option ( USE_XERCES "Sets whether xerces should be used." OFF )
option ( FORCE_COLOR "Force color output" OFF )
option ( STORM_COMPILE_WITH_CCACHE "Compile using CCache" ON )
option ( STORM_LOGGING_FRAMEWORK "Use a framework for logging" OFF )
option ( STORM_LOG_DISABLE_DEBUG "Disable log and trace message support" OFF )
set ( BOOST_ROOT "" CACHE STRING "A hint to the root directory of Boost (optional)." )
set ( GUROBI_ROOT "" CACHE STRING "A hint to the root directory of Gurobi (optional)." )
set ( Z3_ROOT "" CACHE STRING "A hint to the root directory of Z3 (optional)." )
set ( CUDA_ROOT "" CACHE STRING "The root directory of CUDA." )
set ( MSAT_ROOT "" CACHE STRING "The root directory of MathSAT (if available )." )
set ( CUDA_ROOT "" CACHE STRING "The hint to the root directory of CUDA (optional) ." )
set ( MSAT_ROOT "" CACHE STRING "The hint to the root directory of MathSAT (optional )." )
set ( ADDITIONAL_INCLUDE_DIRS "" CACHE STRING "Additional directories added to the include directories." )
set ( ADDITIONAL_LINK_DIRS "" CACHE STRING "Additional directories added to the link directories." )
set ( CUSTOM_BOOST_ROOT "" CACHE STRING "A custom path to the Boost root directory." )
set ( STORM_SUPPORT_XML_INPUT_FORMATS 0 )
# I f t h e D E B U G o p t i o n w a s t u r n e d o n , w e w i l l t a r g e t a d e b u g v e r s i o n a n d a r e l e a s e v e r s i o n o t h e r w i s e .
if ( STORM_DEBUG )
@ -177,20 +178,42 @@ endif()
message ( STATUS "StoRM - Using Compiler Configuration: ${STORM_COMPILED_BY}" )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # I n c l u s i o n o f r e q u i r e d l i b r a r i e s
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # I n c l u d e t h e t a r g e t s f o r n o n - s y s t e m r e s o u r c e s
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# I n 3 r d p a r t y , t a r g e t s a r e b e i n g d e f i n e d t h a t c a n b e u s e d
# i n t h e t h e s y s t e m d o e s n o t h a v e a l i b r a r y
add_subdirectory ( resources/3rdparty )
# A d d t h e v e r s i o n o f G M M i n t h e r e p o s i t o r y t o t h e i n c l u d e p a t h e s
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # g m m
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# A d d t h e s h i p p e d v e r s i o n o f G M M t o t h e i n c l u d e p a t h e s
set ( GMMXX_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/resources/3rdparty/gmm-5.0/include" )
include_directories ( ${ GMMXX_INCLUDE_DIR } )
find_package ( GMP )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # g m p
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# G M P i s optional ( unless MathSAT is used, see below )
find_package ( GMP QUIET )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
@ -203,32 +226,26 @@ set(Boost_USE_STATIC_LIBS ON)
set ( Boost_USE_MULTITHREADED ON )
set ( Boost_USE_STATIC_RUNTIME OFF )
# I f a c u s t o m b o o s t r o o t d i r e c t o r y w a s s p e c i f i e d , w e s e t t h e c o r r e s p o n d i n g h i n t f o r t h e s c r i p t t o f i n d i t .
if ( CUSTOM_BOOST_ROOT )
message ( STATUS "StoRM - Using Boost from CUSTOM_BOOST_ROOT located at ${CUSTOM_BOOST_ROOT}" )
set ( BOOST_ROOT "${CUSTOM_BOOST_ROOT}" )
endif ( CUSTOM_BOOST_ROOT )
find_package ( Boost 1.56.0 REQUIRED )
find_package ( Boost 1.56.0 REQUIRED QUIET )
if ( ( NOT Boost_LIBRARY_DIRS ) OR ( "${Boost_LIBRARY_DIRS}" STREQUAL "" ) )
set ( Boost_LIBRARY_DIRS "${Boost_INCLUDE_DIRS}/stage/lib" )
endif ( )
link_directories ( ${ Boost_LIBRARY_DIRS } )
include_directories ( ${ Boost_INCLUDE_DIRS } )
list ( APPEND STORM_LINK_LIBRARIES ${ Boost_LIBRARIES } )
# message ( STATUS "BOOST_INCLUDE_DIRS is ${Boost_INCLUDE_DIRS}" )
# message ( STATUS "BOOST_LIBRARY_DIRS is ${Boost_LIBRARY_DIRS}" )
message ( STATUS "StoRM - Using Boost ${Boost_VERSION} (lib ${Boost_LIB_VERSION})" )
# message ( STATUS "StoRM - BOOST_INCLUDE_DIRS is ${Boost_INCLUDE_DIRS}" )
# message ( STATUS "StoRM - BOOST_LIBRARY_DIRS is ${Boost_LIBRARY_DIRS}" )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # E x p r T k
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# U s e t h e s h i p p e d v e r s i o n o f E x p r T K
message ( STATUS "StoRM - Including ExprTk" )
include_directories ( "${PROJECT_SOURCE_DIR}/resources/3rdparty/exprtk" )
@ -243,14 +260,11 @@ find_package(Z3 QUIET)
# Z 3 D e f i n e s
set ( STORM_HAVE_Z3 ${ Z3_FOUND } )
if ( STORM_HAVE_ Z3)
if ( Z3_FOUND )
message ( STATUS "StoRM - Linking with Z3" )
include_directories ( ${ Z3_INCLUDE_DIRS } )
list ( APPEND STORM_LINK_LIBRARIES ${ Z3_LIBRARIES } )
endif ( STORM_HAVE_Z3 )
endif ( Z3_FOUND )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
@ -258,40 +272,241 @@ endif(STORM_HAVE_Z3)
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
set ( STORM_HAVE_GLPK 1 )
message ( STATUS "StoRM - Linking with glpk" )
find_package ( GLPK QUIET )
if ( GLPK_FOUND )
message ( STATUS "StoRM - Using system version of GLPK" )
else ( )
message ( STATUS "StoRM - Using shipped version of GLPK" )
set ( GLPK_LIBRARIES ${ CMAKE_BINARY_DIR } /resources/3rdparty/glpk-4.57/lib/libglpk ${ DYNAMIC_EXT } )
set ( GLPK_INCLUDE_DIR ${ CMAKE_BINARY_DIR } /resources/3rdparty/glpk-4.57/include )
add_dependencies ( resources glpk )
endif ( )
# S i n c e t h e r e i s a s h i p p e d v e r s i o n , a l w a y s u s e G L P K
set ( STORM_HAVE_GLPK ON )
message ( STATUS "StoRM - Linking with glpk" )
include_directories ( ${ GLPK_INCLUDE_DIR } )
list ( APPEND STORM_LINK_LIBRARIES ${ GLPK_LIBRARIES } )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # Gurobi ( optional )
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
if ( STORM_USE_GUROBI )
find_package ( Gurobi REQUIRED QUIET )
set ( STORM_HAVE_GUROBI ${ GUROBI_FOUND } )
if ( GUROBI_FOUND )
message ( STATUS "StoRM - Linking with Gurobi" )
include_directories ( ${ GUROBI_INCLUDE_DIRS } )
list ( APPEND STORM_LINK_LIBRARIES ${ GUROBI_LIBRARY } )
# link_directories ( "${GUROBI_ROOT}/lib" )
else ( )
# message ( FATAL_ERROR "StoRM - Gurobi was requested, but not found!" )
endif ( )
else ( )
set ( STORM_HAVE_GUROBI OFF )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # Gurobi ( optional )
# # C U D D
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# D o n o t u s e s y s t e m C U D D , S t o R M h a s a m o d i f i e d v e r s i o n
# find_package ( CUDD QUIET )
# set ( CUDD_FOUND OFF )
if ( CUDD_FOUND )
list ( APPEND STORM_LINK_LIBRARIES ${ CUDD_LIBRARY } )
else ( )
set ( CUDD_INCLUDE_DIR ${ CMAKE_CURRENT_BINARY_DIR } /cudd-3.0.0/include )
set ( CUDD_SHARED_LIBRARY ${ CMAKE_CURRENT_BINARY_DIR } /cudd-3.0.0/lib/libcudd ${ DYNAMIC_EXT } )
set ( CUDD_STATIC_LIBRARY ${ CMAKE_CURRENT_BINARY_DIR } /cudd-3.0.0/liblibcudd ${ STATIC_EXT } )
list ( APPEND STORM_LINK_LIBRARIES ${ CUDD_SHARED_LIBRARY } )
add_dependencies ( resources cudd3 )
endif ( )
message ( STATUS "StoRM - Linking with CUDD" )
# message ( "StoRM - CUDD include dir: ${CUDD_INCLUDE_DIR}" )
include_directories ( ${ CUDD_INCLUDE_DIR } )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # c a r l
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
set ( STORM_HAVE_CARL OFF )
if ( USE_CARL )
find_package ( carl QUIET REQUIRED )
if ( carl_FOUND )
set ( STORM_HAVE_CARL ON )
message ( STATUS "StoRM - Linking with carl." )
include_directories ( "${carl_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES ${ carl_LIBRARIES } )
else ( )
# message ( FATAL_ERROR "StoRM - CARL was requested but not found"
endif ( )
# find_package ( smtrat QUIET )
if ( smtrat_FOUND )
endif ( )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # S M T - R A T
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# N o f i n d r o u t i n e y e t
# find_package ( smtrat QUIET )
# N o t y e t s u p p o r t e d
set ( smtrat_FOUND OFF )
set ( STORM_HAVE_SMTRAT OFF )
if ( smtrat_FOUND )
set ( STORM_HAVE_SMTRAT ON )
message ( STATUS "StoRM - Linking with smtrat." )
include_directories ( "${smtrat_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES ${ smtrat_LIBRARIES } )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # MathSAT ( optional )
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
find_package ( Gurobi )
if ( "${GUROBI_ROOT}" STREQUAL "" AND NOT GUROBI_FOUND )
set ( ENABLE_GUROBI OFF )
if ( "${MSAT_ROOT}" STREQUAL "" )
set ( ENABLE_MSAT OFF )
else ( )
set ( ENABLE_GUROBI ON )
set ( ENABLE_MSAT ON )
endif ( )
# G u r o b i D e f i n e s
set ( STORM_HAVE_GUROBI ${ ENABLE_GUROBI } )
if ( ENABLE_GUROBI )
if ( NOT GUROBI_FOUND )
message ( FATAL_ERROR "Gurobi was requested, but not found!" )
endif ( )
message ( STATUS "StoRM - Linking with Gurobi (include: ${GUROBI_INCLUDE_DIRS})" )
include_directories ( ${ GUROBI_INCLUDE_DIRS } )
list ( APPEND STORM_LINK_LIBRARIES ${ GUROBI_LIBRARY } )
# link_directories ( "${GUROBI_ROOT}/lib" )
# M a t h S A T D e f i n e s
set ( STORM_HAVE_MSAT ${ ENABLE_MSAT } )
if ( ENABLE_MSAT )
message ( STATUS "StoRM - Linking with MathSAT" )
link_directories ( "${MSAT_ROOT}/lib" )
include_directories ( "${MSAT_ROOT}/include" )
list ( APPEND STORM_LINK_LIBRARIES "mathsat" )
if ( GMP_FOUND )
include_directories ( "${GMP_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES "gmp" )
elseif ( MPIR_FOUND )
include_directories ( "${GMP_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES "mpir" "mpirxx" )
else ( GMP_FOUND )
message ( FATAL_ERROR "GMP is required for MathSAT, but was not found!" )
endif ( GMP_FOUND )
endif ( ENABLE_MSAT )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # X e r c e s
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
if ( USE_XERCES )
find_package ( Xerces QUIET )
if ( XERCES_FOUND )
message ( STATUS "StoRM - Use system version of xerces" )
else ( )
message ( STATUS "StoRM - Use shipped version of xerces" )
set ( XERCES_ROOT ${ CMAKE_BINARY_DIR } /resources/3rdparty/xercesc-3.1.2 )
set ( XERCESC_INCLUDE ${ XERCES_ROOT } /include )
set ( XERCES_LIBRARY_PATH ${ XERCES_ROOT } /lib )
set ( XERCESC_LIBRARIES ${ XERCES_LIBRARY_PATH } /libxerces-c.a )
add_dependencies ( resources xercesc )
endif ( )
message ( STATUS "StoRM - Linking with xercesc" )
set ( STORM_HAVE_XERCES ON )
include_directories ( ${ XERCESC_INCLUDE } )
list ( APPEND STORM_LINK_LIBRARIES ${ XERCESC_LIBRARIES } )
endif ( USE_XERCES )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # S y l v a n
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
message ( STATUS "StoRM - Using shipped version of sylvan" )
message ( STATUS "StoRM - Linking with sylvan" )
include_directories ( "${Sylvan_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES ${ Sylvan_LIBRARY } )
add_dependencies ( resources sylvan )
if ( ${ OPERATING_SYSTEM } MATCHES "Linux" )
find_package ( Hwloc QUIET REQUIRED )
if ( Hwloc_FOUND )
message ( STATUS "StoRM - Linking with hwloc" )
list ( APPEND STORM_LINK_LIBRARIES ${ Hwloc_LIBRARIES } )
else ( )
message ( FATAL_ERROR "HWLOC is required but was not found." )
endif ( )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # G o o g l e T e s t g t e s t
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
add_dependencies ( test-resources googletest )
list ( APPEND STORM_TEST_LINK_LIBRARIES ${ GTEST_LIBRARIES } )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # I n t e l T h r e a d i n g B u i l d i n g Blocks ( optional )
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
set ( STORM_HAVE_INTELTBB OFF )
if ( STORM_USE_INTELTBB )
# P o i n t t o s h i p p e d T B B d i r e c t o r y
set ( TBB_INSTALL_DIR "${PROJECT_SOURCE_DIR}/resources/3rdparty/tbb42_20140122_merged-win-lin-mac" )
find_package ( TBB REQUIRED QUIET )
if ( TBB_FOUND )
message ( STATUS "StoRM - Found Intel TBB with interface version ${TBB_INTERFACE_VERSION}." )
message ( STATUS "StoRM - Linking with Intel TBB in ${TBB_LIBRARY_DIRS}." )
set ( STORM_HAVE_INTELTBB ON )
link_directories ( ${ TBB_LIBRARY_DIRS } )
include_directories ( ${ TBB_INCLUDE_DIRS } )
list ( APPEND STORM_LINK_LIBRARIES tbb tbbmalloc )
else ( TBB_FOUND )
message ( FATAL_ERROR "StoRM - TBB was requested, but not found!" )
endif ( TBB_FOUND )
endif ( STORM_USE_INTELTBB )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # T h r e a d s
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
find_package ( Threads REQUIRED QUIET )
include_directories ( ${ THREADS_INCLUDE_DIRS } )
list ( APPEND STORM_LINK_LIBRARIES ${ CMAKE_THREAD_LIBS_INIT } )
if ( STORM_USE_COTIRE )
target_link_libraries ( storm_unity ${ CMAKE_THREAD_LIBS_INIT } )
endif ( STORM_USE_COTIRE )
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" )
endif ( MSVC )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # C U D A L i b r a r y g e n e r a t i o n
@ -429,195 +644,6 @@ if(ENABLE_CUDA)
include_directories ( "${PROJECT_SOURCE_DIR}/cuda/kernels/" )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # C U D D
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
message ( "${CUDD3_INCLUDE_DIR}" )
include_directories ( ${ CUDD3_INCLUDE_DIR } )
list ( APPEND STORM_LINK_LIBRARIES ${ CUDD3_SHARED_LIBRARIES } )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # c a r l
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
if ( USE_CARL )
find_package ( carl QUIET )
if ( carl_FOUND )
set ( STORM_HAVE_CARL ON )
endif ( )
# find_package ( smtrat QUIET )
if ( smtrat_FOUND )
set ( STORM_HAVE_SMTRAT ON )
endif ( )
endif ( )
if ( STORM_HAVE_CARL )
message ( STATUS "StoRM - Linking with carl." )
include_directories ( "${carl_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES ${ carl_LIBRARIES } )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # S M T - R A T
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
if ( STORM_HAVE_SMTRAT )
message ( STATUS "StoRM - Linking with smtrat." )
include_directories ( "${smtrat_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES ${ smtrat_LIBRARIES } )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # MathSAT ( optional )
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
if ( "${MSAT_ROOT}" STREQUAL "" )
set ( ENABLE_MSAT OFF )
else ( )
set ( ENABLE_MSAT ON )
endif ( )
# M a t h S A T D e f i n e s
set ( STORM_HAVE_MSAT ${ ENABLE_MSAT } )
if ( ENABLE_MSAT )
link_directories ( "${MSAT_ROOT}/lib" )
message ( STATUS "StoRM - Linking with MathSAT" )
include_directories ( "${MSAT_ROOT}/include" )
list ( APPEND STORM_LINK_LIBRARIES "mathsat" )
if ( GMP_FOUND )
include_directories ( "${GMP_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES "gmp" )
elseif ( MPIR_FOUND )
include_directories ( "${GMP_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES "mpir" "mpirxx" )
else ( GMP_FOUND )
message ( FATAL_ERROR "GMP is required for MathSAT, but was not found!" )
endif ( GMP_FOUND )
endif ( ENABLE_MSAT )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # X e r c e s
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
if ( STORM_SUPPORT_XML_INPUT_FORMATS )
find_package ( Xerces )
if ( NOT XERCES_FOUND )
message ( STATUS "Use shipped version of xerces" )
set ( XERCES_ROOT ${ CMAKE_BINARY_DIR } /resources/3rdparty/xercesc-3.1.2 )
set ( XERCESC_INCLUDE ${ XERCES_ROOT } /include )
set ( XERCES_LIBRARY_PATH ${ XERCES_ROOT } /lib )
set ( XERCESC_LIBRARIES ${ XERCES_LIBRARY_PATH } /libxerces-c.a )
endif ( )
set ( STORM_HAVE_XERCES TRUE )
if ( STORM_HAVE_XERCES )
include_directories ( ${ XERCESC_INCLUDE } )
list ( APPEND STORM_LINK_LIBRARIES ${ XERCESC_LIBRARIES } )
endif ( )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # S y l v a n
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
message ( STATUS "Linking with shipped version of sylvan (in directory ${STORM_SYLVAN_ROOT})." )
include_directories ( "${Sylvan_INCLUDE_DIR}" )
list ( APPEND STORM_LINK_LIBRARIES ${ Sylvan_LIBRARY } )
if ( ${ OPERATING_SYSTEM } MATCHES "Linux" )
find_package ( Hwloc QUIET )
if ( NOT Hwloc_FOUND )
message ( SEND_ERROR "HWLOC is required but was not found." )
else ( )
list ( APPEND STORM_LINK_LIBRARIES ${ Hwloc_LIBRARIES } )
endif ( )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # G o o g l e T e s t g t e s t
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # L o g 4 C P l u s
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
if ( STORM_LOGGING_FRAMEWORK )
set ( BUILD_SHARED_LIBS OFF CACHE BOOL "If TRUE, log4cplus is built as a shared library, otherwise as a static library" )
set ( LOG4CPLUS_BUILD_LOGGINGSERVER OFF )
set ( LOG4CPLUS_BUILD_TESTING OFF )
set ( LOG4CPLUS_USE_UNICODE OFF )
set ( LOG4CPLUS_DEFINE_INSTALL_TARGET OFF )
add_subdirectory ( "${PROJECT_SOURCE_DIR}/resources/3rdparty/log4cplus-1.1.3-rc1" )
include_directories ( "${PROJECT_SOURCE_DIR}/resources/3rdparty/log4cplus-1.1.3-rc1/include" )
include_directories ( "${PROJECT_BINARY_DIR}/resources/3rdparty/log4cplus-1.1.3-rc1/include" ) # T h i s a d d s t h e d e f i n e s . h x x f i l e
list ( APPEND STORM_LINK_LIBRARIES log4cplusS )
if ( UNIX AND NOT APPLE )
list ( APPEND STORM_LINK_LIBRARIES rt )
endif ( UNIX AND NOT APPLE )
endif ( )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # I n t e l T h r e a d i n g B u i l d i n g Blocks ( optional )
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
set ( TBB_INSTALL_DIR "${PROJECT_SOURCE_DIR}/resources/3rdparty/tbb42_20140122_merged-win-lin-mac" )
find_package ( TBB )
set ( STORM_HAVE_INTELTBB 0 )
if ( TBB_FOUND )
message ( STATUS "StoRM - Found Intel TBB with interface version ${TBB_INTERFACE_VERSION}." )
if ( STORM_USE_INTELTBB )
set ( STORM_HAVE_INTELTBB 1 )
message ( STATUS "StoRM - Linking with Intel TBB in ${TBB_LIBRARY_DIRS}." )
link_directories ( ${ TBB_LIBRARY_DIRS } )
include_directories ( ${ TBB_INCLUDE_DIRS } )
list ( APPEND STORM_LINK_LIBRARIES tbb tbbmalloc )
endif ( STORM_USE_INTELTBB )
endif ( TBB_FOUND )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # T h r e a d s
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
find_package ( Threads REQUIRED )
include_directories ( ${ THREADS_INCLUDE_DIRS } )
list ( APPEND STORM_LINK_LIBRARIES ${ CMAKE_THREAD_LIBS_INIT } )
if ( STORM_USE_COTIRE )
target_link_libraries ( storm_unity ${ CMAKE_THREAD_LIBS_INIT } )
endif ( STORM_USE_COTIRE )
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" )
endif ( MSVC )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # C o t i r e
@ -665,7 +691,6 @@ if(DOXYGEN_FOUND)
add_custom_target ( doc ${ DOXYGEN_EXECUTABLE } "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" COMMENT "Generating API documentation with Doxygen" VERBATIM )
endif ( DOXYGEN_FOUND )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# # C M a k e - g e n e r a t e d C o n f i g F i l e f o r S t o R M