我正在通过名为myBinary的cmake构建可执行文件
它使用2个C ++源文件A.cxx和B.cxx构建并与myLibrary链接
我在同一目录中有一个测试文件myTest.txt
我使用构建目录,我制作了makefile文件
mkdir build
cd build
cmake ../src
我怎么可能将这个txt文件(myTest.txt)添加到cmake文件中来获取它
a)复制到构建目录
b)在Windows上构建cmake时包含在Visual Studio解决方案树中
cmake_minimum_required (VERSION 2.8.11)
include_directories(../../framework)
add_executable(myBinary A.cxx B.cxx)
target_include_directories (mylibrary PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries (mylibrary)
[更新1]
如果我将txt添加为源文件,它将出现在visual studio解决方案中,但它不会出现在复制的目录中,
理想情况下,我还需要将文件复制到“Debug”目录中,即Target可执行目录。这样,当我测试myBinary目录时,文件将位于正确的位置。
将myBinary视为可能的googletest可执行文件,我想在单元测试中检查文件的读取。
add_executable(myBinary
A.cxx
B.cxx
myTest.txt
)
答案 0 :(得分:1)
您可以使用add_custom_command()
添加generator expressions的构建后步骤add_custom_command(
TARGET myBinary
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"${CMAKE_CURRENT_SOURCE_DIR}/myTest.txt"
"$<TARGET_FILE_DIR:myBinary>/myTest.txt"
)
<强>参考强>