使用CMake我使用的是第三方库TinyThread ++,它是一个简单的Thread库包装器,只包含1个源文件和2个头文件。
在我的项目CMakeList.txt中,我添加了以下行:
add_library(TinyThread STATIC ${CMAKE_CURRENT_SOURCE_DIR}/../../third_party/TinyThread/source/tinythread.cpp)
然后在这个库中添加了一个依赖项到我的可执行文件,这很有用。
我试图弄清楚如何将两个头文件复制或导出到我在项目中使用的公共包含目录。
${CMAKE_CURRENT_SOURCE_DIR}/../../include
建议的方法是什么?
答案 0 :(得分:1)
我认为你应该这样做:
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)
答案 1 :(得分:1)
如果您只是想在编译时“使用”这些标题文件,可以像Naszta解释的那样使用include_directories()。
如果您确实要复制文件,可以使用configure_file()或file( COPY ... )(查看文件()命令部分的底部)。