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:
akva
2011-02-17 16:09:06 +00:00
committed by Knut Morten Okstad
parent 9333737c50
commit 189a1e34df
33 changed files with 716 additions and 369 deletions

View 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)

View 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)

View 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)

View 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)

View 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)

View 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)

View 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 )

View 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)

View 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)