this repo has no description
at develop 1.9 kB view raw
1### MiniZinc Gecode Solver Target 2 3if(GECODE_FOUND AND USE_GECODE) 4 5 ### Compile target for the Gecode interface 6 add_library(minizinc_gecode OBJECT 7 lib/passes/gecode_pass.cpp 8 9 solvers/gecode/aux_brancher.hh 10 solvers/gecode/fzn_space.cpp 11 solvers/gecode/gecode_constraints.cpp 12 solvers/gecode/gecode_solverfactory.cpp 13 solvers/gecode/gecode_solverinstance.cpp 14 15 include/minizinc/passes/gecode_pass.hh 16 include/minizinc/solvers/gecode/fzn_space.hh 17 include/minizinc/solvers/gecode/gecode_constraints.hh 18 include/minizinc/solvers/gecode_solverfactory.hh 19 include/minizinc/solvers/gecode_solverinstance.hh 20 ) 21 target_include_directories(minizinc_gecode PRIVATE "${GECODE_INCLUDE_DIRS}") 22 add_dependencies(minizinc_gecode minizinc_parser) 23 24 # Workaround to force CMake to link in the correct order 25 target_link_libraries(Gecode::Support INTERFACE ${CMAKE_THREAD_LIBS_INIT}) 26 target_link_libraries(Gecode::Kernel INTERFACE Gecode::Support) 27 target_link_libraries(Gecode::Search INTERFACE Gecode::Kernel) 28 target_link_libraries(Gecode::Int INTERFACE Gecode::Kernel) 29 target_link_libraries(Gecode::Set INTERFACE Gecode::Int) 30 target_link_libraries(Gecode::Float INTERFACE Gecode::Int) 31 target_link_libraries(Gecode::Minimodel INTERFACE Gecode::Int Gecode::Set Gecode::Float Gecode::Search) 32 target_link_libraries(Gecode::Driver INTERFACE Gecode::Int) 33 target_link_libraries(Gecode::Flatzinc INTERFACE Gecode::Minimodel Gecode::Driver) 34 35 ### Setup correct compilation into the MiniZinc library 36 target_compile_definitions(mzn PRIVATE HAS_GECODE) 37 target_sources(mzn PRIVATE $<TARGET_OBJECTS:minizinc_gecode>) 38 39 target_link_libraries(mzn Gecode::Driver Gecode::Float Gecode::Int Gecode::Kernel Gecode::Search Gecode::Set) 40 if(WIN32 AND GECODE_HAS_GIST) 41 target_link_libraries(mzn Gecode::Gist) 42 endif() 43 44endif()