- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在尝试使用两个可执行文件设置一个 CMake 项目,其中一个是用于为另一个生成代码的简单实用程序。 CMakeLists.txt 的相关位:
add_executable(lua2c lua2c.c)
add_custom_command(OUTPUT lcode.c COMMAND lua2c lcode.lua lcode.c MAIN_DEPENDENCY lua2c)
...
add_executable(darpem ... lcode.c)
使用此设置,目标 lua2c
最终没有任何依赖项,这导致 cc
提示没有输入文件。如果我删除 add_custom_command
行,则可以正确构建 lua2c
,但显然不会生成文件 lcode.c
。这在 CMake 中可能吗?我是否需要添加某种子目录依赖项?
在 Ubuntu 13.04、x86-64 上使用 CMake 版本 2.8.1。
注意:对于我的特殊情况,因为 lua2c
足够简单,我可以使用不同的语言。然而,我仍然很好奇这怎么可能(对于更复杂的设置)。
最佳答案
来自文档:
Note that MAIN_DEPENDENCY is completely optional and is used as a suggestion to visual studio about where to hang the custom command.
也许这应该可以解决您的问题:
add_executable(lua2c lua2c.c)
add_custom_command(OUTPUT lcode.c COMMAND lua2c lcode.lua lcode.c DEPENDS lua2c)
# ^^^^^^^
...
add_executable(darpem ... lcode.c)
或者如果它不起作用,这个应该可以:
add_executable(lua2c lua2c.c)
add_custom_command(TARGET lua2c
POST_BUILD
COMMAND lua2c lcode.lua lcode.c )
...
add_executable(darpem ... lcode.c)
add_dependencies( darpem lua2c )
它只是在构建 lua2c
之后添加一个构建后事件。并将 lua2c
添加为 darpem
的依赖项。
关于c - 来自另一个目标的 add_custom_command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17820927/
我遇到的问题是 add_custom_command 总是过时的,因此在每次构建时都会运行。自定义命令运行作为同一项目目标的工具来生成另一个目标使用的文件: add_executable(Genera
我有一个关于 CMake 的问题,这似乎在这里很常见,但似乎没有一个答案能解决我的问题。 在 details子目录,有一个CMakeLists.txt其中包含: add_custom_command(
我在为add_custom_command苦苦挣扎。让我详细解释这个问题。 我有这些cxx文件和hxx文件集。我对它们每个运行一个perl脚本,以生成某种类型的翻译文件。该命令看起来像 perl tr
也许这是不可能的,我误读了 cmake 3.2 documentation ,但我虽然创建一个自定义命令会在 Makefile 中创建一个自定义“目标”,以便我可以通过调用输出文件的名称来构建目标。
我正在尝试使用 add_custom_command在构建期间生成文件。该命令似乎从未运行过,所以我制作了这个测试文件。 cmake_minimum_required( VERSION 2.6 ) a
查看最新状态更新 初始条件 代码生成器以一组输入文件作为参数生成一组c++源代码 输入文件可能包括其他输入文件 已经解决了获取输出文件列表,解析输入codegen文件以获得完整的codegen输入列表
我正在尝试运行 gperf来自 cmake文件。 我创建了一个非常小的 CMakeLists.txt以下。 当我运行它时 $ cmake . $ make 它不会创建 example.hpp文件 以下
我目前正在尝试使用两个可执行文件设置一个 CMake 项目,其中一个是用于为另一个生成代码的简单实用程序。 CMakeLists.txt 的相关位: add_executable(lua2c lua2
使用 Cmake v3.8,我需要我的自定义命令仅在生成新构建的 .hex、.map 和 .elf 文件后运行。但是,在生成所有 *.hex、*.map 和 *.elf 文件后,该命令并未真正运行。这
我有一个包含许多子项目的 CMake 项目。 他们每个人都可以使用我提供的函数来生成一个包含某些信息的小文本文件(通过调用 add_custom_command)。 在最后一步,我想将所有这些文件合并
对于我的项目,我想运行一个命令来生成一个已安装的文件(换句话说,生成的文件只是一个数据文件,而不是源代码)。 我目前在我的 CMakeLists.txt 中有以下内容 add_custom_comma
我有一个工具可以生成一些 cpp 和头文件,并想用 ADD_CUSTOM_COMMAND 添加它在构建期间自动执行它并将文件添加到项目中。问题是(大部分)输出文件的名称事先不知道。我如何添加这些文件?
我想要一个 Cmake 函数来将一些二进制文件复制到特定位置。为此,我有以下函数定义: function ( collect_binaries TARGET_NAME DEST_DIR ) se
出于多种原因,我必须通过自定义命令手动生成静态库。 但是,似乎自定义命令仅在目标明确请求其输出文件时才执行。 如果我尝试将生成的静态库与 target_link_libraries 链接起来, CMa
我需要过滤某个目录下的 *.h 和 *.cpp 文件,然后使用一些脚本对其进行格式化,因此我编写了以下代码: add_custom_command( DEPENDS ${GENERATED_S
我有一些 protobuf 文件,它们位于我的 cmake 项目之外的目录中(它们位于 旁边 ${CMAKE_SOURCE_DIR} 的根目录中,我们的主要 CMakeLists .txt 文件是)。
我正在尝试向我的 添加一些自定义构建命令vc2010 项目使用 ADD_CUSTOM_COMMAND .但: [1] 我只是发现 CMAKE 会自动插入比我预期的多得多的代码。 例如,我希望命令完全是
我正在尝试将 cmake 生成的所有二进制文件复制到特定目录。我不想使用 EXECUTABLE_OUTPUT_PATH,将它们保留在构建树中使开发更容易。 所以我使用 add_custom_comma
我想创建一个自定义命令,使用 Apple 的 libtool 将所有静态库合并到一个胖静态库中。构建期间的命令。我正在使用 Xcode 生成器和 CMake 3.19.1。我的脚本是这样的: set(
我遇到了自定义目标(使用 add_custom_target 创建)的 add_custom_command 问题。 我的总体想法是将静态代码分析工具合并到 cmake 工具链中。我的解决方案基于此处
我是一名优秀的程序员,十分优秀!