Это котел для проектов C ++. Что ты получаешь:
.
├── CMakeLists.txt
├── app
│ └── main.cpp
├── include
│ ├── example.h
│ └── exampleConfig.h.in
├── src
│ └── example.cpp
└── tests
├── dummy.cpp
└── main.cpp
Источники идут в SRC/, заголовочные файлы Include/, основные программы в приложении/и тестах идут в тестах/(скомпилируются в unit_tests по умолчанию).
Если вы добавите новый исполняемый файл, скажем, app/hello.cpp , вам нужно только добавить следующие две строки в cmakelists.txt:
add_executable (main app/main.cpp) # Name of exec. and location of file.
target_link_libraries (main PRIVATE ${LIBRARY_NAME} ) # Link the executable to lib built from src/*.cpp (if it uses it). Вы можете найти пример исходного кода, который создает main исполняемый файл в app/main.cpp в разделе Build на cmakelists.txt. Если выполняемый вами исполняемый файл не использует библиотеку в SRC/, то необходима только первая строка.
Стройте, сделав каталог сборки (т.е. build/ ), запустите cmake в этом DIR, а затем make для создания желаемой цели.
Пример:
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=[Debug | Coverage | Release]
make
./main
make test # Makes and runs the tests.
make coverage # Generate a coverage report.
make doc # Generate html documentation. Файл .gitignore - это копия файла GitHub C ++. Gitignore, с добавлением игнорирования каталога сборки ( build/ ).
Если репозиторий активируется с помощью Travis-Ci, то модульные тесты будут созданы и выполнены на каждом коммите. То же самое верно, если репозиторий активируется с помощью Appveyor.
Если репозиторий активируется с помощью Covalls/Codecov, то развертывание в Travis также рассчитывает покрытие кода и загрузите его на Coapalls.io и/или Codecov.io
Нажмите кнопку Use this template , чтобы сделать новый репозиторий из этого шаблона.
При запуске нового проекта вы, вероятно, не хотите истории этого репозитория. Чтобы начать Fresh, вы можете использовать скрипт настройки следующим образом:
git clone https://github.com/bsamseth/cpp-project # Or use ssh-link if you like.
cd cpp-project
bash setup.shРезультатом является свежий репозиторий GIT с одним коммитом, добавляющим все файлы из котла.