Browse Source

Cmake adaptions here and there

tempestpy_adaptions
dehnert 8 years ago
parent
commit
cbd525b40b
  1. 8
      CMakeLists.txt
  2. 1
      resources/3rdparty/include_cpptemplate.cmake
  3. 29
      resources/3rdparty/include_xerces.cmake
  4. 1
      resources/cmake/macros/RegisterSourceGroup.cmake
  5. 21
      src/storm/CMakeLists.txt
  6. 11
      src/storm/utility/storm-version.h
  7. 9
      storm-version.cpp.in

8
CMakeLists.txt

@ -47,8 +47,8 @@ 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(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_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(ADDITIONAL_LINK_DIRS "" CACHE STRING "Additional directories added to the link directories.")
set(USE_XERCES ${XML_SUPPORT})
mark_as_advanced(USE_XERCES)
set(USE_XERCESC ${XML_SUPPORT})
mark_as_advanced(USE_XERCESC)
# Set some CMAKE Variables as advanced # Set some CMAKE Variables as advanced
mark_as_advanced(CMAKE_OSX_ARCHITECTURES) mark_as_advanced(CMAKE_OSX_ARCHITECTURES)
@ -146,7 +146,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(CLANG ON) set(CLANG ON)
set(STORM_COMPILER_ID "clang") set(STORM_COMPILER_ID "clang")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang") elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
# using GCC
# using AppleClang
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3) if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3)
message(FATAL_ERROR "AppleClang version must be at least 7.3.") message(FATAL_ERROR "AppleClang version must be at least 7.3.")
endif() endif()
@ -333,7 +333,7 @@ configure_file (
"${PROJECT_BINARY_DIR}/include/storm-config.h" "${PROJECT_BINARY_DIR}/include/storm-config.h"
) )
# Configure a header file to pass the storm version to the source code
# Configure a source file to pass the storm version to the source code
configure_file ( configure_file (
"${PROJECT_SOURCE_DIR}/storm-version.cpp.in" "${PROJECT_SOURCE_DIR}/storm-version.cpp.in"
"${PROJECT_SOURCE_DIR}/src/storm/utility/storm-version.cpp" "${PROJECT_SOURCE_DIR}/src/storm/utility/storm-version.cpp"

1
resources/3rdparty/include_cpptemplate.cmake

@ -12,7 +12,6 @@ ExternalProject_Add(
PREFIX ${STORM_3RDPARTY_BINARY_DIR}/cpptemplate PREFIX ${STORM_3RDPARTY_BINARY_DIR}/cpptemplate
CONFIGURE_COMMAND "" CONFIGURE_COMMAND ""
BUILD_COMMAND ${CMAKE_CXX_COMPILER} -c ${CMAKE_CXX_FLAGS_AS_LIST} ${CMAKE_CXX_FLAGS_RELEASE_AS_LIST} -fPIC -I${Boost_INCLUDE_DIRS} ${STORM_3RDPARTY_SOURCE_DIR}/cpptemplate/cpptempl.cpp -o ${CPPTEMPLATE_LIB_DIR}/cpptemplate${STATIC_EXT} BUILD_COMMAND ${CMAKE_CXX_COMPILER} -c ${CMAKE_CXX_FLAGS_AS_LIST} ${CMAKE_CXX_FLAGS_RELEASE_AS_LIST} -fPIC -I${Boost_INCLUDE_DIRS} ${STORM_3RDPARTY_SOURCE_DIR}/cpptemplate/cpptempl.cpp -o ${CPPTEMPLATE_LIB_DIR}/cpptemplate${STATIC_EXT}
BUILD_ALWAYS 1
INSTALL_COMMAND "" INSTALL_COMMAND ""
BUILD_IN_SOURCE 0 BUILD_IN_SOURCE 0
LOG_BUILD ON LOG_BUILD ON

29
resources/3rdparty/include_xerces.cmake

@ -1,31 +1,32 @@
if(USE_XERCES)
if(USE_XERCESC)
set(XERCESC_FIND_QUIETLY ON)
find_package(Xerces QUIET REQUIRED) find_package(Xerces QUIET REQUIRED)
if(XERCES_FOUND)
if(XERCESC_FOUND)
message(STATUS "Storm - Use system version of xerces.") message(STATUS "Storm - Use system version of xerces.")
else() else()
message(STATUS "Storm - Use shipped version of xerces.") message(STATUS "Storm - Use shipped version of xerces.")
set(XERCES_LIB_DIR ${STORM_3RDPARTY_BINARY_DIR}/xercesc-3.1.2/lib)
set(XERCESC_LIB_DIR ${STORM_3RDPARTY_BINARY_DIR}/xercesc-3.1.2/lib)
ExternalProject_Add( ExternalProject_Add(
xercesc xercesc
SOURCE_DIR ${STORM_3RDPARTY_SOURCE_DIR}/xercesc-3.1.2 SOURCE_DIR ${STORM_3RDPARTY_SOURCE_DIR}/xercesc-3.1.2
CONFIGURE_COMMAND ${STORM_3RDPARTY_SOURCE_DIR}/xercesc-3.1.2/configure --prefix=${STORM_3RDPARTY_BINARY_DIR}/xercesc-3.1.2 --libdir=${XERCES_LIB_DIR} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CFLAGS=-O3 CXXFLAGS=-O3
CONFIGURE_COMMAND ${STORM_3RDPARTY_SOURCE_DIR}/xercesc-3.1.2/configure --prefix=${STORM_3RDPARTY_BINARY_DIR}/xercesc-3.1.2 --libdir=${XERCESC_LIB_DIR} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CFLAGS=-O3 CXXFLAGS=-O3
PREFIX ${STORM_3RDPARTY_BINARY_DIR}/xercesc-3.1.2 PREFIX ${STORM_3RDPARTY_BINARY_DIR}/xercesc-3.1.2
BUILD_COMMAND make BUILD_COMMAND make
BUILD_IN_SOURCE 0 BUILD_IN_SOURCE 0
LOG_CONFIGURE ON LOG_CONFIGURE ON
LOG_BUILD ON LOG_BUILD ON
LOG_INSTALL ON LOG_INSTALL ON
BUILD_BYPRODUCTS ${XERCES_LIB_DIR}/libxerces-c${DYNAMIC_EXT} ${XERCES_LIB_DIR}/libxerces-c${STATIC_EXT}
BUILD_BYPRODUCTS ${XERCESC_LIB_DIR}/libxerces-c${DYNAMIC_EXT} ${XERCESC_LIB_DIR}/libxerces-c${STATIC_EXT}
) )
set(XERCES_ROOT ${STORM_3RDPARTY_BINARY_DIR}/xercesc-3.1.2)
set(XERCESC_INCLUDE ${XERCES_ROOT}/include)
set(XERCES_LIBRARY_PATH ${XERCES_LIB_DIR})
set(XERCESC_ROOT ${STORM_3RDPARTY_BINARY_DIR}/xercesc-3.1.2)
set(XERCESC_INCLUDE ${XERCESC_ROOT}/include)
set(XERCESC_LIBRARY_PATH ${XERCESC_LIB_DIR})
if(BUILD_STATIC) if(BUILD_STATIC)
set(XERCESC_LIBRARIES ${XERCES_LIBRARY_PATH}/libxerces-c${STATIC_EXT})
set(XERCESC_LIBRARIES ${XERCESC_LIBRARY_PATH}/libxerces-c${STATIC_EXT})
else() else()
set(XERCESC_LIBRARIES ${XERCES_LIBRARY_PATH}/libxerces-c${DYNAMIC_EXT})
set(XERCESC_LIBRARIES ${XERCESC_LIBRARY_PATH}/libxerces-c${DYNAMIC_EXT})
endif() endif()
add_dependencies(resources xercesc) add_dependencies(resources xercesc)
@ -37,11 +38,11 @@ if(USE_XERCES)
if(APPLE) if(APPLE)
FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation ) FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation )
FIND_LIBRARY(CORESERVICES_LIBRARY CoreServices ) FIND_LIBRARY(CORESERVICES_LIBRARY CoreServices )
mark_as_advanced(COREFOUNDATION_LIBRARY)
mark_as_advanced(CORESERVICES_LIBRARY)
mark_as_advanced(COREFOUNDATION_LIBRARY)
mark_as_advanced(CORESERVICES_LIBRARY)
endif() endif()
find_package(CURL) find_package(CURL)
list(APPEND STORM_LINK_LIBRARIES ${XERCESC_LIBRARIES} ${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${CURL_LIBRARIES}) list(APPEND STORM_LINK_LIBRARIES ${XERCESC_LIBRARIES} ${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${CURL_LIBRARIES})
else() else()
message (WARNING "StoRM - Building without Xerces disables parsing XML formats (for GSPNs)")
endif(USE_XERCES)
message (WARNING "Storm - Building without Xerces disables parsing XML formats (for GSPNs)")
endif(USE_XERCESC)

1
resources/cmake/macros/RegisterSourceGroup.cmake

@ -9,7 +9,6 @@ macro(register_source_groups_from_filestructure list_of_files remove_prefix)
#string(REGEX REPLACE "/storm?/" "" GROUP ${GROUP}) #string(REGEX REPLACE "/storm?/" "" GROUP ${GROUP})
#STRING(SUBSTRING "${GROUP}" 1 -1 GROUP) #STRING(SUBSTRING "${GROUP}" 1 -1 GROUP)
string(REPLACE "/" "\\" GROUP "${GROUP}") string(REPLACE "/" "\\" GROUP "${GROUP}")
message(${GROUP}: ${FILE})
# group into "Source Files" and "Header Files" # group into "Source Files" and "Header Files"
# if ("${FILE}" MATCHES ".*\\.cpp") # if ("${FILE}" MATCHES ".*\\.cpp")

21
src/storm/CMakeLists.txt

@ -59,8 +59,19 @@ add_executable(storm-gspn-main ${STORM_GSPN_MAIN_SOURCES} ${STORM_MAIN_HEADERS})
target_link_libraries(storm-gspn-main storm) # Adding headers for xcode target_link_libraries(storm-gspn-main storm) # Adding headers for xcode
set_target_properties(storm-gspn-main PROPERTIES OUTPUT_NAME "storm-gspn") set_target_properties(storm-gspn-main PROPERTIES OUTPUT_NAME "storm-gspn")
INSTALL(TARGETS storm-main
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
# Install headers to include directory.
foreach(HEADER ${STORM_LIB_HEADERS})
string(REGEX REPLACE "${PROJECT_SOURCE_DIR}/src/?" "" RELATIVE_HEADER_PATH ${HEADER})
string(REGEX MATCH "(.*)[/\\]" RELATIVE_DIRECTORY ${RELATIVE_HEADER_PATH})
string(REGEX REPLACE "${RELATIVE_DIRECTORY}/?" "" HEADER_FILENAME ${RELATIVE_HEADER_PATH})
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/include/${RELATIVE_DIRECTORY}${HEADER_FILENAME}
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/include/${RELATIVE_DIRECTORY}
COMMAND ${CMAKE_COMMAND} -E copy ${HEADER} ${CMAKE_BINARY_DIR}/include/${RELATIVE_DIRECTORY}${HEADER_FILENAME}
DEPENDS ${HEADER}
)
list(APPEND STORM_OUTPUT_HEADERS "${CMAKE_BINARY_DIR}/include/${RELATIVE_DIRECTORY}${HEADER_FILENAME}")
endforeach()
add_custom_target(copy_headers DEPENDS ${STORM_OUTPUT_HEADERS} ${STORM_LIB_HEADERS})
add_dependencies(storm copy_headers)

11
src/storm/utility/storm-version.h

@ -32,12 +32,12 @@ namespace storm
/// The system version which has compiled Storm. /// The system version which has compiled Storm.
const static std::string systemVersion; const static std::string systemVersion;
/// The build type that was used to build Storm.
const static std::string buildType;
/// The compiler version that was used to build Storm. /// The compiler version that was used to build Storm.
const static std::string cxxCompiler; const static std::string cxxCompiler;
/// The flags that were used to build Storm.
const static std::string cxxFlags;
static std::string shortVersionString() { static std::string shortVersionString() {
std::stringstream sstream; std::stringstream sstream;
sstream << "Storm " << versionMajor << "." << versionMinor << "." << versionPatch; sstream << "Storm " << versionMajor << "." << versionMinor << "." << versionPatch;
@ -46,7 +46,7 @@ namespace storm
static std::string longVersionString() { static std::string longVersionString() {
std::stringstream sstream; std::stringstream sstream;
sstream << "Version: " << versionMajor << "." << versionMinor << "." << versionPatch;
sstream << "version: " << versionMajor << "." << versionMinor << "." << versionPatch;
if (commitsAhead != 0) { if (commitsAhead != 0) {
sstream << " (+" << commitsAhead << " commits)"; sstream << " (+" << commitsAhead << " commits)";
} }
@ -60,8 +60,7 @@ namespace storm
static std::string buildInfo() { static std::string buildInfo() {
std::stringstream sstream; std::stringstream sstream;
sstream << "Compiled on " << systemName << " " << systemVersion << ",";
sstream << "using " << cxxCompiler << " with " << buildType << " flags.";
sstream << "Compiled on " << systemName << " " << systemVersion << " using " << cxxCompiler << " with flags '" << cxxFlags << "'";
return sstream.str(); return sstream.str();
} }
}; };

9
storm-version.cpp.in

@ -13,8 +13,11 @@ namespace storm {
const unsigned StormVersion::dirty = @STORM_CPP_VERSION_DIRTY@; const unsigned StormVersion::dirty = @STORM_CPP_VERSION_DIRTY@;
const std::string StormVersion::systemName = "@CMAKE_SYSTEM_NAME@"; const std::string StormVersion::systemName = "@CMAKE_SYSTEM_NAME@";
const std::string StormVersion::systemVersion = "@CMAKE_SYSTEM_VERSION@"; const std::string StormVersion::systemVersion = "@CMAKE_SYSTEM_VERSION@";
const std::string StormVersion::buildType = "@CMAKE_BUILD_TYPE@";
const std::string StormVersion::cxxCompiler = "@STORM_COMPILED_BY@ @CMAKE_CXX_COMPILER_VERSION@";
const std::string StormVersion::cxxCompiler = "@STORM_COMPILER_ID@ @CMAKE_CXX_COMPILER_VERSION@";
#ifdef NDEBUG
const std::string StormVersion::cxxFlags = "@CMAKE_CXX_FLAGS@" " " "@CMAKE_CXX_FLAGS_RELEASE@";
#else
const std::string StormVersion::cxxFlags = "@CMAKE_CXX_FLAGS@" " " "@CMAKE_CXX_FLAGS_DEBUG@";
#endif
} }
} }
Loading…
Cancel
Save