CMake: экспортировать сторонние заголовки в каталог - PullRequest
1 голос
/ 14 апреля 2011

Использование CMake Я использую стороннюю библиотеку, TinyThread ++, это простая оболочка библиотеки потоков и содержит только 1 исходный файл и 2 заголовочных файла.

В моем проекте CMakeList.txt я добавил следующую строку:

add_library(TinyThread STATIC ${CMAKE_CURRENT_SOURCE_DIR}/../../third_party/TinyThread/source/tinythread.cpp)

И затем добавил зависимость к этой библиотеке в мой исполняемый файл, это прекрасно работает.

Я пытаюсь выяснить, как скопировать или экспортировать два заголовочных файла в общий каталог include, который я использую в своем проекте.

${CMAKE_CURRENT_SOURCE_DIR}/../../include

Какой рекомендуемый способ сделать это

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Если вы просто хотите «использовать» эти заголовочные файлы во время компиляции, вы можете использовать include_directories () , как объясняет Naszta.

Если вы действительно хотите скопировать файлы, вы можете использовать configure_file () или file (COPY ...) (проверьте в нижней части разделакоманда file ()).

1 голос
/ 14 апреля 2011

Я думаю, вы должны сделать что-то вроде этого:

SET(TINY_THREAD_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" CACHE PATH "TinyThread include path")
SET(TINY_THREAD_SOURCE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/tinythread.cpp" CACHE FILEPATH "TinyThread source file")
...
INCLUDE_DIRECTORIES(${TINY_THREAD_INCLUDE_PATH})
ADD_LIBRARY(TinyThread STATIC ${TINY_THREAD_SOURCE_FILE})

Таким образом, вы можете использовать их позже по имени. Если вы хотите скрыть их в обычном режиме:

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