You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

80 lines
2.0 KiB

set(SOURCES
lace.c
sha2.c
sylvan_bdd.c
sylvan_cache.c
sylvan_common.c
sylvan_gmp.c
sylvan_ldd.c
sylvan_mt.c
sylvan_mtbdd.c
sylvan_obj.cpp
sylvan_refs.c
sylvan_sl.c
sylvan_stats.c
sylvan_table.c
storm_wrapper.cpp
sylvan_storm_rational_function.c
sylvan_storm_rational_number.c
)
set(HEADERS
lace.h
sylvan.h
sylvan_bdd.h
sylvan_cache.h
sylvan_config.h
sylvan_common.h
sylvan_gmp.h
sylvan_int.h
sylvan_ldd.h
sylvan_ldd_int.h
sylvan_mt.h
sylvan_mtbdd.h
sylvan_mtbdd_int.h
sylvan_obj.hpp
sylvan_stats.h
sylvan_table.h
sylvan_tls.h
storm_wrapper.h
sylvan_bdd_storm.h
sylvan_mtbdd_storm.h
sylvan_storm_rational_function.h
sylvan_storm_rational_number.h
)
option(BUILD_SHARED_LIBS "Enable/disable creation of shared libraries" ON)
option(BUILD_STATIC_LIBS "Enable/disable creation of static libraries" ON)
add_library(sylvan ${SOURCES})
find_package(GMP REQUIRED)
include_directories(sylvan ${GMP_INCLUDE_DIR})
target_link_libraries(sylvan m pthread ${GMP_LIBRARIES})
if(UNIX AND NOT APPLE)
target_link_libraries(sylvan rt)
endif()
option(SYLVAN_STATS "Collect statistics" OFF)
if(SYLVAN_STATS)
set_target_properties(sylvan PROPERTIES COMPILE_DEFINITIONS "SYLVAN_STATS")
endif()
install(TARGETS sylvan DESTINATION "${CMAKE_INSTALL_LIBDIR}")
install(FILES ${HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
# MODIFICATIONS NEEDED MADE FOR STORM
# We need to make sure that the binary is put into a folder that is independent of the
# build type. Otherwise -- for example when using Xcode -- the binary might end up in a
# sub-folder "Debug" or "Release".
set_target_properties(sylvan PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_BINARY_DIR}
ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_BINARY_DIR})
if(USE_CARL)
message(STATUS "Sylvan - linking CArL.")
target_link_libraries(sylvan ${carl_LIBRARIES})
endif(USE_CARL)