Skip to content
This repository was archived by the owner on Sep 28, 2021. It is now read-only.

Commit eeb3d87

Browse files
authored
Merge pull request #9 from votca/for/stable/merge_master
Merge over master changes
2 parents b82f9e8 + e5c47ea commit eeb3d87

6 files changed

Lines changed: 283 additions & 24 deletions

File tree

.gitlab-ci.yml

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
stages:
2+
- canary
3+
- build
4+
5+
.build_script:
6+
retry:
7+
max: 2
8+
variables:
9+
CCACHE_DIR: "${CI_PROJECT_DIR}/ccache"
10+
stage: build
11+
artifacts:
12+
paths:
13+
- ${CI_PROJECT_DIR}/votca
14+
when: always
15+
dependencies: []
16+
cache:
17+
paths:
18+
- ccache/
19+
script:
20+
- ccache -z
21+
- j="$(grep -c processor /proc/cpuinfo 2>/dev/null)" || j=0; ((j++))
22+
- git branch commit_of_build_${CI_BUILD_ID} ${CI_COMMIT_SHA}
23+
- git clone https://github.com/votca/votca
24+
- pushd votca
25+
- if [[ ${CI_COMMIT_TAG} = v[12].[0-9]* ]]; then
26+
git checkout -b ${CI_COMMIT_TAG} ${CI_COMMIT_TAG};
27+
elif [[ ( ${CI_COMMIT_REF_NAME} =~ ^for/([^/]*)/.* || ${CI_COMMIT_REF_NAME} =~ ^(stable)$ ) && ${BASH_REMATCH[1]} != master ]]; then
28+
git checkout -b ${BASH_REMATCH[1]} origin/${BASH_REMATCH[1]};
29+
fi
30+
- git submodule update --recursive --init
31+
- git -C ${CI_PROJECT_NAME} fetch ${CI_PROJECT_DIR} commit_of_build_${CI_BUILD_ID}
32+
- git -C ${CI_PROJECT_DIR} branch -d commit_of_build_${CI_BUILD_ID}
33+
- git -C ${CI_PROJECT_NAME} checkout -f ${CI_COMMIT_SHA}
34+
- mkdir -p build
35+
- pushd build
36+
- cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_TESTING=ON -DBUILD_XTP=ON -DENABLE_WERROR=ON
37+
-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
38+
-DMODULE_BUILD=${MODULE_BUILD} ${MODULE_BUILD:+-DCMAKE_INSTALL_PREFIX=/home/votca/votca.install}
39+
-DWITH_MKL=${WITH_MKL} -DCMAKE_DISABLE_FIND_PACKAGE_MKL=${DISABLE_MKL}
40+
-DUSE_CUDA=${USE_CUDA}
41+
- cmake --build . -- -j2
42+
- ctest --output-on-failure
43+
- test -z "${MODULE_BUILD}" && DESTDIR=${PWD}/install cmake --build . --target install && rm -rf ${PWD}/install/usr && rmdir ${PWD}/install
44+
- sudo cmake --build . --target install
45+
- if [[ ${CLANG_FORMAT} ]]; then cmake --build . --target format && git -C ${CI_PROJECT_DIR}/votca/${CI_PROJECT_NAME} diff --exit-code; fi
46+
- ccache -s
47+
48+
.build:
49+
variables:
50+
DISTRO: "latest"
51+
image: votca/buildenv:${DISTRO}
52+
extends: .build_script
53+
54+
Debug GCC:
55+
stage: canary
56+
variables:
57+
CC: "gcc"
58+
CXX: "g++"
59+
CMAKE_BUILD_TYPE: "Debug"
60+
CLANG_FORMAT: "yes"
61+
extends: .build
62+
63+
None GCC:
64+
variables:
65+
CC: "gcc"
66+
CXX: "g++"
67+
CMAKE_BUILD_TYPE: ""
68+
extends: .build
69+
70+
None Clang:
71+
variables:
72+
CC: "clang"
73+
CXX: "clang++"
74+
CMAKE_BUILD_TYPE: ""
75+
extends: .build
76+
77+
Debug Clang:
78+
variables:
79+
CC: "clang"
80+
CXX: "clang++"
81+
CMAKE_BUILD_TYPE: "Debug"
82+
extends: .build
83+
84+
Release GCC:
85+
variables:
86+
CC: "gcc"
87+
CXX: "g++"
88+
CMAKE_BUILD_TYPE: "Release"
89+
extends: .build
90+
91+
Release Clang:
92+
variables:
93+
CC: "clang"
94+
CXX: "clang++"
95+
CMAKE_BUILD_TYPE: "Release"
96+
extends: .build
97+
98+
Debug GCC Ubuntu:
99+
variables:
100+
CC: "gcc"
101+
CXX: "g++"
102+
CMAKE_BUILD_TYPE: "Debug"
103+
DISTRO: "ubuntu"
104+
extends: .build
105+
106+
Debug Clang Ubuntu:
107+
variables:
108+
CC: "clang"
109+
CXX: "clang++"
110+
CMAKE_BUILD_TYPE: "Debug"
111+
DISTRO: "ubuntu"
112+
extends: .build
113+
114+
Release GCC Ubuntu:
115+
variables:
116+
CC: "gcc"
117+
CXX: "g++"
118+
CMAKE_BUILD_TYPE: "Release"
119+
DISTRO: "ubuntu"
120+
extends: .build
121+
122+
Release Clang Ubuntu:
123+
variables:
124+
CC: "clang"
125+
CXX: "clang++"
126+
CMAKE_BUILD_TYPE: "Release"
127+
DISTRO: "ubuntu"
128+
extends: .build
129+
130+
Debug GCC Rawhide:
131+
variables:
132+
CC: "gcc"
133+
CXX: "g++"
134+
CMAKE_BUILD_TYPE: "Debug"
135+
DISTRO: "fedora_rawhide"
136+
extends: .build
137+
allow_failure: true
138+
139+
Debug Clang Rawhide:
140+
variables:
141+
CC: "clang"
142+
CXX: "clang++"
143+
CMAKE_BUILD_TYPE: "Debug"
144+
DISTRO: "fedora_rawhide"
145+
extends: .build
146+
allow_failure: true
147+
148+
Release GCC Rawhide:
149+
variables:
150+
CC: "gcc"
151+
CXX: "g++"
152+
CMAKE_BUILD_TYPE: "Release"
153+
DISTRO: "fedora_rawhide"
154+
extends: .build
155+
allow_failure: true
156+
157+
Release Clang Rawhide:
158+
variables:
159+
CC: "clang"
160+
CXX: "clang++"
161+
CMAKE_BUILD_TYPE: "Release"
162+
DISTRO: "fedora_rawhide"
163+
extends: .build
164+
allow_failure: true
165+
166+
Release GCC Module:
167+
variables:
168+
CC: "gcc"
169+
CXX: "g++"
170+
CMAKE_BUILD_TYPE: "Release"
171+
MODULE_BUILD: "yes"
172+
extends: .build
173+
174+
Debug GPU Ubuntu:
175+
variables:
176+
CC: "gcc"
177+
CXX: "g++"
178+
CMAKE_BUILD_TYPE: "Debug"
179+
USE_CUDA: "yes"
180+
WITH_MKL: "no"
181+
DISABLE_MKL: "yes"
182+
NO_INSTALL: "yes"
183+
before_script:
184+
- source /opt/gromacs-2019/bin/GMXRC.bash
185+
extends: .build_script
186+
allow_failure: true
187+
tags:
188+
- gpu

