diff --git a/CMakeLists.txt b/CMakeLists.txt index b45c8d3a5fdb55f5359fbc7e901f8921bf66f215..5dc0de1bfa601c3dd7985e4ce73636b44183c9df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # See the LICENSE.txt file for license information. Please report all # bugs and problems to <gmsh@geuz.org>. -cmake_minimum_required(VERSION 2.6 FATAL_ERROR) +cmake_minimum_required(VERSION 2.8 FATAL_ERROR) # if CMAKE_BUILD_TYPE is specified use it; otherwise set the default # build type to "RelWithDebInfo" ("-O2 -g" with gcc) prior to calling @@ -181,8 +181,7 @@ macro(find_all_libraries VARNAME LISTNAME PATH SUFFIX) if(FOUND_LIB) list(APPEND ${VARNAME} ${FOUND_LIB}) endif(FOUND_LIB) - set(FOUND_LIB FOUND_LIB-NOTFOUND CACHE INTERNAL "") - # unset(FOUND_LIB CACHE) # cleaner, but only available in cmake >= 2.6.4 + unset(FOUND_LIB CACHE) endforeach(LIB) list(LENGTH ${VARNAME} NUM_FOUND_LIBRARIES) if(NUM_FOUND_LIBRARIES LESS NUM_LIST) @@ -713,8 +712,16 @@ if(HAVE_SOLVER) endif(ENABLE_TAUCS) if(ENABLE_PETSC) - set(ENV_PETSC_DIR $ENV{PETSC_DIR}) - set(ENV_PETSC_ARCH $ENV{PETSC_ARCH}) + if(PETSC_DIR) + set(ENV_PETSC_DIR ${PETSC_DIR}) + else(PETSC_DIR) + set(ENV_PETSC_DIR $ENV{PETSC_DIR}) + endif(PETSC_DIR) + if(PETSC_ARCH) + set(ENV_PETSC_ARCH ${PETSC_ARCH}) + else(PETSC_ARCH) + set(ENV_PETSC_ARCH $ENV{PETSC_ARCH}) + endif(PETSC_ARCH) if(EXISTS ${ENV_PETSC_DIR}/${ENV_PETSC_ARCH}/conf/petscvariables) # old-style PETSc installations (using PETSC_DIR and PETSC_ARCH) set_config_option(HAVE_PETSC "PETSc") @@ -746,7 +753,11 @@ if(HAVE_SOLVER) endif(NOT PETSC_LIBS) # find slepc (needs to be linked in before petsc) if(ENABLE_SLEPC) - set(ENV_SLEPC_DIR $ENV{SLEPC_DIR}) + if(SLEPC_DIR) + set(ENV_SLEPC_DIR ${SLEPC_DIR}) + else(SLEPC_DIR) + set(ENV_SLEPC_DIR $ENV{SLEPC_DIR}) + endif(SLEPC_DIR) find_library(SLEPC_LIB slepc PATHS ${ENV_SLEPC_DIR}/${ENV_PETSC_ARCH}/lib) if(SLEPC_LIB) find_path(SLEPC_INC "slepc.h" PATHS ${ENV_SLEPC_DIR} PATH_SUFFIXES include @@ -844,8 +855,7 @@ if(ENABLE_OCC) else(OCC_LIB) message(STATUS "OCC lib " ${OCC} " not Found") endif(OCC_LIB) - set(OCC_LIB OCC_LIB-NOTFOUND CACHE INTERNAL "") - # unset(OCC_LIB CACHE) # cleaner, but only available in cmake >= 2.6.4 + unset(OCC_LIB CACHE) endforeach(OCC) list(LENGTH OCC_LIBS NUM_OCC_LIBS) if(NUM_OCC_LIBS EQUAL NUM_OCC_LIBS_REQUIRED)