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")
|
||||
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()
|
||||
|
||||
# Add local modules
|
||||
@ -46,6 +33,11 @@ FIND_PACKAGE(GoTrivariate REQUIRED)
|
||||
FIND_PACKAGE(LAPACK 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
|
||||
IF(${ENABLE_PETSC})
|
||||
FIND_PACKAGE(Petsc)
|
||||
@ -167,6 +159,9 @@ IF(NOT WIN32)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-parentheses")
|
||||
ENDIF(NOT WIN32)
|
||||
|
||||
# GoTools compile flags
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GoTools_CXX_FLAGS}")
|
||||
|
||||
# Make the IFEM library
|
||||
FILE(GLOB_RECURSE IFEM_SRCS ${PROJECT_SOURCE_DIR}/src/*.[Cf]
|
||||
${PROJECT_SOURCE_DIR}/3rdparty/*.C
|
||||
|
@ -17,6 +17,32 @@ FIND_LIBRARY(GoTools_LIBRARIES
|
||||
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)
|
||||
IF(GoTools_LIBRARIES)
|
||||
find_package_handle_standard_args(GoTools DEFAULT_MSG
|
||||
|
Loading…
Reference in New Issue
Block a user