91 lines
2.9 KiB
CMake
91 lines
2.9 KiB
CMake
###############################################################################
|
|
# Find QHULL
|
|
#
|
|
# This sets the following variables:
|
|
# QHULL_FOUND - True if QHULL was found.
|
|
# QHULL_INCLUDE_DIRS - Directories containing the QHULL include files.
|
|
# QHULL_LIBRARIES - Libraries needed to use QHULL.
|
|
# QHULL_DEFINITIONS - Compiler flags for QHULL.
|
|
# If QHULL_USE_STATIC is specified then look for static libraries ONLY else
|
|
# look for shared ones
|
|
|
|
if(QHULL_USE_STATIC)
|
|
set(QHULL_RELEASE_NAME qhullstatic_r)
|
|
set(QHULL_DEBUG_NAME qhullstatic_rd)
|
|
else()
|
|
set(QHULL_RELEASE_NAME qhull_r qhull)
|
|
set(QHULL_DEBUG_NAME qhull_rd qhull_d)
|
|
endif()
|
|
|
|
find_file(QHULL_HEADER
|
|
NAMES libqhull/libqhull.h qhull.h
|
|
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" "${QHULL_INCLUDE_DIR}"
|
|
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull"
|
|
PATH_SUFFIXES qhull src/libqhull libqhull include)
|
|
|
|
set(QHULL_HEADER "${QHULL_HEADER}" CACHE INTERNAL "QHull header" FORCE )
|
|
|
|
if(QHULL_HEADER)
|
|
get_filename_component(qhull_header ${QHULL_HEADER} NAME_WE)
|
|
if("${qhull_header}" STREQUAL "qhull")
|
|
get_filename_component(QHULL_INCLUDE_DIR ${QHULL_HEADER} PATH)
|
|
elseif("${qhull_header}" STREQUAL "libqhull")
|
|
get_filename_component(QHULL_INCLUDE_DIR ${QHULL_HEADER} PATH)
|
|
get_filename_component(QHULL_INCLUDE_DIR ${QHULL_INCLUDE_DIR} PATH)
|
|
endif()
|
|
else()
|
|
set(QHULL_INCLUDE_DIR "QHULL_INCLUDE_DIR-NOTFOUND")
|
|
endif()
|
|
|
|
find_library(QHULL_LIBRARY
|
|
NAMES ${QHULL_RELEASE_NAME}
|
|
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}"
|
|
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull"
|
|
PATH_SUFFIXES project build bin lib)
|
|
|
|
get_filename_component(QHULL_LIBRARY_NAME "${QHULL_LIBRARY}" NAME)
|
|
|
|
find_library(QHULL_LIBRARY_DEBUG
|
|
NAMES ${QHULL_DEBUG_NAME} ${QHULL_RELEASE_NAME}
|
|
HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}"
|
|
PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull"
|
|
PATH_SUFFIXES project build bin lib debug/lib)
|
|
|
|
if(NOT QHULL_LIBRARY_DEBUG)
|
|
set(QHULL_LIBRARY_DEBUG ${QHULL_LIBRARY})
|
|
endif()
|
|
|
|
get_filename_component(QHULL_LIBRARY_DEBUG_NAME "${QHULL_LIBRARY_DEBUG}" NAME)
|
|
|
|
if(QHULL_INCLUDE_DIR AND QHULL_LIBRARY)
|
|
|
|
# Include directories
|
|
set(QHULL_INCLUDE_DIRS ${QHULL_INCLUDE_DIR})
|
|
unset(QHULL_INCLUDE_DIR)
|
|
mark_as_advanced(QHULL_INCLUDE_DIRS)
|
|
|
|
# Libraries
|
|
set(QHULL_LIBRARIES optimized ${QHULL_LIBRARY} debug ${QHULL_LIBRARY_DEBUG})
|
|
unset(QHULL_LIBRARY)
|
|
unset(QHULL_LIBRARY_DEBUG)
|
|
mark_as_advanced(QHULL_LIBRARIES)
|
|
|
|
endif()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(Qhull
|
|
FOUND_VAR QHULL_FOUND
|
|
REQUIRED_VARS QHULL_LIBRARIES QHULL_INCLUDE_DIRS
|
|
)
|
|
|
|
if(QHULL_FOUND)
|
|
set(HAVE_QHULL ON)
|
|
if(NOT QHULL_USE_STATIC)
|
|
add_definitions("-Dqh_QHpointer")
|
|
if(MSVC)
|
|
add_definitions("-Dqh_QHpointer_dllimport")
|
|
endif()
|
|
endif()
|
|
message(STATUS "QHULL found (include: ${QHULL_INCLUDE_DIRS}, lib: ${QHULL_LIBRARIES})")
|
|
endif()
|