this repo has no description
1### Export of a CMake configuration for MiniZinc
2## This allows for "find_package(minizinc)"
3
4if(WIN32 AND NOT CYGWIN)
5 set(DEF_INSTALL_CMAKE_DIR CMake)
6else()
7 set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake)
8endif()
9set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR}/libminizinc CACHE PATH "Installation directory for CMake files")
10
11if(NOT IS_ABSOLUTE "${INSTALL_CMAKE_DIR}")
12 set(INSTALL_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}")
13endif()
14
15file(RELATIVE_PATH REL_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}"
16 "${INSTALL_CMAKE_DIR}")
17file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}"
18 "${CMAKE_INSTALL_PREFIX}/include")
19
20# Add external (static) dependencies
21if(TARGET minizinc_geas)
22 install(
23 FILES cmake/modules/FindGeas.cmake
24 DESTINATION ${REL_CMAKE_DIR}
25 COMPONENT dev
26 )
27 set(CONF_DEPENDENCIES "${CONF_DEPENDENCIES}find_dependency(Geas)\n")
28endif()
29if(TARGET minizinc_gecode)
30 install(
31 FILES cmake/modules/FindGecode.cmake cmake/modules/FindMPFR.cmake
32 DESTINATION ${REL_CMAKE_DIR}
33 COMPONENT dev
34 )
35 if(GECODE_HAS_GIST)
36 set(_CONF_GIST " Gist")
37 endif()
38 set(CONF_DEPENDENCIES "${CONF_DEPENDENCIES}find_dependency(Gecode 6.0 COMPONENTS Driver Float Int Kernel Minimodel Search Set Support${_CONF_GIST})\n")
39endif()
40if(TARGET minizinc_osicbc)
41 install(
42 FILES cmake/modules/FindOsiCBC.cmake
43 DESTINATION ${REL_CMAKE_DIR}
44 COMPONENT dev
45 )
46 set(CONF_DEPENDENCIES "${CONF_DEPENDENCIES}find_dependency(OsiCBC)\n")
47endif()
48
49# Add all targets to the build-tree export set
50export(TARGETS mzn
51 FILE "${PROJECT_BINARY_DIR}/libminizincTargets.cmake")
52
53# Export the package for use from the build-tree
54# (this registers the build-tree with a global CMake-registry)
55export(PACKAGE libminizinc)
56
57# Create the libminizincConfig.cmake and libminizincConfigVersion files
58# ... for the build tree
59set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}")
60configure_file(
61 cmake/templates/libminizincConfig.cmake.in
62 "${PROJECT_BINARY_DIR}/libminizincConfig.cmake"
63 @ONLY
64)
65# ... for the install tree
66set(CONF_INCLUDE_DIRS "\${libminizinc_CMAKE_DIR}/${REL_INCLUDE_DIR}")
67configure_file(
68 cmake/templates/libminizincConfig.cmake.in
69 "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libminizincConfig.cmake"
70 @ONLY
71)
72# ... for both
73configure_file(
74 cmake/templates/libminizincConfigVersion.cmake.in
75 "${PROJECT_BINARY_DIR}/libminizincConfigVersion.cmake"
76 @ONLY
77)
78
79# Install the libminizincConfig.cmake and libminizincConfigVersion.cmake
80install(
81 FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libminizincConfig.cmake" "${PROJECT_BINARY_DIR}/libminizincConfigVersion.cmake"
82 DESTINATION ${REL_CMAKE_DIR}
83 COMPONENT dev
84)
85
86# Install the export set for use with the install-tree
87install(
88 EXPORT libminizincTargets
89 DESTINATION ${REL_CMAKE_DIR}
90 COMPONENT dev
91)