Skip to content

Commit

Permalink
Merge pull request #392 from leobago/develop
Browse files Browse the repository at this point in the history
Preparing release 1.6
  • Loading branch information
leobago authored Feb 24, 2021
2 parents 80d2d74 + b53eef9 commit f28f746
Show file tree
Hide file tree
Showing 31 changed files with 260 additions and 465 deletions.
7 changes: 1 addition & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -412,10 +412,6 @@ else()
link_to_fti(${ZLIB_LIBRARIES})
endif()

if(NOT ENABLE_COVERAGE)
set(ADD_CFLAGS "${ADD_CFLAGS} -O1")
endif()

# TODO: COMPILER_FLAGS is superseded by COMPILER_OPTIONS (CMake 3.6+)
set_property(SOURCE ${SRC_FTI} PROPERTY COMPILE_FLAGS "${MPI_C_COMPILE_FLAGS} ${ADD_CFLAGS}")

Expand Down Expand Up @@ -507,8 +503,7 @@ if(ENABLE_DOCU)
add_subdirectory(docs/Doxygen)
endif()

file(COPY examples/config.fti DESTINATION examples)
file(COPY examples/configBkp.fti DESTINATION examples)
file(COPY examples/template.ini DESTINATION examples)
file(COPY examples/plot.sh DESTINATION examples)
file(COPY examples/vplot.plg DESTINATION examples)
file(COPY examples/README DESTINATION examples)
Expand Down
183 changes: 129 additions & 54 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ def itf_suite_compilation(stage) {
}

