从cmake文件运行npm命令 我有复杂的C++项目。现在我添加了C++ NoDE.js AdDon我的项目。我想用整个项目来构建这个adddon,所以我需要分别修改cmake文件。 在我的根cmake文件中,我执行了以下操作: add_subdirectory(nodejsaddon) add_custom_target ( npm-target COMMAND cd nodejsaddon && npm install node-addon-api && npm run build )
从cmake文件运行npm命令 我有复杂的C++项目。现在我添加了C++ NoDE.js AdDon我的项目。我想用整个项目来构建这个adddon,所以我需要分别修改cmake文件。 在我的根cmake文件中,我执行了以下操作: add_subdirectory(nodejsaddon) add_custom_target ( npm-target COMMAND cd nodejsaddon && npm install node-addon-api && npm run build ),c++,node.js,npm,cmake,C++,Node.js,Npm,Cmake,nodejsaddon-包含我的加载项源和相应的.gyp和.json文件的文件夹名称。但是,当我运行cmake..\\testproj\\-G“Visual Studio 15 Win64“-T”v140时,主机=x64 我没有看到nodejsaddon文件夹中的npb构建结果。 我做错了什么?如何让npm在nodejsadon文件夹中生成构建文件? 首先,自定义目标不会在项目生成期间运行。它们在构建过程中运行,例如,cmake--build.来构建项目 其次,自定义目标通常仅在显式构建该目标时
nodejsaddon
-包含我的加载项源和相应的.gyp和.json文件的文件夹名称。但是,当我运行cmake..\\testproj\\-G“Visual Studio 15 Win64“-T”v140时,主机=x64
我没有看到nodejsaddon文件夹中的npb构建结果。
我做错了什么?如何让npm在nodejsadon文件夹中生成构建文件?
首先,自定义目标不会在项目生成期间运行。它们在构建过程中运行,例如,cmake--build.
来构建项目
其次,自定义目标通常仅在显式构建该目标时运行。例如,cmake--build。--Target npm Target
如果希望npm target
成为ALL
目标的一部分,则将ALL
添加到命令中:
添加自定义目标(npm目标全部)
命令cd nodejsaddon&&npm安装节点加载项api&&npm运行构建
)
如果目标依赖于首先生成的其他目标,则使用添加依赖项()
添加依赖项信息
但是现在还不清楚您是否真的希望在每次构建期间或在项目生成期间只运行一次。谢谢,我将尝试您的建议。我需要安装节点加载项api并仅在项目生成期间运行build命令。
npm run build
为加载项生成项目文件,因此我不需要通过cmake生成它们(只需要从cmake运行build),但我需要将生成的项目文件添加到整个解决方案中。