# How to structure your project

**URL:** https://discourse.cmake.org/t/how-to-structure-your-project/9725
**Category:** Usage
**Tags:** os:linux, os:windows
**Created:** [December 27, 2023, 7:09am UTC](https://discourse.cmake.org/t/how-to-structure-your-project/9725 "2023-12-27T07:09:13Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Sea\_Sea](https://discourse.cmake.org/user_avatar/discourse.cmake.org/sea_sea/32/4025_2.png) [@Sea\_Sea](https://discourse.cmake.org/u/Sea_Sea)
#### Post date: [December 27, 2023, 7:09am UTC](https://discourse.cmake.org/t/how-to-structure-your-project/9725/1 "2023-12-27T07:09:13Z")

</div>

1. How to structure your project ? Is it better for this link? It seem to doesnt design the third party place
2. If there are two or above main projcets(like deep learning yolov5 , yolov6, resnet, …), I want to let them into the same project. How to structure that.

The all are using the CMake to control the project.

```auto
- project
  - .gitignore
  - README.md
  - LICENSE.md
  - CMakeLists.txt
  - cmake
    - FindSomeLib.cmake
    - something_else.cmake
  - include
    - project
      - lib.hpp
  - src
    - CMakeLists.txt
    - lib.cpp
  - apps
    - CMakeLists.txt
    - app.cpp
  - tests
    - CMakeLists.txt
    - testlib.cpp
  - docs
    - CMakeLists.txt
  - extern
    - googletest
  - scripts
    - helper.py

```

[https://cliutils.gitlab.io/modern-cmake/chapters/basics/structure.html](https://cliutils.gitlab.io/modern-cmake/chapters/basics/structure.html)
