130 lines
4.4 KiB
CMake
130 lines
4.4 KiB
CMake
|
# 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)
|