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.

48 lines
1.7 KiB

  1. ####
  2. #### Find autoreconf for cudd update step
  3. find_program(AUTORECONF autoreconf)
  4. find_program(ACLOCAL aclocal)
  5. mark_as_advanced(AUTORECONF)
  6. mark_as_advanced(ACLOCAL)
  7. if (NOT AUTORECONF)
  8. message(FATAL_ERROR "Cannot find autoreconf, cannot compile cudd3.")
  9. endif()
  10. if (NOT ACLOCAL)
  11. message(FATAL_ERROR "Cannot find aclocal, cannot compile cudd3.")
  12. endif()
  13. set(CUDD_LIB_DIR ${STORM_3RDPARTY_BINARY_DIR}/cudd-3.0.0/lib)
  14. ExternalProject_Add(
  15. cudd3
  16. DOWNLOAD_COMMAND ""
  17. SOURCE_DIR ${STORM_3RDPARTY_SOURCE_DIR}/cudd-3.0.0
  18. PREFIX ${STORM_3RDPARTY_BINARY_DIR}/cudd-3.0.0
  19. PATCH_COMMAND ${AUTORECONF}
  20. CONFIGURE_COMMAND ${STORM_3RDPARTY_SOURCE_DIR}/cudd-3.0.0/configure --enable-shared --enable-obj --with-pic=yes --prefix=${STORM_3RDPARTY_BINARY_DIR}/cudd-3.0.0 --libdir=${CUDD_LIB_DIR} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
  21. BUILD_COMMAND make "CFLAGS=-O2 -w"
  22. INSTALL_COMMAND make install
  23. BUILD_IN_SOURCE 0
  24. LOG_CONFIGURE ON
  25. LOG_BUILD ON
  26. LOG_INSTALL ON
  27. BUILD_BYPRODUCTS ${CUDD_LIB_DIR}/libcudd${DYNAMIC_EXT} ${CUDD_LIB_DIR}/libcudd${STATIC_EXT}
  28. )
  29. # Do not use system CUDD, StoRM has a modified version
  30. set(CUDD_INCLUDE_DIR ${STORM_3RDPARTY_BINARY_DIR}/cudd-3.0.0/include)
  31. set(CUDD_SHARED_LIBRARY ${CUDD_LIB_DIR}/libcudd${DYNAMIC_EXT})
  32. set(CUDD_STATIC_LIBRARY ${CUDD_LIB_DIR}/libcudd${STATIC_EXT})
  33. set(CUDD_VERSION_STRING 3.0.0)
  34. if(BUILD_SHARED_LIBS)
  35. list(APPEND STORM_LINK_LIBRARIES ${CUDD_SHARED_LIBRARY})
  36. else()
  37. list(APPEND STORM_LINK_LIBRARIES ${CUDD_STATIC_LIBRARY})
  38. endif()
  39. add_dependencies(resources cudd3)
  40. message(STATUS "Storm - Linking with CUDD ${CUDD_VERSION_STRING}.")
  41. include_directories(${CUDD_INCLUDE_DIR})