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