ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/cmake/modules/FindQhull.cmake
Revision: 1694
Committed: Thu Mar 15 23:51:48 2012 UTC (13 years, 1 month ago) by gezelter
File size: 3561 byte(s)
Log Message:
Doing some work to simplify cmake build process

File Contents

# User Rev Content
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)