1 |
gezelter |
1694 |
############################################################################### |
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) |