1
0

Squashed 'software/mza/' changes from 9c048083d6..bf2c1f31bc

bf2c1f31bc Ensure CMake links Gecode libraries in the correct order
4c233da54d  Install shared library

git-subtree-dir: software/mza
git-subtree-split: bf2c1f31bcc885dd6e838bffd46eac23f1d10274
This commit is contained in:
Jip J. Dekker 2021-07-12 17:08:49 +10:00
parent 0e88ebc728
commit 5df85436d5
2 changed files with 19 additions and 1 deletions

View File

@ -21,6 +21,17 @@ if(GECODE_FOUND AND USE_GECODE)
target_include_directories(minizinc_gecode PRIVATE "${GECODE_INCLUDE_DIRS}")
add_dependencies(minizinc_gecode minizinc_parser)
# Workaround to force CMake to link in the correct order
target_link_libraries(Gecode::Support INTERFACE ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries(Gecode::Kernel INTERFACE Gecode::Support)
target_link_libraries(Gecode::Search INTERFACE Gecode::Kernel)
target_link_libraries(Gecode::Int INTERFACE Gecode::Kernel)
target_link_libraries(Gecode::Set INTERFACE Gecode::Int)
target_link_libraries(Gecode::Float INTERFACE Gecode::Int)
target_link_libraries(Gecode::Minimodel INTERFACE Gecode::Int Gecode::Set Gecode::Float Gecode::Search)
target_link_libraries(Gecode::Driver INTERFACE Gecode::Int)
target_link_libraries(Gecode::Flatzinc INTERFACE Gecode::Minimodel Gecode::Driver)
### Setup correct compilation into the MiniZinc library
target_compile_definitions(mzn PRIVATE HAS_GECODE)
target_sources(mzn PRIVATE $<TARGET_OBJECTS:minizinc_gecode>)

View File

@ -3,6 +3,13 @@ if(GECODE_FOUND AND USE_GECODE)
lib/c_interface.cpp
include/minizinc/c_interface.h
)
target_link_libraries(mza mzn)
install(
TARGETS mza
EXPORT libminizincTargets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
endif()