changed: check GoTools version and bail if < 3.0.0
also moves c++0x check into FindGoTools where it belongs (it's GoTools requiring it, not us) git-svn-id: http://svn.sintef.no/trondheim/IFEM/trunk@1348 e10b68d5-8a6e-419e-a041-bce267b0401d
This commit is contained in:
parent
f397249579
commit
d5036ab66d
@ -21,19 +21,6 @@ ELSE(CMAKE_CXX_COMPILER MATCHES icpc)
|
|||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_CBLAS")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_CBLAS")
|
||||||
ENDIF(CMAKE_CXX_COMPILER MATCHES icpc)
|
ENDIF(CMAKE_CXX_COMPILER MATCHES icpc)
|
||||||
|
|
||||||
INCLUDE(CheckCXXCompilerFlag)
|
|
||||||
|
|
||||||
IF(CMAKE_CXX_COMPILER_ID MATCHES GNU)
|
|
||||||
# check if compiler supports c++-0x
|
|
||||||
CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" HAVE_0x)
|
|
||||||
IF(HAVE_0x)
|
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
|
|
||||||
ELSE(HAVE_0x)
|
|
||||||
MESSAGE("A compiler with c++-0x support is needed")
|
|
||||||
EXIT(1)
|
|
||||||
ENDIF(HAVE_0x)
|
|
||||||
ENDIF(CMAKE_CXX_COMPILER_ID MATCHES GNU)
|
|
||||||
|
|
||||||
ENABLE_TESTING()
|
ENABLE_TESTING()
|
||||||
|
|
||||||
# Add local modules
|
# Add local modules
|
||||||
@ -46,6 +33,11 @@ FIND_PACKAGE(GoTrivariate REQUIRED)
|
|||||||
FIND_PACKAGE(LAPACK REQUIRED)
|
FIND_PACKAGE(LAPACK REQUIRED)
|
||||||
FIND_PACKAGE(ARPACK REQUIRED)
|
FIND_PACKAGE(ARPACK REQUIRED)
|
||||||
|
|
||||||
|
# Mimimum GoTools version
|
||||||
|
IF(GoTools_VERSION_MAJOR LESS 3 OR NOT GoTools_VERSION_MAJOR)
|
||||||
|
MESSAGE(FATAL_ERROR "GoTools >= 3.0.0 required. bailing")
|
||||||
|
ENDIF(GoTools_VERSION_MAJOR LESS 3 OR NOT GoTools_VERSION_MAJOR)
|
||||||
|
|
||||||
# Optional packages
|
# Optional packages
|
||||||
IF(${ENABLE_PETSC})
|
IF(${ENABLE_PETSC})
|
||||||
FIND_PACKAGE(Petsc)
|
FIND_PACKAGE(Petsc)
|
||||||
@ -167,6 +159,9 @@ IF(NOT WIN32)
|
|||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-parentheses")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-parentheses")
|
||||||
ENDIF(NOT WIN32)
|
ENDIF(NOT WIN32)
|
||||||
|
|
||||||
|
# GoTools compile flags
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GoTools_CXX_FLAGS}")
|
||||||
|
|
||||||
# Make the IFEM library
|
# Make the IFEM library
|
||||||
FILE(GLOB_RECURSE IFEM_SRCS ${PROJECT_SOURCE_DIR}/src/*.[Cf]
|
FILE(GLOB_RECURSE IFEM_SRCS ${PROJECT_SOURCE_DIR}/src/*.[Cf]
|
||||||
${PROJECT_SOURCE_DIR}/3rdparty/*.C
|
${PROJECT_SOURCE_DIR}/3rdparty/*.C
|
||||||
|
@ -17,6 +17,32 @@ FIND_LIBRARY(GoTools_LIBRARIES
|
|||||||
PATH_SUFFIXES GoTools
|
PATH_SUFFIXES GoTools
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Check for newer GoTools
|
||||||
|
EXECUTE_PROCESS(COMMAND cat "${GoTools_INCLUDE_DIRS}/GoTools/geometry/GoTools.h" OUTPUT_VARIABLE GOTOOLS_HEADER)
|
||||||
|
STRING(REGEX MATCH "GO_VERSION_MAJOR ([0-9]+)" GoTools_VERSION_MAJOR ${GOTOOLS_HEADER})
|
||||||
|
STRING(REGEX REPLACE "GO_VERSION_MAJOR ([0-9]+)" "\\1" GoTools_VERSION_MAJOR "${GoTools_VERSION_MAJOR}")
|
||||||
|
STRING(REGEX MATCH "GO_VERSION_MINOR ([0-9]+)" GoTools_VERSION_MINOR ${GOTOOLS_HEADER})
|
||||||
|
STRING(REGEX REPLACE "GO_VERSION_MINOR ([0-9]+)" "\\1" GoTools_VERSION_MINOR "${GoTools_VERSION_MINOR}")
|
||||||
|
STRING(REGEX MATCH "GO_VERSION_PATCH ([0-9]+)" GoTools_VERSION_PATCH ${GOTOOLS_HEADER})
|
||||||
|
STRING(REGEX REPLACE "GO_VERSION_PATCH ([0-9]+)" "\\1" GoTools_VERSION_PATCH "${GoTools_VERSION_PATCH}")
|
||||||
|
|
||||||
|
IF (GoTools_VERSION_MAJOR GREATER 2)
|
||||||
|
INCLUDE(CheckCXXCompilerFlag)
|
||||||
|
IF(CMAKE_CXX_COMPILER_ID MATCHES GNU)
|
||||||
|
# check if compiler supports c++-0x
|
||||||
|
CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" HAVE_0x)
|
||||||
|
IF(HAVE_0x)
|
||||||
|
SET(GoTools_CXX_FLAGS "-std=gnu++0x")
|
||||||
|
ELSE(HAVE_0x)
|
||||||
|
MESSAGE("A compiler with c++-0x support is needed")
|
||||||
|
EXIT(1)
|
||||||
|
ENDIF(HAVE_0x)
|
||||||
|
ELSE(CMAKE_CXX_COMPILER_ID MATCHES GNU)
|
||||||
|
MESSAGE("Cannot verify that compiler supports c++-0x, bailing")
|
||||||
|
EXIT(1)
|
||||||
|
ENDIF(CMAKE_CXX_COMPILER_ID MATCHES GNU)
|
||||||
|
ENDIF (GoTools_VERSION_MAJOR GREATER 2)
|
||||||
|
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
IF(GoTools_LIBRARIES)
|
IF(GoTools_LIBRARIES)
|
||||||
find_package_handle_standard_args(GoTools DEFAULT_MSG
|
find_package_handle_standard_args(GoTools DEFAULT_MSG
|
||||||
|
Loading…
Reference in New Issue
Block a user