changed: use a cmake based build system
git-svn-id: http://svn.sintef.no/trondheim/IFEM/trunk@804 e10b68d5-8a6e-419e-a041-bce267b0401d
This commit is contained in:
26
cmake/Modules/FindArpack.cmake
Normal file
26
cmake/Modules/FindArpack.cmake
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
IF (Arpack_LIBRARIES)
|
||||
SET(Arpack_FIND_QUIETLY TRUE)
|
||||
ENDIF (Arpack_LIBRARIES)
|
||||
|
||||
FIND_PATH(Arpack_INCLUDES
|
||||
NAMES
|
||||
arpack++/arpackf.h
|
||||
PATHS
|
||||
$ENV{HOME}/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(Arpack_LIBRARIES arpack
|
||||
PATHS
|
||||
$ENV{HOME}/lib
|
||||
)
|
||||
|
||||
IF(Arpack_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(Arpack_LIBRARIES ${Arpack_LIBRARIES})
|
||||
ENDIF(Arpack_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Arpack DEFAULT_MSG
|
||||
Arpack_LIBRARIES)
|
||||
|
||||
MARK_AS_ADVANCED(Arpack_LIBRARIES)
|
||||
41
cmake/Modules/FindGoTools.cmake
Normal file
41
cmake/Modules/FindGoTools.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
# - Tries to find the GoTools Core library
|
||||
#
|
||||
# Written by: jan.b.thomassen@sintef.no
|
||||
#
|
||||
|
||||
|
||||
# 'GoTools_BUILD_ALL' will be defined in the top-level CMakeLists.txt
|
||||
# file if we are building all of GoTools in one project.
|
||||
IF(GoTools_BUILD_ALL)
|
||||
# Header files
|
||||
SET(GoTools_INCLUDE_DIRS ${GoToolsCore_SOURCE_DIR}/include
|
||||
CACHE PATH "Path to GoTools Core header files")
|
||||
# Library
|
||||
SET(GoTools_LIBRARIES GoToolsCore
|
||||
CACHE FILE "GoTools Core library")
|
||||
ENDIF(GoTools_BUILD_ALL)
|
||||
|
||||
|
||||
# Find header files
|
||||
FIND_PATH(GoTools_INCLUDE_DIRS "GoTools/geometry/SplineSurface.h"
|
||||
"$ENV{HOME}/include"
|
||||
"$ENV{HOME}/install/include"
|
||||
"C:/Program Files (x86)/GoTools/include"
|
||||
)
|
||||
|
||||
|
||||
# Find library
|
||||
FIND_LIBRARY(GoTools_LIBRARIES
|
||||
NAMES GoToolsCore
|
||||
PATHS "$ENV{HOME}/lib"
|
||||
"$ENV{HOME}/install/lib"
|
||||
"C:/Program Files (x86)/GoTools/lib"
|
||||
PATH_SUFFIXES GoTools
|
||||
)
|
||||
|
||||
|
||||
# Check that we have found everything
|
||||
SET(GoTools_FOUND FALSE)
|
||||
IF(GoTools_INCLUDE_DIRS AND GoTools_LIBRARIES)
|
||||
SET(GoTools_FOUND TRUE)
|
||||
ENDIF(GoTools_INCLUDE_DIRS AND GoTools_LIBRARIES)
|
||||
41
cmake/Modules/FindGoTrivariate.cmake
Normal file
41
cmake/Modules/FindGoTrivariate.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
# - Tries to find the GoTools Trivariate library
|
||||
#
|
||||
# Written by: jan.b.thomassen@sintef.no
|
||||
#
|
||||
|
||||
# 'GoTools_BUILD_ALL' will be defined in the top-level CMakeLists.txt
|
||||
# file if we are building all of GoTools in one project.
|
||||
IF(GoTools_BUILD_ALL)
|
||||
# Header files
|
||||
SET(GoTrivariate_INCLUDE_DIRS ${GoTrivariate_SOURCE_DIR}/include
|
||||
CACHE PATH "Path to GoTools Trivariate header files")
|
||||
# Library
|
||||
SET(GoTrivariate_LIBRARIES GoTrivariate
|
||||
CACHE FILE "GoTools Trivariate library")
|
||||
ENDIF(GoTools_BUILD_ALL)
|
||||
|
||||
|
||||
# Find header files
|
||||
FIND_PATH(GoTrivariate_INCLUDE_DIRS
|
||||
"GoTools/trivariate/SplineVolume.h"
|
||||
"$ENV{HOME}/include"
|
||||
"$ENV{HOME}/install/include"
|
||||
"/usr/local/include"
|
||||
"C:/Program Files (x86)/GoTools/include"
|
||||
)
|
||||
|
||||
# Find library
|
||||
FIND_LIBRARY(GoTrivariate_LIBRARIES
|
||||
NAMES GoTrivariate
|
||||
PATHS "$ENV{HOME}/lib"
|
||||
"$ENV{HOME}/install/lib"
|
||||
"C:/Program Files (x86)/GoTools/lib"
|
||||
"/usr/local/lib"
|
||||
PATH_SUFFIXES GoTools
|
||||
)
|
||||
|
||||
# Check that we have found everything
|
||||
SET(GoTrivariate_FOUND FALSE)
|
||||
IF(GoTrivariate_INCLUDE_DIRS AND GoTrivariate_LIBRARIES)
|
||||
SET(GoTrivariate_FOUND TRUE)
|
||||
ENDIF(GoTrivariate_INCLUDE_DIRS AND GoTrivariate_LIBRARIES)
|
||||
53
cmake/Modules/FindIFEM.cmake
Normal file
53
cmake/Modules/FindIFEM.cmake
Normal file
@@ -0,0 +1,53 @@
|
||||
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
|
||||
SIMbase.h
|
||||
PATHS
|
||||
${PROJECT_SOURCE_DIR}/../../src/
|
||||
PATH_SUFFIXES SIM)
|
||||
ENDIF((NOT DEFINED(FORCE_SYSTEM_IFEM)) OR (NOT ${FORCE_SYSTEM_IFEM}))
|
||||
|
||||
# Build is in-tree
|
||||
IF(IFEM_INCLUDES)
|
||||
SET(IFEM_INCLUDES
|
||||
${PROJECT_SOURCE_DIR}/../../src/ASM
|
||||
${PROJECT_SOURCE_DIR}/../../src/Eig
|
||||
${PROJECT_SOURCE_DIR}/../../src/Integrands
|
||||
${PROJECT_SOURCE_DIR}/../../src/LinAlg
|
||||
${PROJECT_SOURCE_DIR}/../../src/SIM
|
||||
${PROJECT_SOURCE_DIR}/../../src/Utility)
|
||||
MESSAGE(STATUS "Using in-tree libIFEM")
|
||||
FIND_LIBRARY(IFEM_LIBRARIES
|
||||
IFEM
|
||||
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}/../../${CMAKE_BUILD_TYPE}/lib/libIFEM.a)
|
||||
ENDIF(NOT IFEM_LIBRARIES)
|
||||
ELSE(IFEM_INCLUDES)
|
||||
MESSAGE(STATUS "No in-tree libIFEM found, looking for system library")
|
||||
FIND_PATH(IFEM_INCLUDES
|
||||
NAMES
|
||||
SIMbase.h
|
||||
PATHS
|
||||
$ENV{HOME}/include
|
||||
PATH_SUFFIXES IFEM)
|
||||
FIND_LIBRARY(IFEM_LIBRARIES
|
||||
IFEM
|
||||
PATHS
|
||||
$ENV{HOME}/lib)
|
||||
ENDIF(IFEM_INCLUDES)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(IFEM DEFAULT_MSG
|
||||
IFEM_INCLUDES IFEM_LIBRARIES)
|
||||
|
||||
MARK_AS_ADVANCED(IFEM_INCLUDES IFEM_LIBRARIES)
|
||||
59
cmake/Modules/FindPetsc.cmake
Normal file
59
cmake/Modules/FindPetsc.cmake
Normal file
@@ -0,0 +1,59 @@
|
||||
FIND_PATH(
|
||||
PETSC_INCLUDE_DIR
|
||||
NAMES petsc.h
|
||||
PATHS /usr/include/petsc/
|
||||
$ENV{PETSC_DIR}
|
||||
)
|
||||
FIND_PATH(
|
||||
PETSCCONF_INCLUDE_DIR
|
||||
NAMES petscconf.h
|
||||
PATHS /usr/include/petsc/
|
||||
)
|
||||
|
||||
IF( PETSCCONF_INCLUDE_DIR EQUAL PETSC_INCLUDE_DIR )
|
||||
SET(CMAKE_REQUIRED_INCLUDES "${PETSC_INCLUDE_DIR};${CMAKE_REQUIRED_INCLUDES}")
|
||||
ELSE( PETSCCONF_INCLUDE_DIR EQUAL PETSC_INCLUDE_DIR )
|
||||
SET(CMAKE_REQUIRED_INCLUDES "${PETSC_INCLUDE_DIR};${PETSCCONF_INCLUDE_DIR};${CMAKE_REQUIRED_INCLUDES}")
|
||||
ENDIF( PETSCCONF_INCLUDE_DIR EQUAL PETSC_INCLUDE_DIR )
|
||||
|
||||
#MESSAGE( STATUS "CMAKE_REQUIRED_INCLUDES: ${CMAKE_REQUIRED_INCLUDES}")
|
||||
|
||||
INCLUDE (CheckIncludeFiles)
|
||||
CHECK_INCLUDE_FILES(petscconf.h HAVE_PETSCCONF_H)
|
||||
CHECK_INCLUDE_FILES(petsc.h HAVE_PETSC_H)
|
||||
IF ( HAVE_PETSC_H )
|
||||
ADD_DEFINITIONS( -DHAVE_PETSC_H -DHAVE_PETSC )
|
||||
ENDIF( HAVE_PETSC_H )
|
||||
|
||||
|
||||
#FIND_LIBRARY(PETSC_LIB_MPIUNI mpiuni PATHS /usr/local/petsc-2.3.3-p8/lib/linux-gnu-c-debug QUIET )
|
||||
FIND_LIBRARY(PETSC_LIB_PETSC petsc PATHS /usr/lib)
|
||||
FIND_LIBRARY(PETSC_LIB_PETSCDM petscdm PATHS /usr/lib)
|
||||
FIND_LIBRARY(PETSC_LIB_PETSCVEC petscvec PATHS /usr/lib)
|
||||
FIND_LIBRARY(PETSC_LIB_PETSCMAT petscmat PATHS /usr/lib)
|
||||
FIND_LIBRARY(PETSC_LIB_PETSCKSP petscksp PATHS /usr/lib)
|
||||
FIND_LIBRARY(PETSC_LIB_PETSCSNES petscsnes PATHS /usr/lib)
|
||||
|
||||
IF(PETSC_LIB_PETSC)
|
||||
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSC})
|
||||
ENDIF(PETSC_LIB_PETSC)
|
||||
|
||||
IF(PETSC_LIB_PETSCDM)
|
||||
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSCDM})
|
||||
ENDIF(PETSC_LIB_PETSCDM)
|
||||
|
||||
IF(PETSC_LIB_PETSCVEC)
|
||||
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSCVEC})
|
||||
ENDIF(PETSC_LIB_PETSCVEC)
|
||||
|
||||
IF(PETSC_LIB_PETSCMAT)
|
||||
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSCMAT})
|
||||
ENDIF(PETSC_LIB_PETSCMAT)
|
||||
|
||||
IF(PETSC_LIB_PETSCKSP)
|
||||
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSCKSP})
|
||||
ENDIF(PETSC_LIB_PETSCKSP)
|
||||
|
||||
IF(PETSC_LIB_PETSCSNES)
|
||||
SET(PETSC_LIBRARIES ${PETSC_LIBRARIES} ${PETSC_LIB_PETSCSNES})
|
||||
ENDIF(PETSC_LIB_PETSCSNES)
|
||||
21
cmake/Modules/FindSAMG.cmake
Normal file
21
cmake/Modules/FindSAMG.cmake
Normal file
@@ -0,0 +1,21 @@
|
||||
IF (SAMG_LIBRARIES)
|
||||
SET(SAMG_FIND_QUIETLY TRUE)
|
||||
ENDIF(SAMG_LIBRARIES)
|
||||
|
||||
FIND_PATH(SAMG_INCLUDES
|
||||
NAMES
|
||||
samg.h
|
||||
PATHS
|
||||
$ENV{HOME}/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SAMG_LIBRARIES amg_coo
|
||||
PATHS
|
||||
$ENV{HOME}/lib
|
||||
)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(SAMG DEFAULT_MSG
|
||||
SAMG_LIBRARIES)
|
||||
|
||||
MARK_AS_ADVANCED(SAMG_LIBRARIES)
|
||||
41
cmake/Modules/FindSLEPc.cmake
Normal file
41
cmake/Modules/FindSLEPc.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
# -*- mode: cmake -*-
|
||||
#
|
||||
# This file is part of the Feel library
|
||||
#
|
||||
# Author(s): Christophe Prud'homme <christophe.prudhomme@ujf-grenoble.fr>
|
||||
# Date: 2010-01-22
|
||||
#
|
||||
# Copyright (C) 2010 Universit<69> Joseph Fourier
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 3.0 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#
|
||||
find_path (SLEPC_DIR include/slepc.h
|
||||
HINTS ENV SLEPC_DIR
|
||||
PATHS
|
||||
/usr/lib/slepcdir/3.0.0 # Debian
|
||||
$ENV{HOME}/slepc
|
||||
DOC "SLEPc Directory")
|
||||
|
||||
SET(SLEPC_INCLUDE_DIR "${SLEPC_DIR}/include/")
|
||||
CHECK_INCLUDE_FILES( ${SLEPC_INCLUDE_DIR}/slepc.h HAVE_SLEPC_H )
|
||||
FIND_LIBRARY(SLEPC_LIB_SLEPC slepc )
|
||||
SET(SLEPC_LIBRARIES ${SLEPC_LIB_SLEPC} CACHE STRING "SLEPc libraries" FORCE)
|
||||
# message( "*** SLEPc directory : ${SLEPC_DIR}" )
|
||||
if (HAVE_SLEPC_H AND SLEPC_DIR AND SLEPC_LIBRARIES )
|
||||
set(HAVE_SLEPC 1)
|
||||
set(SLEPC_FOUND ON)
|
||||
endif()
|
||||
set(SLEPC_INCLUDES ${SLEPC_INCLUDE_DIR} CACHE STRING "SLEPc include path" FORCE)
|
||||
MARK_AS_ADVANCED( SLEPC_DIR SLEPC_LIB_SLEPC SLEPC_INCLUDES SLEPC_LIBRARIES )
|
||||
50
cmake/Modules/FindSuperLU.cmake
Normal file
50
cmake/Modules/FindSuperLU.cmake
Normal file
@@ -0,0 +1,50 @@
|
||||
IF(SuperLU_INCLUDES AND SuperLU_LIBRARIES)
|
||||
SET(SUPERLU_FIND_QUIETLY TRUE)
|
||||
ENDIF(SuperLU_INCLUDES AND SuperLU_LIBRARIES)
|
||||
|
||||
FIND_PATH(SuperLU_INCLUDES
|
||||
NAMES
|
||||
supermatrix.h
|
||||
PATHS
|
||||
$ENV{HOME}/include
|
||||
PATH_SUFFIXES superlu
|
||||
)
|
||||
|
||||
FIND_PATH(SuperLU_MT_INCLUDES
|
||||
NAMES
|
||||
slu_mt_machines.h
|
||||
PATHS
|
||||
$ENV{HOME}/include
|
||||
PATH_SUFFIXES superlu
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SuperLU_LIBRARIES superlu
|
||||
PATHS
|
||||
$ENV{HOME}/lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SuperLU_MT_LIBRARIES superlu_mt
|
||||
PATHS
|
||||
$ENV{HOME}/lib
|
||||
)
|
||||
|
||||
IF(SuperLU_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(SuperLU_LIBRARIES ${SuperLU_LIBRARIES} -lgfortran)
|
||||
ENDIF(SuperLU_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
IF(SuperLU_MT_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(SuperLU_MT_LIBRARIES ${SuperLU_MT_LIBRARIES} -lgfortran)
|
||||
ENDIF(SuperLU_MT_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
IF(SuperLU_LIBRARIES)
|
||||
find_package_handle_standard_args(SuperLU DEFAULT_MSG
|
||||
SuperLU_INCLUDES SuperLU_LIBRARIES)
|
||||
ENDIF(SuperLU_LIBRARIES)
|
||||
IF(SuperLU_MT_LIBRARIES)
|
||||
find_package_handle_standard_args(SuperLU DEFAULT_MSG
|
||||
SuperLU_MT_INCLUDES SuperLU_MT_LIBRARIES)
|
||||
ENDIF(SuperLU_MT_LIBRARIES)
|
||||
|
||||
MARK_AS_ADVANCED(SuperLU_INCLUDES SuperLU_LIBRARIES
|
||||
SuperLU_MT_INCLUDES SuperLU_MT_LIBRARIES)
|
||||
26
cmake/Modules/FindVTFWriter.cmake
Normal file
26
cmake/Modules/FindVTFWriter.cmake
Normal file
@@ -0,0 +1,26 @@
|
||||
IF(VTFWRITER_INCLUDES AND VTFWRITER_LIBRARIES)
|
||||
SET(VTFWRITER_FIND_QUIETLY TRUE)
|
||||
ENDIF(VTFWRITER_INCLUDES AND VTFWRITER_LIBRARIES)
|
||||
|
||||
FIND_PATH(VTFWRITER_INCLUDES
|
||||
NAMES
|
||||
VTFAPI.h
|
||||
PATHS
|
||||
$ENV{HOME}/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(VTFWRITER_LIBRARIES
|
||||
VTFExpressAPI
|
||||
PATHS
|
||||
$ENV{HOME}/lib
|
||||
)
|
||||
|
||||
IF(VTFWRITER_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(VTFWRITER_LIBRARIES ${VTFWRITER_LIBRARIES})
|
||||
ENDIF(VTFWRITER_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(VTFWRITER DEFAULT_MSG
|
||||
VTFWRITER_INCLUDES VTFWRITER_LIBRARIES)
|
||||
|
||||
MARK_AS_ADVANCED(VTFWRITER_INCLUDES VTFWRITER_LIBRARIES)
|
||||
Reference in New Issue
Block a user