CMakeLists 如何把build目录里编译好的东西install时到指定目录里,build目录指编译目录,也可能叫别的名字
时间: 2024-03-16 19:43:55 浏览: 48
在 CMake 中,可以使用 `install` 命令将编译好的文件安装到指定目录中。该命令的语法如下:
```cmake
install(TARGETS <target>
EXPORT <export-name>
RUNTIME DESTINATION <runtime-dir>
LIBRARY DESTINATION <library-dir>
ARCHIVE DESTINATION <archive-dir>
INCLUDES DESTINATION <include-dir>)
```
其中,`TARGETS` 指定要安装的目标,`EXPORT` 指定导出的配置文件名称,`RUNTIME`、`LIBRARY` 和 `ARCHIVE` 分别指定安装目录的类型,`INCLUDES` 指定要安装的头文件目录。
例如,如果要将 `myapp` 目标安装到 `/usr/local/bin` 目录中,可以像下面这样编写 CMakeLists.txt 文件:
```cmake
add_executable(myapp main.cpp)
install(TARGETS myapp DESTINATION /usr/local/bin)
```
在编译时,执行 `cmake` 命令时,可以使用 `-DCMAKE_INSTALL_PREFIX=<prefix>` 参数指定安装目录的前缀。例如:
```bash
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
make install
```
这样,编译好的文件就会被安装到 `/usr/local/bin` 目录中。
阅读全文