.travis.yml

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,22 @@ sudo: required
99
services:
1010
- docker
1111

12+
git:
13+
quiet: true
14+
15+
stages:
16+
- canary
17+
- test
18+
- deploy
19+
20+
jobs:
21+
include:
22+
- stage: canary
23+
env: ENV=3
24+
- stage: deploy
25+
if: repo = votca/votca AND type != pull_request
26+
env: ENV=1
27+
1228
env:
1329
matrix:
1430
- ENV=1
@@ -43,31 +59,25 @@ before_script:
4359
cp -vr ${TRAVIS_REPO_SLUG}/docker ${HOME};
4460
mv -v ${TRAVIS_REPO_SLUG} $HOME/docker;
4561
else
46-
git clone --recursive https://github.com/votca/votca.git $HOME/docker/votca;
62+
git clone -q --recursive https://github.com/votca/votca.git $HOME/docker/votca;
4763
if [[ ${TRAVIS_BRANCH} != master ]]; then
48-
git -C ${HOME}/docker/votca checkout -b ${TRAVIS_BRANCH} origin/${TRAVIS_BRANCH} && git -C ${HOME}/docker/votca submodule update --recursive --init;
64+
git -C ${HOME}/docker/votca checkout -b ${TRAVIS_BRANCH} ${TRAVIS_TAG:-origin/${TRAVIS_BRANCH}} && git -C ${HOME}/docker/votca submodule update --recursive --init;
4965
fi;
5066
git -C ${HOME}/docker/votca/${TRAVIS_REPO_SLUG#*/} fetch ${PWD}/${TRAVIS_REPO_SLUG} current_commit;
5167
git -C ${HOME}/docker/votca/${TRAVIS_REPO_SLUG#*/} checkout -f FETCH_HEAD;
5268
cp -vr ${HOME}/docker/votca/docker/* ${HOME}/docker;
5369
if [[ -d ${TRAVIS_REPO_SLUG}/docker ]]; then cp -vr ${TRAVIS_REPO_SLUG}/docker/* ${HOME}/docker; fi;
5470
fi
5571
- source ${HOME}/docker/set_env.sh
56-
- cp -r $HOME/.ccache ${HOME}/docker/ccache
72+
- test -n "${SKIP}" || cp -r $HOME/.ccache ${HOME}/docker/ccache
5773
- sed -i "1s/latest/${DISTRO:-latest}/" ${HOME}/docker/Dockerfile
5874
- if [[ ! ${SKIP} ]]; then
59-
travis_retry timeout 540 docker pull $(sed -n '1s/FROM //p' ${HOME}/docker/Dockerfile);
75+
travis_retry timeout 540 docker pull $(sed -n '1s/FROM //p' ${HOME}/docker/Dockerfile) | cat;
6076
fi
6177

6278
script:
6379
- if [[ ! ${SKIP} ]]; then
6480
travis_retry docker build "${docker_opts[@]}"
65-
--build-arg CC=${CC} --build-arg CXX=${CXX} --build-arg CXXFLAGS="-Wall ${WERROR:+-Werror}"
66-
--build-arg CI=${CI} --build-arg TRAVIS=${TRAVIS} --build-arg TRAVIS_OS_NAME=${DISTRO:-fedora}
67-
--build-arg TRAVIS_BRANCH=${TRAVIS_BRANCH} --build-arg TRAVIS_JOB_NUMBER=${TRAVIS_JOB_NUMBER}
68-
--build-arg TRAVIS_PULL_REQUEST=${TRAVIS_PULL_REQUEST} --build-arg TRAVIS_JOB_ID=${TRAVIS_JOB_ID}
69-
--build-arg TRAVIS_TAG=${TRAVIS_TAG} --build-arg TRAVIS_REPO_SLUG=${TRAVIS_REPO_SLUG}
70-
--build-arg TRAVIS_COMMIT=${TRAVIS_COMMIT}
7181
${TRAVIS_TAG:+-t votca/votca:${TRAVIS_TAG}}
7282
-t votca/votca:latest -t votca/votca:${TRAVIS_BRANCH} ${HOME}/docker/ &&
7383
rm -rf $HOME/.ccache &&
@@ -76,21 +86,21 @@ script:
7686
fi
7787

7888
after_success:
79-
- shopt -s extglob && [[ ${TRAVIS_BRANCH} = @(master|stable|v1.*) && ${CC} = *gcc* && ${DOCKERHUB} = yes && ! ${SKIP} ]] && DEPLOY=yes
89+
- if [[ ${TRAVIS_REPO_SLUG} != votca/votca || ${TRAVIS_BUILD_STAGE_NAME} != "Deploy" || ${SKIP} ]]; then travis_terminate 0; fi
90+
- shopt -s extglob && [[ ${TRAVIS_BRANCH} = @(master|stable|v1.*) ]] && DEPLOY=yes
8091
- if [[ ${TRAVIS_BRANCH} = master ]]; then DOCKER_TAG=latest; else DOCKER_TAG="${TRAVIS_BRANCH}"; fi
8192
- if [[ ${DOCKER_USERNAME} && ${DOCKER_PASSWORD} && ${TRAVIS_PULL_REQUEST} == false && ${DEPLOY} ]]; then
8293
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
8394
docker push "${TRAVIS_REPO_SLUG}:${DOCKER_TAG}";
8495
fi
85-
- if [[ ${DOXYGEN} = yes && ! ${SKIP} ]]; then
96+
- if true; then
8697
git clone --depth=1 https://github.com/votca/doxygen.git "$HOME/devdoc";
8798
cd $HOME/devdoc;
8899
rm -f *;
89100
git checkout -- CNAME;
90101
docker cp ${CON}:/home/votca/votca/build/share/doc/html . ;
91102
mv html/* .; rmdir html;
92103
docker cp ${CON}:/home/votca/votca/build/csg-manual/manual.pdf . ;
93-
docker cp ${CON}:/home/votca/votca/build/ctp/manual/ctp-manual.pdf . ;
94104
docker cp ${CON}:/home/votca/votca/build/xtp/manual/xtp-manual.pdf . ;
95105
git add --all .;
96106
if [[ ${TRAVIS_BRANCH} = master && ${encrypted_7abbb71c3ba6_key} && ${encrypted_7abbb71c3ba6_iv} && ${TRAVIS_PULL_REQUEST} == false ]]; then
@@ -106,6 +116,14 @@ after_success:
106116
fi;
107117
fi
108118

119+
branches:
120+
only:
121+
- master
122+
- development
123+
- stable
124+
- next
125+
- /^v\d+\.\d+(\.\d+|_rc\d+)?$/
126+
109127
cache:
110128
- ccache
111129

CMakeLists.txt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,25 @@ project(xtp-tutorials)
44

55
set(PROJECT_VERSION "1.6_rc2")
66

7+
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)
8+
include(GNUInstallDirs)
9+
10+
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ DESTINATION ${CMAKE_INSTALL_DATADIR}/votca/xtp-tutorials
11+
PATTERN ".git*" EXCLUDE
12+
PATTERN "CMake*" EXCLUDE PATTERN "cmake_install.cmake" EXCLUDE
13+
PATTERN "install_manifest.txt" EXCLUDE PATTERN "*~" EXCLUDE)
14+
15+
configure_file(${CMAKE_MODULE_PATH}/cmake_uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake IMMEDIATE @ONLY)
16+
option(ENABLE_TESTING "Test if cmake worked" OFF)
17+
if(ENABLE_TESTING)
18+
enable_testing()
19+
add_test(regression_xtp-tutorial_UninstallExists ${CMAKE_COMMAND} -DFileToCheck=${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
20+
-P ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/FileExists.cmake)
21+
22+
set_tests_properties(regression_xtp-tutorial_UninstallExists PROPERTIES LABELS "xtp-tutorials")
23+
endif(ENABLE_TESTING)
24+
add_custom_target(uninstall-xtp-tutorials COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
25+
if(NOT TARGET uninstall)
26+
add_custom_target(uninstall)
27+
endif()
28+
add_dependencies(uninstall uninstall-xtp-tutorials)

CMakeModules/FileExists.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
if(EXISTS ${FileToCheck})
2+
message("${FileToCheck} exists.")
3+
else()
4+
message(FATAL_ERROR "${FileToCheck} doesn't exist.")
5+
endif()
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
2+
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
3+
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
4+
5+
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
6+
STRING(REGEX REPLACE "\n" ";" files "${files}")
7+
FOREACH(file ${files})
8+
MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
9+
IF(EXISTS "$ENV{DESTDIR}${file}")
10+
EXEC_PROGRAM(
11+
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
12+
OUTPUT_VARIABLE rm_out
13+
RETURN_VALUE rm_retval
14+
)
15+
IF(NOT "${rm_retval}" STREQUAL 0)
16+
MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
17+
ENDIF(NOT "${rm_retval}" STREQUAL 0)
18+
ELSE(EXISTS "$ENV{DESTDIR}${file}")
19+
MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
20+
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
21+
ENDFOREACH(file)
22+

README.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
This is a tutorial for the VOTCA-XTP package
22

3-
How to approach the tutorial? [Click here](https://github.com/votca/xtp-tutorials/blob/electrostatics/guide/TUTORIAL.md).
3+
How to approach the tutorial? [Click here](https://github.com/votca/xtp-tutorials/blob/master/guide/TUTORIAL.md).
44

55
Installation instructions and developer information can be found
66
[here](https://github.com/votca/votca/blob/master/share/doc/INSTALL.md)
@@ -11,18 +11,22 @@ http://www.votca.org
1111
The development of VOTCA is mainly funded by academic research grants. If you
1212
use this package, please cite the VOTCA papers:
1313

14-
* Electronic Excitations in Complex Molecular Environments: Many-Body Green’s
15-
Functions Theory in VOTCA-XTP Jens Wehner, Lothar Brombacher, Joshua Brown,
16-
Christoph Junghans, Onur Caylak, Yuriy Khalak, Pranav Madhikar, Gianluca
17-
Tirimbo, Björn Baumeier J. Chem. Theory Comput. 14, 6353 (2018).
14+
* Excited-State Electronic Structure of Molecules Using Many-Body Green’s Functions: Quasiparticles and Electron-Hole Excitations with VOTCA-XTP,
15+
G. Tirimbo, V. Sundaram, O. Caylak, W. Scharpach, J. Sijen, C. Junghans, J. Brown, F. Zapata Ruiz, N. Renaud, J. Wehner, and B. Baumeier,
16+
ChemRxiv:11477895 (2020).
1817

19-
* Microscopic simulations of charge transport in disordered organic semiconductors
20-
V. Ruehle, A. Lukyanov, F. May, M. Schrader, T. Vehoff, J. Kirkpatrick, B. Baumeier and D. Andrienko
21-
J. Chem. Theo. Comp. 7, 3335-3345 (2011)
18+
* Electronic Excitations in Complex Molecular Environments: Many-Body Green’s
19+
Functions Theory in VOTCA-XTP Jens Wehner, Lothar Brombacher, Joshua Brown,
20+
Christoph Junghans, Onur Caylak, Yuriy Khalak, Pranav Madhikar, Gianluca
21+
Tirimbo, Björn Baumeier J. Chem. Theory Comput. 14, 6353 (2018).
2222

23-
* Versatile Object-oriented Toolkit for Coarse-graining Applications,
24-
V.Ruehle, C. Junghans, A. Lukyanov, K. Kremer, D. Andrienko,
25-
J. Chem. Theo. Comp. 5 (12), 3211 (2009)
23+
* Microscopic simulations of charge transport in disordered organic semiconductors
24+
V. Ruehle, A. Lukyanov, F. May, M. Schrader, T. Vehoff, J. Kirkpatrick, B. Baumeier and D. Andrienko
25+
J. Chem. Theo. Comp. 7, 3335-3345 (2011)
26+
27+
* Versatile Object-oriented Toolkit for Coarse-graining Applications,
28+
V.Ruehle, C. Junghans, A. Lukyanov, K. Kremer, D. Andrienko,
29+
J. Chem. Theo. Comp. 5 (12), 3211 (2009)
2630

2731
In case of questions, please post them in the google discussion group
2832
for votca at [here](https://groups.google.com/forum/#!forum/votca)

0 commit comments

Comments
 (0)