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

43
HOWTO Normal file
View File

@@ -0,0 +1,43 @@
Dette må gjøres for å kompilere denne versjonen:
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
sudo apt-get install libarpack2-dev
sudo apt-get install libsuperlu3-dev
sudo apt-get install libboost-dev
sudo apt-get install libpetsc3.0.0-dev
sudo apt-get install libslepc3.0.0-dev
Installer GoToolsCore, SISL og GoTrivariate fra GoTools-svn.
Gjør så cmake ., make og sudo make install i disse katalogene
CMake og out-of-tree builds:
CMake støtter debug og release-builds samtidig vi det som kalles
out-of-tree builds. In-tree builds av App'ene forventer at har byggefilene
i en underkatalog med samme navn som bygge-typen. Feks for å bygge Debug
gjør vi:
cd <root of tree>
mkdir Debug
cd Debug
cmake .. -DCMAKE_BUILD_TYPE:STRING=Debug
På samme måte kan vi lage en release-katalog.
Merk: Hvis du har en CMakeCache.txt i root når du prøver dette, vil
det ikke fungere.
Flagg av interesse:
Per default lenker vi mot et minimum av bibliotek. Det betyr ingen
PETSc, ingen SuperLU, ingen VTFWriter og ingen SAMG. Disse kan slås på
med opsjoner:
-DENABLE_SUPERLU:BOOL=1, -DENABLE_PETSC:BOOL=1, -DENABLE_VTFWRITER:BOOL=1
og -DENABLE_SAMG:BOOL=1.
Vi bygger kun libIFEM og Apps/Poisson.
Stokes og FiniteDefElasticity har egen CMakeLists.txt. Disse er
satt opp til å bruke in-tree kopi av libIFEM per default, men sjekker
system hvis den ikke finner in-tree. Du kan tvinge system med
-DFORCE_SYSTEM_IFEM:BOOL=1. Merk at in-tree sjekkes både for <root>/<type> og
i <root>.