this repo has no description
at develop 2.9 kB view raw
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)