Files
IFEM/cmake/Modules/FindIFEM.cmake
2015-07-09 09:42:49 +02:00

53 lines
1.8 KiB
CMake

IF(IFEM_INCLUDES AND IFEM_LIBRARIES)
SET(IFEM_FIND_QUIETLY TRUE)
ENDIF(IFEM_INCLUDES AND IFEM_LIBRARIES)
IF(NOT DEFINED FORCE_SYSTEM_IFEM OR NOT "${FORCE_SYSTEM_IFEM}")
FIND_PATH(IFEM_INCLUDES
NAMES ASMbase.h
PATHS ${PROJECT_SOURCE_DIR}/../../src/ASM)
ENDIF(NOT DEFINED FORCE_SYSTEM_IFEM OR NOT "${FORCE_SYSTEM_IFEM}")
IF(IFEM_INCLUDES)
# Build is in-tree
MESSAGE(STATUS "Using in-tree libIFEM")
FIND_PATH(Int_INCL AnaSol.h ${PROJECT_SOURCE_DIR}/../../src/Integrands)
FIND_PATH(SIM_INCL SIMbase.h ${PROJECT_SOURCE_DIR}/../../src/SIM)
FIND_PATH(Alg_INCL MatVec.h ${PROJECT_SOURCE_DIR}/../../src/LinAlg)
FIND_PATH(Utl_INCL Vec3.h ${PROJECT_SOURCE_DIR}/../../src/Utility)
SET(IFEM_INCLUDES ${IFEM_INCLUDES}
${Int_INCL} ${SIM_INCL} ${Alg_INCL} ${Utl_INCL})
FIND_LIBRARY(IFEM_LIBRARIES
NAMES IFEM
PATHS ${PROJECT_SOURCE_DIR}/../../${IFEM_BUILD_TYPE}/lib
PATHS ${PROJECT_SOURCE_DIR}/../../${CMAKE_BUILD_TYPE}/lib
${PROJECT_SOURCE_DIR}/../../lib
NO_DEFAULT_PATH)
IF(NOT IFEM_LIBRARIES)
MESSAGE(WARNING "Could not find the in-tree libIFEM library, "
"we assume it will be built into a build-type dir")
SET(IFEM_LIBRARIES ${PROJECT_SOURCE_DIR}/../../${IFEM_BUILD_TYPE}/lib/libIFEM.a)
ENDIF(NOT IFEM_LIBRARIES)
ELSE(IFEM_INCLUDES)
IF(NOT DEFINED FORCE_SYSTEM_IFEM OR NOT "${FORCE_SYSTEM_IFEM}")
MESSAGE(STATUS "No in-tree libIFEM found, looking for system library")
ENDIF(NOT DEFINED FORCE_SYSTEM_IFEM OR NOT "${FORCE_SYSTEM_IFEM}")
FIND_PATH(IFEM_INCLUDES
NAMES SIMbase.h
PATHS $ENV{HOME}/include
PATH_SUFFIXES IFEM)
FIND_LIBRARY(IFEM_LIBRARIES
NAMES IFEM
PATHS $ENV{HOME}/lib)
ENDIF(IFEM_INCLUDES)
INCLUDE(FindPackageHandleStandardArgs)
find_package_handle_standard_args(IFEM DEFAULT_MSG
IFEM_INCLUDES IFEM_LIBRARIES)