dust3d/thirdparty/cgal/CGAL-4.13/cmake/modules/FindTAUCS.cmake

130 lines
4.4 KiB
CMake
Executable File

# This module finds the TAUCS libraries.
#
# This module sets the following variables:
# TAUCS_FOUND - Set to true if headers and libraries are found
# TAUCS_INCLUDE_DIR - Directories containing the TAUCS header files
# TAUCS_DEFINITIONS - Compilation options to use TAUCS
# TAUCS_LIBRARIES_DIR - Directories containing the TAUCS libraries.
# May be null if TAUCS_LIBRARIES contains libraries name using full path.
# TAUCS_LIBRARIES - TAUCS libraries name.
# May be null if the compiler supports auto-link (e.g. VC++).
# TAUCS_USE_FILE - The name of the cmake module to include to compile
# applications or libraries using TAUCS.
include(${CMAKE_CURRENT_LIST_DIR}/CGAL_GeneratorSpecificSettings.cmake)
# TAUCS requires LAPACK
if(TAUCS_FIND_QUIETLY OR NOT TAUCS_FIND_REQUIRED)
find_package(LAPACK)
else()
find_package(LAPACK REQUIRED)
endif()
if (NOT LAPACK_FOUND)
message(STATUS "TAUCS requires LAPACK and BLAS.")
set(TAUCS_FOUND FALSE)
# Is it already configured?
elseif (TAUCS_INCLUDE_DIR AND TAUCS_LIBRARIES_DIR)
set(TAUCS_FOUND TRUE)
elseif (TAUCS_INCLUDE_DIR AND TAUCS_LIBRARIES)
set(TAUCS_FOUND TRUE)
else()
# reset variables
set( TAUCS_DEFINITIONS "" ) # unused (yet)
set( TAUCS_LIBRARIES "" )
set( TAUCS_LIBRARIES_DIR "" )
# Look first for the TAUCS library distributed with CGAL in auxiliary/taucs.
# Set CGAL_TAUCS_FOUND, CGAL_TAUCS_INCLUDE_DIR and CGAL_TAUCS_LIBRARIES_DIR.
include(${CMAKE_CURRENT_LIST_DIR}/CGAL_Locate_CGAL_TAUCS.cmake)
# Search for TAUCS headers in ${CGAL_TAUCS_INCLUDE_DIR} (TAUCS shipped with CGAL),
# else in $TAUCS_INC_DIR environment variable.
if( CGAL_TAUCS_FOUND )
set( TAUCS_INCLUDE_DIR "${CGAL_TAUCS_INCLUDE_DIR}" )
else()
find_path(TAUCS_INCLUDE_DIR
NAMES taucs.h
HINTS ${CGAL_TAUCS_INCLUDE_DIR}
ENV TAUCS_DIR
ENV TAUCS_INC_DIR
PATH_SUFFIXES taucs include
)
endif()
# Search for TAUCS libraries in ${CGAL_TAUCS_LIBRARIES_DIR} (TAUCS shipped with CGAL),
# else in $TAUCS_LIB_DIR environment variable.
if( CGAL_TAUCS_FOUND AND CGAL_AUTO_LINK_ENABLED )
# if VC++: done
set( TAUCS_LIBRARIES_DIR "${CGAL_TAUCS_LIBRARIES_DIR}" )
else()
find_library(TAUCS_LIBRARY
NAMES "taucs"
PATHS ${CGAL_TAUCS_LIBRARIES_DIR}
ENV TAUCS_DIR
ENV TAUCS_LIB_DIR
PATH_SUFFIXES taucs lib
DOC "TAUCS library"
)
find_library(METIS_LIBRARY
NAMES "metis"
PATHS ${CGAL_TAUCS_LIBRARIES_DIR}
ENV TAUCS
ENV TAUCS_LIB_DIR
PATH_SUFFIXES taucs lib
DOC "Metis library"
)
if(TAUCS_LIBRARY AND METIS_LIBRARY)
set( TAUCS_LIBRARIES "${TAUCS_LIBRARY};${METIS_LIBRARY}" )
endif()
endif()
if (TAUCS_INCLUDE_DIR AND TAUCS_LIBRARIES_DIR)
set(TAUCS_FOUND TRUE)
elseif (TAUCS_INCLUDE_DIR AND TAUCS_LIBRARIES)
set(TAUCS_FOUND TRUE)
else()
set(TAUCS_FOUND FALSE)
endif()
if(NOT TAUCS_FIND_QUIETLY)
if(TAUCS_FOUND)
message(STATUS "TAUCS libraries found.")
else(TAUCS_FOUND)
if(TAUCS_FIND_REQUIRED)
message(FATAL_ERROR "TAUCS libraries not found. Please specify libraries location.")
else()
message(STATUS "TAUCS libraries not found. Please specify libraries location.")
endif()
endif(TAUCS_FOUND)
endif(NOT TAUCS_FIND_QUIETLY)
# Add variables to cache
set( TAUCS_INCLUDE_DIR "${TAUCS_INCLUDE_DIR}"
CACHE PATH "Directories containing the TAUCS header files" FORCE )
set( TAUCS_DEFINITIONS "${TAUCS_DEFINITIONS}"
CACHE STRING "Compilation options to use TAUCS" FORCE )
set( TAUCS_LIBRARIES "${TAUCS_LIBRARIES}"
CACHE FILEPATH "TAUCS libraries name" FORCE )
set( TAUCS_LIBRARIES_DIR "${TAUCS_LIBRARIES_DIR}"
CACHE PATH "Directories containing the TAUCS libraries" FORCE )
#message("DEBUG: TAUCS_INCLUDE_DIR = ${TAUCS_INCLUDE_DIR}")
#message("DEBUG: TAUCS_DEFINITIONS = ${TAUCS_DEFINITIONS}")
#message("DEBUG: TAUCS_LIBRARIES = ${TAUCS_LIBRARIES}")
#message("DEBUG: TAUCS_LIBRARIES_DIR = ${TAUCS_LIBRARIES_DIR}")
#message("DEBUG: TAUCS_FOUND = ${TAUCS_FOUND}")
endif(NOT LAPACK_FOUND)
if(TAUCS_FOUND)
set(TAUCS_USE_FILE "CGAL_UseTAUCS")
endif(TAUCS_FOUND)