3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-23 04:43:42 +01:00
Go to file
2023-09-13 14:50:44 -04:00
.github [build] add libcxx flags for clang workflows 2023-08-15 13:54:10 -04:00
c++/app4triqs [cmake] Fix sanitizer target names 2023-08-21 17:56:39 -04:00
deps [cmake] Do not find find cpp2py when PythonSupport==OFF and subproject 2023-08-15 16:13:54 -04:00
doc [cmake] Install bash files contained in doc pages 2023-08-03 16:20:11 -04:00
packaging Rename easybuild file and update conda meta yaml with version number 2023-06-26 14:37:04 -04:00
python/app4triqs Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00
share Use python3 instead of python2 in replace_and_rename.py script 2023-09-13 14:50:44 -04:00
test Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00
.clang-format Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00
.clang-tidy Synchronize clang-tidy config file with triqs 2023-06-06 10:46:39 -04:00
.dockerignore Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00
.gitignore [gitignore] Ignore doc/_autosummary directory 2023-06-26 11:59:29 -04:00
ChangeLog.md Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00
CMakeLists.txt [cmake] Change target for compiler warnings 2023-08-24 12:38:37 -04:00
COPYING.txt Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00
Dockerfile Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00
Jenkinsfile [jenkins] Remove redundant '-DBuild_Deps=Always' from cmake configuration 2023-06-12 17:40:47 -04:00
LICENSE.txt Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00
README.md Update README.md 2023-08-02 15:13:45 -04:00
requirements.txt Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00

build

app4triqs - A skeleton for a TRIQS application

Initial Setup

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

git clone https://github.com/triqs/app4triqs --branch unstable appname
cd appname
./share/squash_history.sh
./share/replace_and_rename.py appname
git add -A && git commit -m "Adjust app4triqs skeleton for appname"

You can now add your github repository and push to it

git remote add origin https://github.com/username/appname
git remote update
git push origin unstable

If you prefer to use the SSH interface to the remote repository, replace the http link with e.g. git@github.com:username/appname.

Merging app4triqs skeleton updates

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

git remote update
git merge app4triqs_remote/unstable -X ours -m "Merge latest app4triqs skeleton changes"

If you should encounter any conflicts resolve them and git commit. Finally we repeat the replace and rename command from the initial setup.

./share/replace_and_rename.py appname
git commit --amend

Now you can compare against the previous commit with:

git diff prev_git_hash

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)

  • Adjust or remove the README.md and doc/ChangeLog.md file
  • 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/python subdirectory adjust the example test Basic.py or add your own tests.
  • Adjust any documentation examples given as *.rst files in the doc directory.
  • Adjust the sphinx configuration in doc/conf.py.in as necessary.
  • 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',