问题标签 [cmake-custom-command]
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.
string - 如何获取生成器表达式文件的基本名称?
这是我们在 CMake 文档中找到的自定义命令:
假设.hash
我想用 . 替换任何现有扩展名,而不是添加.hash
. 我需要一些方法来剥离扩展名$<TARGET_FILE:myExe>
......我应该怎么做?我能比成熟的正则表达式匹配做得更好吗?
cmake - 如何使用 CMake 构建 fatbin 文件?
我想.cu
使用 CMake 从我的源文件构建一个 fatbin 文件。
我试过这个:
不幸的是 - 这不起作用,因为您可以POST_BUILD
依赖于OBJECT
-type 库。但是,如果我删除该OBJECT
属性,那么我就无法使用CUDA_PTX_COMPILATION ON
它......
然后我会尝试以下OUTPUT
版本add_custom_command()
:
这不会触发任何错误......但也不会构建 fatbin 文件。
如何让 CMake 构建我的 fatbin?:-(
cmake - 如果更新了依赖脚本,如何强制重建目标?
我编写了一些自定义脚本,这些脚本在 CMake 目标的自定义命令中调用。touch script.sh
如果任何脚本被更新(例如),我希望重建目标。我已经使用 DEPENDS 参数尝试了几种变体,但我尝试过的都没有。
这是我所拥有的简化版本:
cmake - Do I always need a target in CMake?
I have a python script, which generates some files for me, and in my script, I have an argument --outputdir
to specify the location of output files. I want to run this script to generate these files and install them later. I used
So output files are generated under ${CMAKE_CURRENT_BINARY_DIR}
, and I can install them later.
but above code did not work, because I have to use a TARGET
or OUTPUT
from the error message. So if I use a dummy one:
This just worked and I can see files are generated under ${CMAKE_CURRENT_BINARY_DIR}
. I believe if I use something like:
this should also work. My question is why do I need a dummy
target anyway? Actually just with COMMAND
I can run my script and with args I can specify where the output files are generated, then with some install command I can install files around. So Am I correct to use a dummy
target in this case and do I have to use a it? Note generateFiles.py
are not changed during the build process and will generate the same files every time. Thanks, i am new to CMake.
cmake - CMake:创建一个只依赖于另一个目标的目标
我正在寻找一种使用 CMake(makefile 示例)实现以下目标的方法:
我目前有以下内容:
这按预期工作,但现在我试图添加“后处理”目标,如下所示(注释掉我的一些测试尝试):
问题是我每次尝试从 CMakeLists.txt 生成 makefile 时都会收到以下错误(或类似错误):
关于如何实现预期功能的任何想法?
BR
git - 在 cmake 构建之前和之后执行 git patch 和 unpatch
我有一个项目,我想在构建代码之前将补丁应用到 git repo,然后在创建可执行文件后取消应用该补丁。原因是我希望将补丁应用于构建,但我希望已修补的存储库在其主分支上保持干净。我注意到add_custom_command
似乎有这种能力,带有PRE_BUILD
和POST_BUILD
说明符。我试过这样的事情:
但是,如果仔细查看文档,他们会在关于speciferadd_custom_command
的部分中提到这一点:PRE_BUILD
在 Visual Studio 生成器上,在目标中执行任何其他规则之前运行。在其他生成器上,在 PRE_LINK 命令之前运行。
事实上,这就是发生的事情。该补丁仅在编译阶段之后和链接阶段之前应用。因此,在应用补丁之前正在编译代码。如何确保在编译代码之前执行补丁?