seqan / app-template

This template comes pre-configured with various SeqAn libraries and a basic Continuous Integration setup. It is designed to provide a robust starting point for your projects, while offering the flexibility to customize and adapt to your specific requirements.
Other
6 stars 9 forks source link

SeqAn App Template build status codecov

This is a template for C++ app developers. You can easily use this template and modify the existing code to suit your needs. It provides an elementary CMake set-up, some useful SeqAn libraries, and an example application.

For requirements, check the Software section of the SeqAn3 Quick Setup.

Instructions for App Developers:

If you want to build an app, do the following:

  1. You need to be signed in with a GitHub account.
  2. Press the Use this template-Button to create your own repository.
    Screenshot TODO
  3. Clone your repository locally: git clone git@github.com:max/my-repo-name.git

Note: The subsequent steps are not necessary but a recommendation and quick setup.

  1. Adapt the project name in my-repo-name/CMakeLists.txt, e.g., from app-template to MyDragonApp
    The project name is defined in these lines: ```cmake project (app-template LANGUAGES CXX VERSION 1.0.0 DESCRIPTION "My application description" ) ``` Change it e.g. to this: ```cmake project (MyDragonApp LANGUAGES CXX VERSION 1.0.0 DESCRIPTION "Let dragons fly" ) ```
  2. Build and test the app (example)
    Next to your local repository clone (e.g. `my-repo-name`), you can do the following to build and test your app: ```bash mkdir build # create build directory cd build # step into build directory cmake ../my-repo-name # call cmake on the repository make # build the app MyDragonApp make check # build and run tests *1 ./bin/MyDragonApp # Execute the app (prints a short help page) ```

Instructions for SeqAn3 Tutorial Purposes:

If you just want some hands-on experience with SeqAn Libraries or a quick setup for our tutorials, do the following:

  1. Clone this repository: git clone https://github.com/seqan/app-template.git
  2. Create a build directory and visit it: mkdir build && cd build
  3. Run CMake: cmake ../app-template
  4. Build the application: make
  5. Try executing the app: ./bin/app-template

You can now start your hands-on experience by looking at or editing the file src/main.cpp.

Adding a new cpp file

If you want to add a new cpp file (e.g., tutorial1.cpp) that is compiled and linked with the current infrastructure, do the following:

  1. Create a new file tutorial1.cpp in the src/ directory.

    The file content could look like this:
    ```cpp #include int main() { seqan3::debug_stream << "Hello, World!" << std::endl; } ```
  2. Add the following lines at the bottom of src/CMakeLists.txt
    # Add another cpp file.
    add_executable (tutorial01 tutorial01.cpp)
    target_link_libraries (tutorial01 PRIVATE "${PROJECT_NAME}_lib")
  3. Go to the build directory cd build
  4. Refresh CMake cmake .
  5. Build your new cpp file make tutorial01
  6. Execute your new binary with ./tutorial01