cmake - premake4 外源构建

标签 cmake premake

我对 premake4 还是个新手。在此之前,我使用过 cmake,并且喜欢构建路径的“源外”生成。不幸的是我没有找到在 premake4 中做到这一点的方法。我期望类似于 cmake 的 premake4 gmake ../path/to/src 之类的东西。但这没有用。

我想尽可能保持源代码的干净。因此,假设源位于 /home/workspace/src 我想创建一个文件夹 /home/workspace/build 其中包含所有编译/链接信息和可执行文件.

我喜欢premake4,因为它的脚本是用lua编写的。但是,如果无法生成源外构建路径,我认为我应该坚持使用 cmake。

因此,您知道是否可以使用 premake4 生成“源外”构建路径吗?

最佳答案

在项目脚本中,定义一个新的命令行选项,如下所示:

newoption {
    trigger = "to",
    value   = "path",
    description = "Set the output location for the generated files"
}

然后用它来设置生成文件的位置:

solution "MySolution"
    location ( _OPTIONS["to"] )

然后你就可以使用它了:

$ premake4 --to=../path/to/generated/projects vs2010

您还可以对其他与输出相关的值执行类似的操作,例如:

local base = _OPTIONS["to"] or "."
targetdir ( path.join(base, "build") )
objdir ( path.join(base, "obj") )

关于cmake - premake4 外源构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25385781/

相关文章:

gradle NDK cmake 构建在链接期间失败

c++ - Premake4 实用程序和应用程序入口点

c++ - Premake 无法在 Linux 上使用 g++?

build-process - cmake命令语法问题

android - CMake 脚本忽略 CMAKE_ANDROID_ARCH_ABI,始终构建 armeabi

c++ - 为什么 CUDA 程序可以与 CMake “FIND_PACKAGE” 一起使用,但不能与 “LANGUAGES CUDA” 一起使用?

lua - Premake5 不会在 FreeBSD 10.1 上构建

python - Premake 在我的存储库中找不到 lua 脚本(完全相同的存储库在我的 mainpc 上工作)

xcode - 从 <math.h> 链接函数时,OSX/Darwin 无法解析符号

c++ - Cmake : Copy in library file if not present