Skip to content
/ app-template Public 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.

License

Notifications You must be signed in to change notification settings

seqan/app-template

Repository files navigation

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 [email protected]: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:

    project (app-template
             LANGUAGES CXX
             VERSION 1.0.0
             DESCRIPTION "My application description"
    )

    Change it e.g. to this:

    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:

    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:
    #include <seqan3/core/debug_stream.hpp>
    
    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

About

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.

Resources

License

Stars

Watchers

Forks