def itf_suite(stage, compilerName) {
labelledShell (label:'Clean Folder', script:"rm -rf build/ install/")
labelledShell (label:"Clean Folder", script:"rm -rf build/ install/")
labelledShell (
label:'Build FTI',
label:"Build FTI",
script:"testing/tools/ci/build.sh ${compilerName}"
)
tests = labelledShell (
Expand All @@ -32,7 +32,7 @@ def itf_suite(stage, compilerName) {
catchError {
labelledShell (
label: "Suite: ${test}",
script: "testing/tools/ci/testdriver --run ${test}"
script: "./run testing/tools/ci/testdriver --run ${test}"
)
}
}
Expand All @@ -49,6 +49,32 @@ def feature_checks(compilerName) {
stage('Feature checks') { itf_suite('features', compilerName) }
}

// FIXME workaround until hdf5 checks fixed
def itf_suite_intel(stage, compilerName) {
labelledShell (label:"Clean Folder", script:"rm -rf build/ install/")
labelledShell (
label:"Build FTI",
script:"testing/tools/ci/build.sh ${compilerName}"
)
tests = labelledShell (
label: "List ${stage} suites",
script: "testing/tools/ci/testdriver --find ${stage} | egrep -v hdf5",
returnStdout: true
).trim()

for (String test : tests.split('\n'))
catchError {
labelledShell (
label: "Suite: ${test}",
script: "./run testing/tools/ci/testdriver --run ${test}"
)
}
}

def feature_checks_intel(compilerName) {
stage('Feature checks') { itf_suite_intel('features', compilerName) }
}

pipeline {
agent none

Expand All @@ -68,7 +94,8 @@ stages {
stage('GCC-Standard') {
agent {
docker {
image 'ftibsc/ci:latest'
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-gnu-openmpi:/opt/gnu-openmpi --env MPIRUN_ARGS=--oversubscribe --shm-size=4G'
}
}
steps {
Expand All @@ -87,7 +114,8 @@ stages {
stage('GCC-DiffSizes') {
agent {
docker {
image 'ftibsc/ci:latest'
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-gnu-openmpi:/opt/gnu-openmpi --env MPIRUN_ARGS=--oversubscribe --shm-size=4G'
}
}
steps {
Expand All @@ -106,7 +134,8 @@ stages {
stage('GCC-Features') {
agent {
docker {
image 'ftibsc/ci:latest'
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-gnu-openmpi:/opt/gnu-openmpi --env MPIRUN_ARGS=--oversubscribe --shm-size=4G'
}
}
steps {
Expand All @@ -122,123 +151,169 @@ stages {
}
}

//INTEL
//PGI

stage('Intel-Standard') {
when { expression { return env.BRANCH_NAME == 'develop' } }
stage('PGI-Standard') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/ci:latest'
args '--volume intel-compiler:/opt/intel'
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-pgi-openmpi:/opt/pgi-openmpi --env MPIRUN_ARGS="--oversubscribe --mca mpi_cuda_support 0" --shm-size=4G'
}
}
steps {
script { standard_checks('Intel') }
script { standard_checks('PGI') }
}
}

stage('Intel-DiffSizes') {
when { expression { return env.BRANCH_NAME == 'develop' } }
stage('PGI-DiffSizes') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/ci:latest'
args '--volume intel-compiler:/opt/intel'
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-pgi-openmpi:/opt/pgi-openmpi --env MPIRUN_ARGS="--oversubscribe --mca mpi_cuda_support 0" --shm-size=4G'
}
}
steps {
script { diffsizes_checks('Intel') }
script { diffsizes_checks('PGI') }
}
}

stage('Intel-Features') {
when { expression { return env.BRANCH_NAME == 'develop' } }
stage('PGI-Features') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/ci:latest'
args '--volume intel-compiler:/opt/intel'
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-pgi-openmpi:/opt/pgi-openmpi --env MPIRUN_ARGS="--oversubscribe --mca mpi_cuda_support 0" --shm-size=4G'
}
}
steps {
script { feature_checks('Intel') }
script { feature_checks('PGI') }
}
}

//CLANG
//LLVM

stage('LLVM-Standard') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-llvm-openmpi:/opt/llvm-openmpi --env MPIRUN_ARGS=--oversubscribe --shm-size=4G'
}
}
steps {
script { standard_checks('LLVM') }
}
}

stage('CLang-Standard') {
when { expression { return env.BRANCH_NAME == 'develop' } }
stage('LLVM-DiffSizes') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/ci:latest'
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-llvm-openmpi:/opt/llvm-openmpi --env MPIRUN_ARGS=--oversubscribe --shm-size=4G'
}
}
steps {
script { standard_checks('Clang') }
script { diffsizes_checks('LLVM') }
}
}

stage('CLang-DiffSizes') {
when { expression { return env.BRANCH_NAME == 'develop' } }
stage('LLVM-Features') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/ci:latest'
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-llvm-openmpi:/opt/llvm-openmpi --env MPIRUN_ARGS=--oversubscribe --shm-size=4G'
}
}
steps {
script { diffsizes_checks('Clang') }
script { feature_checks('LLVM') }
}
}

stage('CLang-Features') {
when { expression { return env.BRANCH_NAME == 'develop' } }
// Intel

stage('Intel-Standard') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/ci:latest'
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-intel-impi:/opt/intel-impi --shm-size=4G'
}
}
steps {
script { feature_checks('Clang') }
script { standard_checks('Intel') }
}
}

//PGI
stage('Intel-DiffSizes') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-intel-impi:/opt/intel-impi --shm-size=4G'
}
}
steps {
script { diffsizes_checks('Intel') }
}
}

stage('PGI-Standard') {
when { expression { return env.BRANCH_NAME == 'develop' } }
stage('Intel-Features') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/ci:latest'
args '--volume nvidia-compiler:/opt/nvidia'
docker {
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-intel-impi:/opt/intel-impi --shm-size=4G'
}
}
steps {
script { standard_checks('PGI') }
script { feature_checks_intel('Intel') }
}
}

//MPICH

