cmake_minimum_required(VERSION 3.0.0) project("zzz") # 在执行cmake --install 命令时 a.txt 被copy到 include文件夹下 install( FILES a.txt DESTINATION include )
Q:
以上是我的cmakelists.txt 文件,我运行
A:
你的CMakeLists.txt文件中使用的是相对路径,并且没有指定install命令的PREFIX。因此,CMake默认将文件安装到系统的include目录下。
要将a.txt文件安装到build/include文件夹下,你可以修改CMakeLists.txt文件如下:
cmake_minimum_required(VERSION 3.0.0) project("zzz") install( FILES a.txt DESTINATION ${CMAKE_BINARY_DIR}/include )
这里,
修改后的CMakeLists.txt文件之后,重新运行CMake和构建命令:
cmake -B build cmake --build build cmake --install build
现在,a.txt文件应该会被安装到build/include文件夹下。
Q:
怎么指定install命令的PREFIX
A:
在CMake中,你可以使用
cmake_minimum_required(VERSION 3.0.0) project("zzz") # 设置安装目录为 build 目录 set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}) install( FILES a.txt DESTINATION include )
在这个例子中,
然后,运行以下命令:
cmake -B build cmake --build build cmake --install build
这将安装a.txt文件到build/include目录下。确保在构建之前删除之前的build目录以确保清除旧的构建信息。