this repo has no description

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

Changed files
+19 -1
cmake
+11
cmake/targets/libminizinc_gecode.cmake
···
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>)
+8 -1
cmake/targets/libmza.cmake
···
lib/c_interface.cpp
include/minizinc/c_interface.h
)
+
target_link_libraries(mza mzn)
-
target_link_libraries(mza mzn)
+
install(
+
TARGETS mza
+
EXPORT libminizincTargets
+
RUNTIME DESTINATION bin
+
LIBRARY DESTINATION lib
+
ARCHIVE DESTINATION lib
+
)
endif()