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 |
|
10 |
set(QHULL_MAJOR_VERSION 6) |
11 |
|
12 |
find_file(QHULL_HEADER |
13 |
NAMES libqhull/libqhull.h qhull.h |
14 |
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" "${QHULL_INCLUDE_DIR}" |
15 |
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull" |
16 |
"$ENV{PROGRAMFILES}/qhull 6.2.0.1373" "$ENV{PROGRAMW6432}/qhull 6.2.0.1373" |
17 |
PATH_SUFFIXES qhull src/libqhull libqhull include) |
18 |
|
19 |
set(QHULL_HEADER "${QHULL_HEADER}" CACHE INTERNAL "QHull header" FORCE ) |
20 |
|
21 |
if(QHULL_HEADER) |
22 |
get_filename_component(qhull_header ${QHULL_HEADER} NAME_WE) |
23 |
if("${qhull_header}" STREQUAL "qhull") |
24 |
set(HAVE_QHULL_2011 OFF) |
25 |
get_filename_component(QHULL_INCLUDE_DIR ${QHULL_HEADER} PATH) |
26 |
elseif("${qhull_header}" STREQUAL "libqhull") |
27 |
set(HAVE_QHULL_2011 ON) |
28 |
get_filename_component(QHULL_INCLUDE_DIR ${QHULL_HEADER} PATH) |
29 |
get_filename_component(QHULL_INCLUDE_DIR ${QHULL_INCLUDE_DIR} PATH) |
30 |
endif() |
31 |
else(QHULL_HEADER) |
32 |
set(QHULL_INCLUDE_DIR "QHULL_INCLUDE_DIR-NOTFOUND") |
33 |
endif(QHULL_HEADER) |
34 |
|
35 |
set(QHULL_INCLUDE_DIR "${QHULL_INCLUDE_DIR}" CACHE PATH "QHull include dir." FORCE) |
36 |
|
37 |
# Prefer static libraries in Windows over shared ones |
38 |
if(WIN32) |
39 |
find_library(QHULL_LIBRARY |
40 |
NAMES qhullstatic qhull qhull${QHULL_MAJOR_VERSION} |
41 |
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" |
42 |
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull" |
43 |
"$ENV{PROGRAMFILES}/qhull 6.2.0.1373" "$ENV{PROGRAMW6432}/qhull 6.2.0.1373" |
44 |
PATH_SUFFIXES project build bin lib) |
45 |
|
46 |
find_library(QHULL_LIBRARY_DEBUG |
47 |
NAMES qhullstatic_d qhull_d qhull${QHULL_MAJOR_VERSION}_d qhull qhull${QHULL_MAJOR_VERSION} |
48 |
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" |
49 |
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull" |
50 |
"$ENV{PROGRAMFILES}/qhull 6.2.0.1373" "$ENV{PROGRAMW6432}/qhull 6.2.0.1373" |
51 |
PATH_SUFFIXES project build bin lib) |
52 |
else(WIN32) |
53 |
find_library(QHULL_LIBRARY |
54 |
NAMES qhull qhull${QHULL_MAJOR_VERSION} |
55 |
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" |
56 |
PATH_SUFFIXES project build bin lib) |
57 |
|
58 |
find_library(QHULL_LIBRARY_DEBUG |
59 |
NAMES qhull_d qhull_d${QHULL_MAJOR_VERSION} qhull qhull${QHULL_MAJOR_VERSION} |
60 |
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" |
61 |
PATH_SUFFIXES project build bin lib) |
62 |
endif(WIN32) |
63 |
|
64 |
if(NOT QHULL_LIBRARY_DEBUG) |
65 |
set(QHULL_LIBRARY_DEBUG ${QHULL_LIBRARY}) |
66 |
endif(NOT QHULL_LIBRARY_DEBUG) |
67 |
|
68 |
set(QHULL_INCLUDE_DIRS ${QHULL_INCLUDE_DIR}) |
69 |
set(QHULL_LIBRARIES optimized ${QHULL_LIBRARY} debug ${QHULL_LIBRARY_DEBUG}) |
70 |
|
71 |
include(FindPackageHandleStandardArgs) |
72 |
find_package_handle_standard_args(Qhull DEFAULT_MSG QHULL_LIBRARY |
73 |
QHULL_INCLUDE_DIR) |
74 |
|
75 |
mark_as_advanced(QHULL_LIBRARY QHULL_LIBRARY_DEBUG QHULL_INCLUDE_DIR) |
76 |
|
77 |
if(QHULL_FOUND) |
78 |
set(HAVE_QHULL ON) |
79 |
get_filename_component(qhull_lib ${QHULL_LIBRARY} NAME_WE) |
80 |
if(NOT "${qhull_lib}" STREQUAL "qhullstatic") |
81 |
add_definitions("-Dqh_QHpointer") |
82 |
endif(NOT "${qhull_lib}" STREQUAL "qhullstatic") |
83 |
message(STATUS "QHULL found (include: ${QHULL_INCLUDE_DIRS}, lib: ${QHULL_LIBRARIES})") |
84 |
endif(QHULL_FOUND) |