создать простой проект с использованием cmake - PullRequest
0 голосов
/ 03 мая 2019

Поскольку я никогда раньше не использовал CMake и в настоящее время у меня относительно простой проект, я хотел бы начать его использовать (в настоящее время я использую только проекты VS).мой проект использует одну стороннюю библиотеку, которую мне нужно собрать (sqlite), функцию для доступа к базе данных sqlite с помощью этой внешней библиотеки, которая имеет несколько модульных тестов с catch2 и основной исполняемый файл, который является CLI для этой функции базы данных (которая можетполучить некоторые тесты позже).Документация для всего проекта должна быть построена с использованием Doxygen.Тем не менее, даже с этим довольно маленьким проектом CMake является своего рода подавляющим для меня, так как мне удалось собрать статическую библиотеку с помощью cmake или создать тест с catch2 с использованием cmake.Мой текущий каталог Layout выглядит следующим образом:

root
|-3rdParty
   |-catch2
|-build
|-documentation
|-include
   |-sqlite3.h
|-lib
   |-sqlite3.a
|-modules
   |-database
      |-header and source files for database function
   |-CLI
      |-header and source files for CLI
|-src
   |-main.cpp
|-tests
   |-test.cpp

Как я могу добавить статические библиотеки модулей в lib и включить каталог после их создания?

Мне удалось собрать статическую библиотеку, используя

set_target_properties( modulename
  PROPERTIES
  ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib/
)

и добавьте файлы заголовков, используя

set( MY_PUBLIC_HEADERS
  ${CMAKE_CURRENT_SOURCE_DIR}/include/<header.h>
)
file(
  COPY ${MY_PUBLIC_HEADERS} 
  DESTINATION ${CMAKE_SOURCE_DIR}/include/)

Единственная проблема заключается в том, что при удалении файла заголовка в include cmake не копирует его снова

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...