diff --git a/CMakeLists.txt b/CMakeLists.txt index 94af738..480464a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,8 +8,12 @@ enable_testing() set(JSON_INCLUDE_UTILS OFF CACHE BOOL "Enable JSON Utils" FORCE) set(BUILD_LISTENERS ON CACHE BOOL "Builds oRatio listeners" FORCE) -add_subdirectory(extern/riddle) -add_subdirectory(extern/semitone) +option(CHECK_INCONSISTENCIES "Check inconsistencies at each step" OFF) +option(ENABLE_API "oRatio API" OFF) +option(BUILD_EXECUTABLE "Build oRatio executable" ON) +if(BUILD_EXECUTABLE) + set(ENABLE_API ON CACHE BOOL "oRatio API" FORCE) +endif() set(TEMPORAL_NETWORK_TYPES LRA DL) set(TEMPORAL_NETWORK_TYPE LRA CACHE STRING "Temporal network type") @@ -29,9 +33,8 @@ if(${HEURISTIC_TYPE_INDEX} EQUAL -1) endif() message(STATUS "Heuristic type: ${HEURISTIC_TYPE}") -option(CHECK_INCONSISTENCIES "Check inconsistencies at each step" OFF) -option(ENABLE_API "oRatio API" OFF) -option(BUILD_EXECUTABLE "Build oRatio executable" ON) +add_subdirectory(extern/riddle) +add_subdirectory(extern/semitone) add_library(oRatioLib src/solver.cpp src/graph.cpp src/flaw.cpp src/resolver.cpp src/smart_type.cpp src/flaws/atom_flaw.cpp src/flaws/bool_flaw.cpp src/flaws/disj_flaw.cpp src/flaws/disjunction_flaw.cpp src/flaws/enum_flaw.cpp src/types/agent.cpp src/types/state_variable.cpp src/types/consumable_resource.cpp src/types/reusable_resource.cpp $<$:${CMAKE_CURRENT_SOURCE_DIR}/src/solver_api.cpp>) add_dependencies(oRatioLib RiDDLe SeMiTONE) @@ -74,7 +77,6 @@ endif() message(STATUS "Build oRatio executable: ${BUILD_EXECUTABLE}") if(BUILD_EXECUTABLE) - set(ENABLE_API ON CACHE BOOL "oRatio API" FORCE) add_executable(oRatio src/main.cpp src/solver_api.cpp) add_dependencies(oRatio oRatioLib) target_link_libraries(oRatio PRIVATE oRatioLib) diff --git a/extern/semitone b/extern/semitone index 601b524..5c89832 160000 --- a/extern/semitone +++ b/extern/semitone @@ -1 +1 @@ -Subproject commit 601b52484b62d855d283ffb987e1e6e34ef80c2b +Subproject commit 5c8983297e7b6b095e4e8675892fbc978c07f28a diff --git a/src/types/reusable_resource.cpp b/src/types/reusable_resource.cpp index 3408c4e..39f0313 100644 --- a/src/types/reusable_resource.cpp +++ b/src/types/reusable_resource.cpp @@ -262,7 +262,10 @@ namespace ratio for (const auto &[rr, atms] : rr_instances) { - json::json tl{{"id", get_id(*rr)}, {"type", REUSABLE_RESOURCE_TYPE_NAME}, {"name", get_solver().guess_name(*rr)}}; + json::json tl{{"id", get_id(*rr)}, {"type", REUSABLE_RESOURCE_TYPE_NAME}}; +#ifdef COMPUTE_NAMES + tl["name"] = get_solver().guess_name(*rr); +#endif const auto c_capacity = get_solver().arithmetic_value(*std::static_pointer_cast(rr->get(REUSABLE_RESOURCE_CAPACITY_NAME))); tl[REUSABLE_RESOURCE_CAPACITY_NAME] = to_json(c_capacity);