使用cmake执行make命令

3
我最近开始学习cmake和make,但遇到了一个无法解决的问题。
我有两个项目:一个在IDE CLion中使用cmake的小型测试应用程序和一个使用make的库,我不能更改任何一个项目的构建系统。我想从cmake项目中构建使用make的那个项目。这个库的make文件本身可以正常工作。
以下是项目布局:
project/CMakeLists.txt
project/libvz/Makefile
project/libvz/main.cpp

I have tried the following:

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")

在这种情况下,我遇到了错误:"/bin/sh: /usr/bin/make -f /home/szil/project/libvz/Makefile: 没有那个文件或目录"
我还尝试使用ExternalProject_Add和ExternalProject_Add_Step命令进行构建,但都没有成功。
感谢任何帮助, 谢谢!

你有没有查看过 https://dev59.com/22025IYBdhLWcg3wfmHw ? - malat
1个回答

5
您可能只需要避免在一组引号中包装整个make命令。这样做会导致CMake寻找一个名为“/usr/bin/make -f ...”的可执行文件。
add_custom_target(libvz
                  /usr/bin/make -f "${CMAKE_CURRENT_SOURCE_DIR}/libvz/Makefile")

乍一看,ExternalProject_Add似乎是更好的工具来完成这个任务 - 或许它之前并没有工作的原因和现在一样?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接