stage('PGI-DiffSizes') {
when { expression { return env.BRANCH_NAME == 'develop' } }
stage('MPICH-Standard') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/ci:latest'
args '--volume nvidia-compiler:/opt/nvidia'
docker {
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-gnu-mpich:/opt/gnu-mpich --shm-size=4G'
}
}
steps {
script { diffsizes_checks('PGI') }
script { standard_checks('MPICH') }
}
}

stage('PGI-Features') {
when { expression { return env.BRANCH_NAME == 'develop' } }
stage('MPICH-DiffSizes') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/ci:latest'
args '--volume nvidia-compiler:/opt/nvidia'
docker {
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-gnu-mpich:/opt/gnu-mpich --shm-size=4G'
}
}
steps {
script { feature_checks('PGI') }
script { diffsizes_checks('MPICH') }
}
}

stage('MPICH-Features') {
when { beforeAgent true; expression { return env.CHANGE_TARGET == 'master' } }
agent {
docker {
image 'ftibsc/debian-stable-slim-dev:latest'
args '--volume ci-gnu-mpich:/opt/gnu-mpich --shm-size=4G'
}
}
steps {
script { feature_checks('MPICH') }
}
}


}}
35 changes: 29 additions & 6 deletions docs/Doxygen/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,33 @@
find_package(Doxygen)
if(DOXYGEN_FOUND)

set(DOXYGEN_INPUT "INPUT = ${CMAKE_SOURCE_DIR}/README.md ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/IO ${CMAKE_SOURCE_DIR}/src/util ${CMAKE_CURRENT_SOURCE_DIR}/cmake.md ${CMAKE_CURRENT_SOURCE_DIR}/config.md ${CMAKE_CURRENT_SOURCE_DIR}/make.md")

if(ENABLE_FORTRAN)
set(DOXYGEN_INPUT
"${DOXYGEN_INPUT} ${CMAKE_CURRENT_SOURCE_DIR}/ftiff.md ${CMAKE_BINARY_DIR}/interface.F90")
endif(ENABLE_FORTRAN)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
DEPENDS bpp_file
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)


if(ENABLE_FORTRAN)
add_custom_target(doc ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS bpp_file
COMMENT "Generating API documentation with Doxygen" VERBATIM)
else()
add_custom_target(doc ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM)
endif(ENABLE_FORTRAN)

install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DESTINATION ${CMAKE_INSTALL_DOCDIR}
PATTERN "CMakeFiles" EXCLUDE
PATTERN "Doxyfile" EXCLUDE
PATTERN "cmake_install.cmake" EXCLUDE
PATTERN "Makefile" EXCLUDE)

endif(DOXYGEN_FOUND)
15 changes: 3 additions & 12 deletions docs/Doxygen/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.

OUTPUT_DIRECTORY = @CMAKE_BINARY_DIR@/doc/Doxygen
OUTPUT_DIRECTORY = @CMAKE_BINARY_DIR@/docs/Doxygen

# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
Expand Down Expand Up @@ -743,16 +743,7 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.

INPUT = @CMAKE_SOURCE_DIR@/README.md \
@CMAKE_SOURCE_DIR@/include/ \
@CMAKE_SOURCE_DIR@/src \
@CMAKE_SOURCE_DIR@/src/IO \
@CMAKE_SOURCE_DIR@/src/util \
@CMAKE_BINARY_DIR@/interface.F90 \
@CMAKE_CURRENT_SOURCE_DIR@/cmake.md \
@CMAKE_CURRENT_SOURCE_DIR@/config.md \
@CMAKE_CURRENT_SOURCE_DIR@/make.md \
@CMAKE_CURRENT_SOURCE_DIR@/ftiff.md
@DOXYGEN_INPUT@

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down Expand Up @@ -1552,7 +1543,7 @@ EXTRA_SEARCH_MAPPINGS =
# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
# The default value is: YES.

GENERATE_LATEX = YES
GENERATE_LATEX = NO

# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
Expand Down
Loading

0 comments on commit f28f746

Please sign in to comment.