diff --git a/cmake/check_deps.cmake b/cmake/check_deps.cmake index 36736909ee..0b565d5b52 100644 --- a/cmake/check_deps.cmake +++ b/cmake/check_deps.cmake @@ -79,12 +79,36 @@ if(USE_COINOR) set(COINOR_DEPS Coin::CbcSolver Coin::OsiCbc Coin::ClpSolver Coin::OsiClp) endif() +if(USE_CPLEX) + if(NOT TARGET CPLEX::CPLEX) + message(FATAL_ERROR "Target CPLEX::CPLEX not available.") + endif() + set(CPLEX_DEPS CPLEX::CPLEX) +endif() + +if(USE_GLPK) + if(NOT TARGET GLPK::GLPK) + message(FATAL_ERROR "Target GLPK::GLPK not available.") + endif() + set(GLPK_DEPS GLPK::GLPK) +endif() + +if(USE_HIGHS) + if(NOT TARGET highs::highs) + message(FATAL_ERROR "Target highs::highs not available.") + endif() + set(HIGHS_DEPS highs::highs) +endif() + if(USE_PDLP AND BUILD_PDLP) set(PDLP_DEPS Eigen3::Eigen) endif() -if(USE_SCIP AND NOT TARGET libscip) - message(FATAL_ERROR "Target libscip not available.") +if(USE_SCIP) + if(NOT TARGET libscip) + message(FATAL_ERROR "Target libscip not available.") + endif() + set(SCIP_DEPS libscip) endif() # Check optional Dependencies diff --git a/cmake/cpp.cmake b/cmake/cpp.cmake index e384f314ba..89ae76355a 100644 --- a/cmake/cpp.cmake +++ b/cmake/cpp.cmake @@ -558,11 +558,11 @@ target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf ${RE2_DEPS} ${COINOR_DEPS} - $<$:CPLEX::CPLEX> - $<$:GLPK::GLPK> - $<$:highs::highs> + ${CPLEX_DEPS} + ${GLPK_DEPS} + ${HIGHS_DEPS} ${PDLP_DEPS} - $<$:libscip> + ${SCIP_DEPS} Threads::Threads) if(WIN32) target_link_libraries(${PROJECT_NAME} PUBLIC psapi.lib ws2_32.lib)