问题标签 [omake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
848 浏览

c++ - 带有子目录的 OMake 编译

纵观 OMake 文档,似乎每当使用来自子目录的源时——它们总是首先编译成静态库。这总是必要的吗?我可以在不构建库的情况下编译和链接所有内容吗?我一直在尝试为此编写 OMakefiles,但没有成功。

示例目录结构:

我的项目:OMakeroot、OMakefile、main.cpp

我的项目/标题:file1.h

我的项目/src:file1.cpp


myproject OMakeroot 内容:

开放构建/C

.子目录:。

myproject Omakefile 内容:

CXX = g++

CXXFLAGS = -墙

包括 += 标头 src

CXXProgram(myapp, main file1)


headers 和 src 目录中的 OMakefiles 是空的,不确定其中是否需要任何内容​​。

当我运行 omake myapp 时出现错误:

不知道如何构建“myapp”所需的“file1.o”

0 投票
2 回答
174 浏览

post-build - 使用 omake 进行构建后测试

有没有办法将构建后命令添加到 omakefile?我希望它在每次构建成功时自动运行单元测试,但不确定执行此操作的最佳方法。

0 投票
1 回答
595 浏览

build-system - 构建目标列表生成器时如何在 OMake 中处理具有未知目标的构建规则

我有一个使用 OMake 构建系统的项目,我正在尝试处理一个相当棘手的极端情况。

我有一些定义文件和一个可以获取这些定义文件并创建 GraphViz 文件的工具。但是有两个问题:

  • 每个定义文件可以产生多个图形,它可以产生的图形列表被编码在文件中。我的转储工具确实有一个-list选项,它列出了定义文件将生成的所有图形。
  • 此转储工具内置于源代码树中。
  • 我希望这个列表在 OMakefile 中可用,这样我就可以使用其他规则将 DOT 文件转换为 SVG,并且有一个依赖于所有 SVG 的虚假目标(目标:构建我所有图形的 SVG 描述的单个构建命令)。

如果我只有第一个问题,那就很容易了——我会运行该工具来构建一个列表,然后使用该列表来构建一个目标,该目标调用转储程序来输出 GraphViz 文件。但是,我宁愿在需要之前强制构建转储工具。

如果是这样make,我只会make递归地运行来构建转储工具。但是,OMake 不允许递归调用,并且该build函数只能从osh.

有什么建议可以很好地解决这个问题吗?

0 投票
1 回答
984 浏览

msbuild - omake 和 nmake 的区别

请告诉我omake和nmake之间的区别。当我们推出 clearcase 时,我们希望从 omake 迁移到 nmake。请解释从omake迁移到nmake的过程?另外,如果有一些并发症,请告诉我。

0 投票
2 回答
182 浏览

path - 如何确保在 OMake 中引用了目录名称?

我有一套相对复杂的 OMake 文件,专为在特定平台上进行交叉编译而设计。我的源代码是 C++。

我是从 Windows 构建的,我需要将包含名称中包含空格的目录传递给编译器。插入到命令行中以编译文件的包含字符串的创建方式是:

在 OMake 文件中的其他一些地方,我有如下一行:

在命令行的中间,这扩展为:

我希望它扩展到:

如果可能的话,除了“INCLUDES += ...”行之外,我不想更改任何内容,尽管修改该文件中的其他内容也可以。我不想更改 PREFIXED_INCLUDES 的定义之类的事情,因为它位于一组 OMake 文件中,这些文件是 SDK 的一部分,可能会在我下面发生变化。这可能吗?如果是这样,我该怎么做?如果不是,我可以通过什么方式确保通过修改小makefile代码(希望是一行)来引用其中包含空格的内容?

0 投票
2 回答
796 浏览

makefile - 我的 Makefile 中有硬编码路径 - 如何使用 ocamlfind 消除这些路径?(或如何使用 ocamlbuild 或 omake 代替)

我正在尝试构建一个需要 camlp4 扩展的 ocaml 项目(在本例中为 pa_deriving)。这是我的Makefile:

这个 Makefile 有效;它完成了工作,但问题是我上面有硬编码的路径,例如: /home/p/godi-3.12.1.0/lib/ocaml/site-lib/deriving-ocsigen/pa_deriving.cma 指的是我的 OCaml 的 godi 安装。我想摆脱这些,以便我可以分发代码和 Makefile,以便任何人都可以使用它进行构建。

我应该为此使用 omake 还是 ocamlbuild ?我想使用 omake 并且为此使用了 OMakefile ,但没​​有任何工作 - 任何建议将不胜感激。

更新:我尝试将 ocamlbuild 与以下 _tags 文件一起使用:

使用以下 ocamlbuild 命令:ocamlbuild -use-ocamlfind test_logic.native -classic-display

我得到:

我需要在 _tags 文件中添加什么来纠正这个问题?

0 投票
1 回答
142 浏览

makefile - 是否有“omake -P”(服务器模式)的替代方案?

omake 构建系统具有称为“服务器模式”的令人敬畏的功能,使用命令行开关“omake -P”调用。这将导致 omake 监视文件系统的任何文件更改——当有文件更改时,它将启动适当的构建操作。

不幸的是,omake 似乎不再得到积极维护,并且 -P 功能在 Ubuntu 12.04 上存在严重问题。(如果有人关心,我可以详细讨论这些)。

有谁知道像 make/omake 这样具有类似于 omake -P 的功能的构建系统?

0 投票
1 回答
534 浏览

visual-studio-2010 - 如何为 Visual Studio 2010 项目使用 Omake 构建系统

我有一个项目,在VS-2010. 并且运行良好。但我想make-file通过使用创建一个Omake. 如何在Omake. 我已经浏览了 的所有文档Omake,但没有说明如何制作。我的VS-2010项目也包含.c, .cpp, .h, .rcMFC many subdirectories

0 投票
1 回答
99 浏览

regex - 试图在 omake 中获得不贪婪的正则表达式

我在一个 omake 文件中工作,并有一个字符串表示一个路径。我正在尝试删除第一个目录。

这是我的字符串:

我写了这个正则表达式:

但结果是 util. 虽然我想收到的是这个字符串:\Common\noa\common\util

我尝试使用"?"不贪婪,但在这里不起作用(omake文件)

有人知道怎么做吗?

0 投票
1 回答
431 浏览

ocaml - (OCamlfind) 构建依赖于 Core 的库

我正在尝试构建一个依赖于 Core 和 Core_extended 的小型库。我按照在 OCaml 中在哪里放置共享实用程序模块下的说明进行操作?并在 ocamlfind 中安装了库(在 META 文件中声明对 Core_extended 和 Core 的依赖)。现在在顶层使用它可以正常工作。

但是,当我尝试使用此库构建测试文件时,它不会自动检测到 Core 和 Core_extend 的依赖关系。使用这些编译指令

ocamlfind ocamlopt -c -g -package my_lib -thread -o file.cmx file.ml

ocamlfind ocamlopt -g -linkpkg -package my_lib -thread file.cmx -o file.native

我收到以下错误:

错误:没有为以下模块提供实现:

如果我使用额外的参数“-package core_extended”编译文件,那么它会编译,但是这是非常不切实际的。

有没有办法让这个依赖对编译过程透明,这样“-package my_lib”会自动加载到 Core 和 Core_extended 中?

编辑:这是我的元文件的内容:

编辑2:

在 META 文件中将“depends”重命名为“requires”解决了这个问题!