Browse Source

wip: new cmake for stormpy

main
sjunges 9 years ago
committed by Sebastian Junges
parent
commit
5583ab1a3b
  1. 92
      stormpy/CMakeLists.txt

92
stormpy/CMakeLists.txt

@ -1,39 +1,53 @@
set(STORMPY_OUTPUT_DIR "${PROJECT_BINARY_DIR}/stormpy") cmake_minimum_required(VERSION 3.0.0)
set(STORMPY_SOURCE_DIR "${PROJECT_SOURCE_DIR}/stormpy") project(pystorm)
find_package(storm REQUIRED)
if(STORM_HAVE_CLN) add_subdirectory(resources/pybind11)
set(STORMPY_USE_CLN 1) file(GLOB_RECURSE PYCARL_CORE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/core/*.cpp)
else() pybind11_add_module(pycarl.core ${CMAKE_CURRENT_SOURCE_DIR}/src/mod_core.cpp ${PYCARL_CORE_SOURCES})
set(STORMPY_USE_CLN 0) target_include_directories(pycarl.core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
endif() target_link_libraries(pycarl.core PRIVATE lib_carl)
file(GLOB_RECURSE PYCARL_CORE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/formula/*.cpp)
# Set configuration file pybind11_add_module(pycarl.formula ${CMAKE_CURRENT_SOURCE_DIR}/src/mod_formula.cpp ${PYCARL_FORMULA_SOURCES})
get_directory_property(STORMPY_INCLUDE_DIRS_PROP INCLUDE_DIRECTORIES) target_include_directories(pycarl.formula PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
foreach(arg ${STORMPY_INCLUDE_DIRS_PROP}) target_link_libraries(pycarl.formula PRIVATE lib_carl)
set(STORMPY_INCLUDE_DIRS "${STORMPY_INCLUDE_DIRS}${sep}${arg}") file(GLOB_RECURSE PYCARL_CORE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/parse/*.cpp)
set(sep ":") pybind11_add_module(pycarl.parse ${CMAKE_CURRENT_SOURCE_DIR}/src/mod_parse.cpp ${PYCARL_PARSE_SOURCES})
endforeach() target_include_directories(pycarl.parse PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
set(STORMPY_COMPILE_ARGS ${CMAKE_CXX_FLAGS}) target_link_libraries(pycarl.parse PRIVATE lib_carl)
set(STORMPY_LIBRARY_DIRS "${PROJECT_BINARY_DIR}/src/storm") #set(STORMPY_OUTPUT_DIR "${PROJECT_BINARY_DIR}/stormpy")
set(STORMPY_RPATH "${PROJECT_BINARY_DIR}/src/storm") #set(STORMPY_SOURCE_DIR "${PROJECT_SOURCE_DIR}/stormpy")
configure_file ( #
"${PROJECT_SOURCE_DIR}/stormpy/setup.cfg.in" #if(STORM_HAVE_CLN)
"${PROJECT_SOURCE_DIR}/stormpy/setup.cfg" # set(STORMPY_USE_CLN 1)
) #else()
# set(STORMPY_USE_CLN 0)
# Add targets #endif()
add_custom_target(PythonBindingsBuild #
COMMAND ${PYTHON_EXECUTABLE} setup.py build ## Set configuration file
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} #get_directory_property(STORMPY_INCLUDE_DIRS_PROP INCLUDE_DIRECTORIES)
DEPENDS storm #foreach(arg ${STORMPY_INCLUDE_DIRS_PROP})
) # set(STORMPY_INCLUDE_DIRS "${STORMPY_INCLUDE_DIRS}${sep}${arg}")
add_custom_target(PythonBindingsDevelop # set(sep ":")
COMMAND ${PYTHON_EXECUTABLE} setup.py develop #endforeach()
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} #set(STORMPY_COMPILE_ARGS ${CMAKE_CXX_FLAGS})
DEPENDS storm #set(STORMPY_LIBRARY_DIRS "${PROJECT_BINARY_DIR}/src/storm")
) #set(STORMPY_RPATH "${PROJECT_BINARY_DIR}/src/storm")
add_custom_target(PythonBindingsInstall #configure_file (
COMMAND ${PYTHON_EXECUTABLE} setup.py install --user # "${PROJECT_SOURCE_DIR}/stormpy/setup.cfg.in"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} # "${PROJECT_SOURCE_DIR}/stormpy/setup.cfg"
DEPENDS storm #)
) #
|||||||
100:0
Loading…
Cancel
Save