PROJECT(wr09) #set minimum cmake version cmake_minimum_required(VERSION 2.4) #---------------------------------------------------------------------------------------------------- # General Settings #---------------------------------------------------------------------------------------------------- SET( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true ) SET( CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".lib" ".la" ".a") SET( CMAKE_CXX_COMPILER "g++-4.2" ) SET( CMAKE_COLOR_MAKEFILE ON) # Add Definitions, Compiler-Switches, etc.: -Wall -O2 -g3 ... SET( CXX_FLAGS "-Wall -g -O3 -fomit-frame-pointer -funroll-loops" CACHE STRING "" ) #---------------------------------------------------------------------------------------------------- # Options, that can be changed be the User in order to customise wr09 #---------------------------------------------------------------------------------------------------- SET( BLAS_LIB "blas" CACHE STRING "" ) SET( GRIDTYPE "SGRID" CACHE STRING "GRIDTYPE" ) SET( GRIDDIM "2" CACHE STRING "GRIDDIM" ) SET( DIM_OF_WORLD "2" CACHE STRING "DIM_OF_WORLD" ) SET( POLORDER "1" CACHE STRING "POLORDER" ) SET( DUNE_HOME "/share/dune/Dune/dune_praktikum_ss09_x86_64" CACHE STRING "base dir for DUNE" ) SET( GRAPE_PATH "/share/dune/Modules/modules_x86_64/grape" CACHE STRING "GRAPE_PATH" ) SET (GRAPE_LIBS "" ) IF (EXISTS "${GRAPE_PATH}/libgr.a" ) LINK_DIRECTORIES( "/usr/lib" "${GRAPE_PATH}" ) INCLUDE_DIRECTORIES( ${GRAPE_PATH} ) ADD_DEFINITIONS(-DHAVE_GARPE=1 ) SET (GRAPE_LIBS "gr" "GL" ) ENDIF (EXISTS "${GRAPE_PATH}/libgr.a" ) SET( ALUGRID_BASE_PATH "/share/dune/Modules/modules_x86_64/ALUGrid-1.14" CACHE STRING "ALUGRID_BASE_PATH" ) SET (ALUGRID_LIBS "" ) IF( EXISTS "${ALUGRID_BASE_PATH}/lib/libalugrid.a" ) ADD_DEFINITIONS( -I${ALUGRID_BASE_PATH}/include -I${ALUGRID_BASE_PATH}/include/serial -I${ALUGRID_BASE_PATH}/include/duneinterface -DENABLE_ALUGRID ) LINK_DIRECTORIES( "${ALUGRID_BASE_PATH}/lib" ) SET( ALUGRID_LIBS "alugrid" ) ENDIF( EXISTS "${ALUGRID_BASE_PATH}/lib/libalugrid.a" ) ADD_DEFINITIONS(-DHAVE_CONFIG_H -DPOLORDER=${POLORDER} ) ADD_DEFINITIONS(-D${GRIDTYPE} -DGRIDDIM=${GRIDDIM} -DDIM_OF_WORLD=${DIM_OF_WORLD} ) #needs to come first to include correct config.h INCLUDE_DIRECTORIES( ${wr09_SOURCE_DIR} ) INCLUDE_DIRECTORIES( ${DUNE_HOME} ) #do NOT change order here SET( MODULES fem common istl grid ) FOREACH( MODULE ${MODULES} ) INCLUDE_DIRECTORIES( ${DUNE_HOME}/dune-${MODULE} ) LINK_DIRECTORIES(${DUNE_HOME}/dune-${MODULE}/${MODULE}/.libs ) ENDFOREACH(MODULE) LINK_DIRECTORIES( "/usr/lib" ) ADD_DEFINITIONS( ${CXX_FLAGS} ) #---------------------------------------------------------------------------------------------------- # Source listing #---------------------------------------------------------------------------------------------------- FILE( GLOB sourcefiles "*.cc" ) FOREACH ( file ${sourcefiles} ) string(REPLACE ".cc" "" binary ${file} ) string(REPLACE "${wr09_SOURCE_DIR}/" "" binary ${binary} ) ADD_EXECUTABLE( ${binary} ${file} ) TARGET_LINK_LIBRARIES( ${binary} "common" "grid" "fem" ${BLAS_LIB} ${GRAPE_LIBS} ${ALUGRID_LIBS} "${DUNE_HOME}/dune-common/common/stdstreams.o" ) ENDFOREACH ( file )