3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-22 20:34:38 +01:00
Go to file
Nils Wentzell 28d600f149 [app4triqs] Rename files and Python module from toto to app4triqs
-Automatically detect any wrap generator files
-rename tests to basic/Py_Basic
2019-09-04 17:37:50 -04:00
.github/ISSUE_TEMPLATE Add issue templates for bug and feature request 2019-05-22 17:25:28 -04:00
c++/app4triqs [app4triqs] Rename files and Python module from toto to app4triqs 2019-09-04 17:37:50 -04:00
doc [app4triqs] Rename files and Python module from toto to app4triqs 2019-09-04 17:37:50 -04:00
python/app4triqs [app4triqs] Rename files and Python module from toto to app4triqs 2019-09-04 17:37:50 -04:00
share [cmake] Exported targets should live in project namespace 2019-08-06 11:32:06 -04:00
test [app4triqs] Rename files and Python module from toto to app4triqs 2019-09-04 17:37:50 -04:00
.clang-format First draft of the triqs application skeleton 2018-03-22 18:16:10 +01:00
.clang-tidy Further cleanining, switching to static library 2018-03-26 00:31:39 +02:00
.dockerignore [jenkins] try to exclude large git packs from build 2019-07-31 12:13:08 -04:00
.travis.yml Disable gcc in travis builds due to ld problem on xenial 2019-08-27 15:54:56 -04:00
ChangeLog.md [doc] Fix few doc problems, add changelog 2018-06-03 22:28:55 -04:00
CMakeLists.txt [cmake] Add -Wno-gcc-compat to project_warnings target 2019-09-04 16:17:51 -04:00
COPYING.txt Major cleaning, Synchronize project structure with qmc codes 2019-04-12 16:36:03 -04:00
Dockerfile [jenkins] Change permissions for application sources in Dockerfile 2019-08-28 11:20:16 -04:00
Jenkinsfile [jenkins] Put a mutex around packaging repo updates 2019-08-27 17:37:02 -04:00
LICENSE.txt Update License file initially copied from triqs project 2019-04-26 10:00:58 -04:00
README.md [app4triqs] Improved README 2019-09-04 17:37:42 -04:00
requirements.txt Add requirements.txt for python package dependencies 2019-07-29 14:42:20 -04:00

Build Status

app4triqs - A skeleton for a TRIQS application

Initial Setup

Caution: The following instructions require the util-linux rename command. Please confirm that you have the right version by running rename --version. For the Perl rename command see instructions in the following section.

To adapt this skeleton for a new TRIQS application, the following steps are necessary:

github_username=myuser
app_name=mynewapp
capital_name=MYNEWAPP

git clone https://github.com/triqs/app4triqs --branch unstable ${app_name}
cd ${app_name}
git reset $(git commit-tree HEAD\^{tree} -m "Create ${app_name} from github.com/triqs/app4triqs skeleton")
git merge --allow-unrelated-histories -s ours HEAD@{1} -m "Track app4triqs skeleton"
find . -type f | grep -v .git | xargs sed -i 's/app4triqs/${app_name}/g; s/APP4TRIQS/${capital_name}/g'
find . -type d | grep -v .git | xargs rename app4triqs ${app_name}
find . -type f | grep -v .git | xargs rename app4triqs ${app_name}
git add -A && git commit -m "Adjust app4triqs skeleton for ${app_name}"
git remote set-url origin https://github.com/${github_username}/${app_name}
git remote add app4triqs_remote https://github.com/triqs/app4triqs
git remote update && git remote prune origin

You can now push to your github repository

git push origin unstable

Perl rename command

If you are using the Perl-based rename command you will need to

find . -type d | grep -v .git | xargs rename 's/app4triqs/${app_name}/'
find . -type f | grep -v .git | xargs rename 's/app4triqs/${app_name}/'

Github SSH interface

If you prefer to use the SSH interface to the remote repository, replace the http link accordingly

https://github.com/myuser/mynewapp   -->   git@github.com:myuser/mynewapp

Merging app4triqs skeleton updates

You can merge future changes to app4triqs into your project with the following commands

git remote update
git merge app4triqs_remote -m "Merge latest app4triqs skeleton changes"

If you should encounter any conflicts resolve them and git commit.

Getting Started

After setting up your application as described above you should customize the following files and directories according to your needs (replace app4triqs in the following by the name of your application)

  • In the c++/app4triqs subdirectory adjust the example files app4triqs.hpp and app4triqs.cpp or add your own source files.
  • In the test/c++ subdirectory adjust the example test basic.cpp or add your own tests.
  • In the python/app4triqs subdirectory add your Python source files. Be sure to remove the app4triqs_module_desc.py file unless you want to generate a Python module from your C++ source code.
  • In the test/c++ subdirectory adjust the example test basic.cpp or add your own tests.
  • The build and install process is identical to the one outline here.

### Optional ###

  • If you want to wrap C++ classes and/or functions provided in the c++/app4triqs/app4triqs.hpp rerun the c++2py tool with
c++2py -r app4triqs_module_desc.py
  • Add your email address to the bottom section of Jenkinsfile for Jenkins CI notification emails
End of build log:
\${BUILD_LOG,maxLines=60}
    """,
    to: 'user@domain.org',