CMake:将第三方标头导出到目录

| 使用CMake我正在使用第三方库TinyThread ++,它是一个简单的线程库包装,仅包含1个源文件和2个头文件。 在我的项目CMakeList.txt中,添加了以下行:
add_library(TinyThread STATIC ${CMAKE_CURRENT_SOURCE_DIR}/../../third_party/TinyThread/source/tinythread.cpp)
然后向我的可执行文件中添加对该库的依赖关系,效果很好。 我试图弄清楚如何将两个头文件复制或导出到我在项目中使用的公共包含目录。
${CMAKE_CURRENT_SOURCE_DIR}/../../include
推荐的方法是什么?     
已邀请:
如果只想在编译时“使用”这些头文件,则可以使用Naszta解释的include_directories()。 如果您确实要复制文件,则可以使用configure_file()或file(COPY ...)(请检查file()命令部分的底部)。     
我认为您应该执行以下操作:
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)
    

要回复问题请先登录注册