From bef2feceb29c8e0dd103a536af2e424ef784f532 Mon Sep 17 00:00:00 2001 From: Matthias Volk Date: Thu, 26 Apr 2018 19:17:18 +0200 Subject: [PATCH] Removed fixed lib path in cmake --- CMakeLists.txt | 35 ++++++++++------------------------- cmake/CMakeLists.txt | 12 +++++------- 2 files changed, 15 insertions(+), 32 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c400ebd..f0d0130 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,57 +1,42 @@ cmake_minimum_required(VERSION 3.0.0) project(pystorm) -option(STORMPY_DISABLE_SIGNATURE_DOC "disables the signature in the documentation" ON) - find_package(storm REQUIRED) add_subdirectory(resources/pybind11) +option(STORMPY_DISABLE_SIGNATURE_DOC "disables the signature in the documentation" ON) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/generated/config.h) message(STATUS "STORM-DIR: ${storm_DIR}") -set(STORMPY_LIB_DIR "${CMAKE_SOURCE_DIR}/lib/stormpy" CACHE STRING "Sets the storm library dir") - function(stormpy_module NAME) - # second, optional argument is LIBRARY_OUTPUT_DIRECTORY, - # defaults to subdir with module name - # third, optional argument are ADDITIONAL_LIBRARIES - # fourth, optional argument are ADDITIONAL_INCLUDES - if(ARGC GREATER 1) - set(LIB_PATH "${ARGV1}") - else() - set(LIB_PATH "${STORMPY_LIB_DIR}/${NAME}") - endif() + # second, optional argument are ADDITIONAL_LIBRARIES + # third, optional argument are ADDITIONAL_INCLUDES file(GLOB_RECURSE "STORM_${NAME}_SOURCES" "${CMAKE_CURRENT_SOURCE_DIR}/src/${NAME}/*.cpp") pybind11_add_module(${NAME} "${CMAKE_CURRENT_SOURCE_DIR}/src/mod_${NAME}.cpp" ${STORM_${NAME}_SOURCES}) - if(ARGC GREATER 2) + if(ARGC GREATER 1) # Additional libraries - target_include_directories(${NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${storm_INCLUDE_DIR} ${ARGV3} ${CMAKE_CURRENT_BINARY_DIR}/src/generated) - target_link_libraries(${NAME} PRIVATE storm ${ARGV2}) + target_include_directories(${NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${storm_INCLUDE_DIR} ${ARGV2} ${CMAKE_CURRENT_BINARY_DIR}/src/generated) + target_link_libraries(${NAME} PRIVATE storm ${ARGV1}) else() target_include_directories(${NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${storm_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/src/generated) target_link_libraries(${NAME} PRIVATE storm) endif() - - # setup.py will override this (because pip may want a different install - # path), but also specifying it here has the advantage that invoking cmake - # manually uses the correct path if the default is used (i.e. the - # STORMPY_LIB_DIR hardcoded above) - set_target_properties(${NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${LIB_PATH}") endfunction(stormpy_module) -stormpy_module(core "${STORMPY_LIB_DIR}") +stormpy_module(core) stormpy_module(info) stormpy_module(logic) stormpy_module(storage) stormpy_module(utility) if(HAVE_STORM_PARS) - stormpy_module(pars "${STORMPY_LIB_DIR}/pars" storm-pars "${storm-pars_INCLUDE_DIR}") + stormpy_module(pars storm-pars "${storm-pars_INCLUDE_DIR}") endif() if(HAVE_STORM_DFT) - stormpy_module(dft "${STORMPY_LIB_DIR}/dft" storm-dft "${storm-dft_INCLUDE_DIR}") + stormpy_module(dft storm-dft "${storm-dft_INCLUDE_DIR}") endif() diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index ef03051..bbaf9c4 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -2,6 +2,11 @@ cmake_minimum_required(VERSION 3.0.0) project(storm-version) find_package(storm REQUIRED) + +# Set configuration +set(STORM_DIR ${storm_DIR}) +set(STORM_VERSION ${storm_VERSION}) + # Check for storm-pars if(EXISTS "${storm_DIR}/lib/libstorm-pars.dylib") set(HAVE_STORM_PARS TRUE) @@ -20,10 +25,6 @@ else() set(HAVE_STORM_DFT FALSE) endif() -# Set configuration -set(STORM_DIR ${storm_DIR}) -set(STORM_VERSION ${storm_VERSION}) - if(HAVE_STORM_PARS) set(HAVE_STORM_PARS_BOOL "True") else() @@ -48,7 +49,4 @@ else() set(STORM_CLN_RF_BOOL "False") endif() - - - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.py.in ${CMAKE_CURRENT_BINARY_DIR}/generated/config.py @ONLY)