oSz*_*oSz 3 c++ makefile cmake clion
我最近开始学习 cmake 和 make,但遇到了一个我无法解决的问题。
我有两个项目,一个在 IDE CLion 中使用 cmake 的小型测试应用程序和一个使用 make 的库,我无法更改它们的构建系统。我想从 cmake 项目构建使用 make 的那个。库的 make 文件本身运行良好。
这是项目布局:
project/CMakeLists.txt
project/libvz/Makefile
project/libvz/main.cpp
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
CMakeLists.txt:
cmake_minimum_required(VERSION 3.0.0)
project(builder)
add_custom_target("libvz"
"/usr/bin/make -f ${CMAKE_CURRENT_SOURCE_DIR}/libvz/Makefile")
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我收到错误消息:“/bin/sh: /usr/bin/make -f /home/szil/project/libvz/Makefile: No such file or directory”
我还尝试使用 ExternalProject_Add 和 ExternalProject_Add_Step 命令进行构建,但都不适合我。
感谢任何帮助,谢谢!
您可能只需要避免将整个make命令括在一组引号中。通过这样做,CMake 正在寻找一个名为“/usr/bin/make -f ...”的可执行文件。
add_custom_target(libvz
/usr/bin/make -f "${CMAKE_CURRENT_SOURCE_DIR}/libvz/Makefile")
Run Code Online (Sandbox Code Playgroud)
从表面上看,这ExternalProject_Add听起来像是这项工作的更好工具 - 也许它的工作原因与此不同?
| 归档时间: |
|
| 查看次数: |
4049 次 |
| 最近记录: |