Skip to content

Instantly share code, notes, and snippets.

@trinnguyen
Created April 19, 2021 11:27
Show Gist options
  • Save trinnguyen/3f3313407fb4232e7d0f845e747c8a67 to your computer and use it in GitHub Desktop.
Save trinnguyen/3f3313407fb4232e7d0f845e747c8a67 to your computer and use it in GitHub Desktop.
pbes solver ubuntu
cmake_minimum_required(VERSION 3.17)
project(pbesproxy)
set(CMAKE_CXX_STANDARD 17)
set(PBES_DIR "/usr")
set(PBES_LIB_DIR "${PBES_DIR}/lib")
set(PBES_INCLUDE_DIR "${PBES_DIR}/include")
find_library(MCRL2_ATERMPP libmcrl2_atermpp.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_BES libmcrl2_bes.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_CORE libmcrl2_core.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_DATA libmcrl2_data.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_LPS libmcrl2_lps.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_LTS libmcrl2_lts.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_MODAL_FORMULA libmcrl2_modal_formula.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_PBES libmcrl2_pbes.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_PG libmcrl2_pg.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_PROCESS libmcrl2_process.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_SMT libmcrl2_smt.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_TRACE libmcrl2_trace.so PATHS ${PBES_LIB_DIR})
find_library(MCRL2_UTILITIES libmcrl2_utilities.so PATHS ${PBES_LIB_DIR})
find_path(PBES_INCLUDE_DIR mcrl2 HINTS "${PBES_INCLUDE_DIR}")
find_package(Boost REQUIRED)
set(SRC_FILES proxy_pbes.h proxy_pbes_util.cpp proxy_pbes_util.h pbes_parser.cpp pbes_parser.h)
add_executable(pbes-solver main.cpp ${SRC_FILES})
target_include_directories(pbes-solver PUBLIC ${Boost_INCLUDE_DIRS} ${PBES_INCLUDE_DIR})
target_link_libraries(pbes-solver ${Boost_LIBRARIES}
${MCRL2_ATERMPP}
${MCRL2_BES}
${MCRL2_CORE}
${MCRL2_DATA}
${MCRL2_LPS}
${MCRL2_LTS}
${MCRL2_MODAL_FORMULA}
${MCRL2_PBES}
${MCRL2_PG}
${MCRL2_PROCESS}
${MCRL2_SMT}
${MCRL2_TRACE}
${MCRL2_UTILITIES})
add_library(pbesproxy SHARED ${SRC_FILES})
target_include_directories(pbesproxy PUBLIC ${Boost_INCLUDE_DIRS} ${PBES_INCLUDE_DIR})
target_link_libraries(pbesproxy ${Boost_LIBRARIES}
${MCRL2_ATERMPP}
${MCRL2_BES}
${MCRL2_CORE}
${MCRL2_DATA}
${MCRL2_LPS}
${MCRL2_LTS}
${MCRL2_MODAL_FORMULA}
${MCRL2_PBES}
${MCRL2_PG}
${MCRL2_PROCESS}
${MCRL2_SMT}
${MCRL2_TRACE}
${MCRL2_UTILITIES})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment