1############################################################################### 2# Find QHULL 3# 4# This sets the following variables: 5# QHULL_FOUND - True if QHULL was found. 6# QHULL_INCLUDE_DIRS - Directories containing the QHULL include files. 7# QHULL_LIBRARIES - Libraries needed to use QHULL. 8# QHULL_DEFINITIONS - Compiler flags for QHULL. 9# If QHULL_USE_STATIC is specified then look for static libraries ONLY else 10# look for shared ones 11 12if(QHULL_USE_STATIC) 13 set(QHULL_RELEASE_NAME qhullstatic_r) 14 set(QHULL_DEBUG_NAME qhullstatic_rd) 15else() 16 set(QHULL_RELEASE_NAME qhull_r qhull) 17 set(QHULL_DEBUG_NAME qhull_rd qhull_d) 18endif() 19 20find_file(QHULL_HEADER 21 NAMES libqhull/libqhull.h qhull.h 22 HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" "${QHULL_INCLUDE_DIR}" 23 PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull" 24 PATH_SUFFIXES qhull src/libqhull libqhull include) 25 26set(QHULL_HEADER "${QHULL_HEADER}" CACHE INTERNAL "QHull header" FORCE ) 27 28if(QHULL_HEADER) 29 get_filename_component(qhull_header ${QHULL_HEADER} NAME_WE) 30 if("${qhull_header}" STREQUAL "qhull") 31 get_filename_component(QHULL_INCLUDE_DIR ${QHULL_HEADER} PATH) 32 elseif("${qhull_header}" STREQUAL "libqhull") 33 get_filename_component(QHULL_INCLUDE_DIR ${QHULL_HEADER} PATH) 34 get_filename_component(QHULL_INCLUDE_DIR ${QHULL_INCLUDE_DIR} PATH) 35 endif() 36else() 37 set(QHULL_INCLUDE_DIR "QHULL_INCLUDE_DIR-NOTFOUND") 38endif() 39 40find_library(QHULL_LIBRARY 41 NAMES ${QHULL_RELEASE_NAME} 42 HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" 43 PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull" 44 PATH_SUFFIXES project build bin lib) 45 46get_filename_component(QHULL_LIBRARY_NAME "${QHULL_LIBRARY}" NAME) 47 48find_library(QHULL_LIBRARY_DEBUG 49 NAMES ${QHULL_DEBUG_NAME} ${QHULL_RELEASE_NAME} 50 HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" 51 PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull" 52 PATH_SUFFIXES project build bin lib debug/lib) 53 54if(NOT QHULL_LIBRARY_DEBUG) 55 set(QHULL_LIBRARY_DEBUG ${QHULL_LIBRARY}) 56endif() 57 58get_filename_component(QHULL_LIBRARY_DEBUG_NAME "${QHULL_LIBRARY_DEBUG}" NAME) 59 60if(QHULL_INCLUDE_DIR AND QHULL_LIBRARY) 61 62 # Include directories 63 set(QHULL_INCLUDE_DIRS ${QHULL_INCLUDE_DIR}) 64 unset(QHULL_INCLUDE_DIR) 65 mark_as_advanced(QHULL_INCLUDE_DIRS) 66 67 # Libraries 68 set(QHULL_LIBRARIES optimized ${QHULL_LIBRARY} debug ${QHULL_LIBRARY_DEBUG}) 69 unset(QHULL_LIBRARY) 70 unset(QHULL_LIBRARY_DEBUG) 71 mark_as_advanced(QHULL_LIBRARIES) 72 73endif() 74 75include(FindPackageHandleStandardArgs) 76find_package_handle_standard_args(Qhull 77 FOUND_VAR QHULL_FOUND 78 REQUIRED_VARS QHULL_LIBRARIES QHULL_INCLUDE_DIRS 79) 80 81if(QHULL_FOUND) 82 set(HAVE_QHULL ON) 83 if(NOT QHULL_USE_STATIC) 84 add_definitions("-Dqh_QHpointer") 85 if(MSVC) 86 add_definitions("-Dqh_QHpointer_dllimport") 87 endif() 88 endif() 89 message(STATUS "QHULL found (include: ${QHULL_INCLUDE_DIRS}, lib: ${QHULL_LIBRARIES})") 90endif() 91