still cannot link to petsc, but the rest is functioning properly
This commit is contained in:
parent
93d8c0045e
commit
fee445e1bd
|
@ -28,6 +28,44 @@ if (NOT DEFINED HDF5_DIR)
|
|||
message (FATAL_ERROR "HDF5_DIR is not found!" )
|
||||
endif (NOT DEFINED HDF5_DIR)
|
||||
|
||||
# brutal force to find the variables defined in PETSC
|
||||
# ref:
|
||||
# https://github.com/jedbrown/cmake-modules/blob/master/FindPETSc.cmake
|
||||
set(petsc_conf_variables "${PETSC_DIR}/lib/petsc/conf/variables")
|
||||
set(petsc_conf_rules "${PETSC_DIR}/lib/petsc/conf/rules" )
|
||||
# A temporary makefile to probe the PETSc configuration
|
||||
set (petsc_config_makefile "${PROJECT_BINARY_DIR}/Makefile.petsc")
|
||||
file (WRITE "${petsc_config_makefile}"
|
||||
"## This file was autogenerated by FindPETSc.cmake
|
||||
# PETSC_DIR = ${PETSC_DIR}
|
||||
# PETSC_ARCH = ${PETSC_ARCH}
|
||||
include ${petsc_conf_rules}
|
||||
include ${petsc_conf_variables}
|
||||
show:
|
||||
\t-@echo -n \${\${VARIABLE}}
|
||||
")
|
||||
|
||||
macro (PETSC_GET_VARIABLE name var)
|
||||
set (${var} "NOTFOUND" CACHE INTERNAL "Cleared" FORCE)
|
||||
execute_process (COMMAND ${MAKE_EXECUTABLE} --no-print-directory -f ${petsc_config_makefile}
|
||||
show VARIABLE=${name}
|
||||
OUTPUT_VARIABLE ${var}
|
||||
RESULT_VARIABLE petsc_return)
|
||||
endmacro (PETSC_GET_VARIABLE)
|
||||
petsc_get_variable (PETSC_LIB_DIR "PETSC_LIB_DIR" )
|
||||
petsc_get_variable (PETSC_EXTERNAL_LIB_BASIC "PETSC_LIBS_EXTERNAL")
|
||||
petsc_get_variable (PETSC_CCPPFLAGS "PETSC_CPP_LINE" )
|
||||
petsc_get_variable (PETSC_INCLUDE "PETSC_INCLUDE" )
|
||||
petsc_get_variable (PCC "PETSC_CC" )
|
||||
petsc_get_variable (PCC_FLAGS "PETSC_CC_FLAGS" )
|
||||
petsc_get_variable (MPIEXEC "PETSC_MPIEXEC" )
|
||||
# We are done with the temporary Makefile, calling PETSC_GET_VARIABLE after this point is invalid!
|
||||
# file (REMOVE ${petsc_config_makefile})
|
||||
|
||||
message("${PETSC_DIR}")
|
||||
message("${PETSC_LIB_DIR}")
|
||||
message("${PETSC_INCLUDE}")
|
||||
|
||||
# OUTPUT TYPE
|
||||
set (SPECTRAL OFF)
|
||||
set (FEM OFF)
|
||||
|
@ -52,7 +90,9 @@ include_directories(${CMAKE_SOURCE_DIR}/code
|
|||
lib
|
||||
${HDF5_DIR}/include
|
||||
)
|
||||
link_directories(${HDF5_DIR}/lib)
|
||||
link_directories(${HDF5_DIR}/lib
|
||||
${PETSC_DIR}/lib
|
||||
${PETSC_EXTERNAL_LIB_BASIC})
|
||||
|
||||
##
|
||||
# set compile and debug flags
|
||||
|
@ -254,24 +294,24 @@ set (LINK_OPTIONS_ifort "-shared-intel")
|
|||
#-fno-fast-math:
|
||||
# --> otherwise, when setting -ffast-math, isnan always evaluates to false (I would call it a bug)
|
||||
###################################################################################################
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -DDAMASKVERSION=${DAMASKVERSION}")
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -xf95-cpp-input" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -ffree-line-length-240" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fimplicit-none" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fmodule-private" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wall" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wextra" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wcharacter-truncation" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wunderflow" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wsuggest-attribute=pure" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wsuggest-attribute=noreturn" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wconversion-extra" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wimplicit-procedure" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wno-unused-parameter" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fno-range-check" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fall-intrinsics" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fno-fast-math" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fall-intrinsics" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -DDAMASKVERSION=\\\"${DAMASKVERSION}\\\"")
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -xf95-cpp-input" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -ffree-line-length-240" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fimplicit-none" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fmodule-private" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wall" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wextra" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wcharacter-truncation" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wunderflow" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wsuggest-attribute=pure" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wsuggest-attribute=noreturn" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wconversion-extra" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wimplicit-procedure" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -Wno-unused-parameter" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fno-range-check" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fall-intrinsics" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fno-fast-math" )
|
||||
set (COMPILE_OPTIONS_gfortran "${COMPILE_OPTIONS_gfortran} -fall-intrinsics" )
|
||||
###################################################################################################
|
||||
# COMPILE SWITCHES FOR RUNTIME DEBUGGING
|
||||
# -ffpe-trap=invalid,\ stop execution if floating point exception is detected (NaN is silent)
|
||||
|
|
Loading…
Reference in New Issue