3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-22 20:34:38 +01:00
Go to file
2024-03-06 10:43:32 -05:00
.github Update macos build instructions in Jenkinsfile and build.yml 2024-03-05 10:11:26 -05:00
c++/app4triqs Additional corrections to 8d850803 2024-03-04 17:51:58 -05:00
deps [cmake] Use unstable branch of cpp2py 2024-02-28 16:10:12 -05:00
doc [cmake] Only use GNUInstallDirs for LIBDIR 2024-03-01 13:55:33 -05:00
packaging [build] automatically set version in packaging 2023-09-26 15:24:08 -04:00
python/app4triqs Squash app4triqs/3.1.x to reduce skeleton history when tracking 2022-02-17 17:04:28 -05:00
share Additional corrections to 8d850803 2024-03-04 17:51:58 -05: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 Disable notes about C++ ABI changes when using gcc 2024-03-06 10:43:32 -05: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 Update macos build instructions in Jenkinsfile and build.yml 2024-03-05 10:11:26 -05: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',