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.

64 lines
2.5 KiB

  1. cmake_minimum_required(VERSION 3.0.0)
  2. project(pystorm)
  3. find_package(storm REQUIRED)
  4. add_subdirectory(resources/pybind11)
  5. file(GLOB_RECURSE STORM_CORE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/core/*.cpp)
  6. pybind11_add_module(stormpy.core ${CMAKE_CURRENT_SOURCE_DIR}/src/mod_core.cpp ${STORM_CORE_SOURCES})
  7. target_include_directories(stormpy.core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${storm_INCLUDE_DIR})
  8. target_link_libraries(stormpy.core PRIVATE storm)
  9. file(GLOB_RECURSE STORM_INFO_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/info/*.cpp)
  10. pybind11_add_module(stormpy.info ${CMAKE_CURRENT_SOURCE_DIR}/src/mod_info.cpp ${STORM_INFO_SOURCES})
  11. target_include_directories(stormpy.info PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${storm_INCLUDE_DIR})
  12. target_link_libraries(stormpy.info PRIVATE storm)
  13. file(GLOB_RECURSE STORM_EXPRESSIONS_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/expressions/*.cpp)
  14. pybind11_add_module(stormpy.expressions ${CMAKE_CURRENT_SOURCE_DIR}/src/mod_expressions.cpp ${STORM_EXPRESSIONS_SOURCES})
  15. target_include_directories(stormpy.expressions PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${storm_INCLUDE_DIR})
  16. target_link_libraries(stormpy.expressions PRIVATE storm)
  17. file(GLOB_RECURSE STORM_LOGIC_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/logic/*.cpp)
  18. pybind11_add_module(stormpy.logic ${CMAKE_CURRENT_SOURCE_DIR}/src/mod_logic.cpp ${STORM_LOGIC_SOURCES})
  19. target_include_directories(stormpy.logic PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${storm_INCLUDE_DIR})
  20. target_link_libraries(stormpy.logic PRIVATE storm)
  21. file(GLOB_RECURSE STORM_STORAGE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/storage/*.cpp)
  22. pybind11_add_module(stormpy.storage ${CMAKE_CURRENT_SOURCE_DIR}/src/mod_storage.cpp ${STORM_STORAGE_SOURCES})
  23. target_include_directories(stormpy.storage PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${storm_INCLUDE_DIR})
  24. target_link_libraries(stormpy.storage PRIVATE storm)
  25. #set(STORMPY_OUTPUT_DIR "${PROJECT_BINARY_DIR}/stormpy")
  26. #set(STORMPY_SOURCE_DIR "${PROJECT_SOURCE_DIR}/stormpy")
  27. #
  28. #if(STORM_HAVE_CLN)
  29. # set(STORMPY_USE_CLN 1)
  30. #else()
  31. # set(STORMPY_USE_CLN 0)
  32. #endif()
  33. #
  34. ## Set configuration file
  35. #get_directory_property(STORMPY_INCLUDE_DIRS_PROP INCLUDE_DIRECTORIES)
  36. #foreach(arg ${STORMPY_INCLUDE_DIRS_PROP})
  37. # set(STORMPY_INCLUDE_DIRS "${STORMPY_INCLUDE_DIRS}${sep}${arg}")
  38. # set(sep ":")
  39. #endforeach()
  40. #set(STORMPY_COMPILE_ARGS ${CMAKE_CXX_FLAGS})
  41. #set(STORMPY_LIBRARY_DIRS "${PROJECT_BINARY_DIR}/src/storm")
  42. #set(STORMPY_RPATH "${PROJECT_BINARY_DIR}/src/storm")
  43. #configure_file (
  44. # "${PROJECT_SOURCE_DIR}/stormpy/setup.cfg.in"
  45. # "${PROJECT_SOURCE_DIR}/stormpy/setup.cfg"
  46. #)
  47. #