【问题标题】:Executing make from cmake从 cmake 执行 make
【发布时间】:2014-09-14 00:45:57
【问题描述】:

我最近开始学习 cmake 和 make,但遇到了一个我无法解决的问题。
我有两个项目,一个在 IDE CLion 中使用 cmake 的小型测试应用程序和一个使用 make 的库,我无法更改任何一个的构建系统。我想从 cmake 项目中构建一个使用 make 的。该库的 make 文件可以独立运行。

这是项目布局:

project/CMakeLists.txt
project/libvz/Makefile
project/libvz/main.cpp

我尝试了以下方法:

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: No such file or directory”

我也尝试使用 ExternalProject_Add 和 ExternalProject_Add_Step 命令进行构建,但对我来说都不起作用。

任何帮助表示赞赏, 谢谢!

【问题讨论】:

标签: c++ makefile cmake clion


【解决方案1】:

您可能只需要避免将整个 make 命令包含在一组引号中。通过这样做,CMake 正在寻找一个名为“/usr/bin/make -f ...”的可执行文件。

add_custom_target(libvz
                  /usr/bin/make -f "${CMAKE_CURRENT_SOURCE_DIR}/libvz/Makefile")

从表面上看,ExternalProject_Add 听起来像是一个更好的工具来完成这项工作 - 也许它不是出于与此相同的原因?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 2010-09-29
    • 2013-01-24
    相关资源
    最近更新 更多