如何将构建期间生成的文件添加到我的包含目录?

雅各布·菲尔德

我正在尝试使用Python脚本为C ++代码生成一些头文件和源文件,并将它们移动到适当的源目录,因为后续的C ++构建需要它们。

这是我当前代码的迭代形式:

# Generate the Parameters and ParamParser files.
add_custom_command(
  OUTPUT include/waveparameters.h
         include/waveparser.h
         src/waveparser.cpp
  DEPENDS ${PROJECT_SOURCE_DIR}/scripts/wave.json
  COMMAND python3 ${CMAKE_SOURCE_DIR}/scripts/genParams.py ${CMAKE_CURRENT_SOURCE_DIR}/scripts/wave.json
  COMMENT "Generating custom Parameters files"
  VERBATIM USES_TERMINAL
)

add_custom_target(PAR_GENERATION
  DEPENDS include/waveparameters.h
          include/waveparser.h
          src/waveparser.cpp
)

set(MULTIGRID_INCLUDE_FILES
    include/waveparameters.h
    include/firstorderwave.h
    include/waveparser.h
   )
set(MULTIGRID_SOURCE_FILES
    src/multiGridTest.cpp
    src/firstorderwave.cpp
    src/waveparser.cpp
   )

set(SOURCE_FILES ${MULTIGRID_INCLUDE_FILES} ${MULTIGRID_SOURCE_FILES})
add_executable(MultiGridTest ${SOURCE_FILES})
target_include_directories(MultiGridTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(MultiGridTest PRIVATE ${CMAKE_SOURCE_DIR}/include)
target_link_libraries(MultiGridTest oops ${EXTRA_LIBS} m)

当前的代码生成效果很好。

但是,无论我为输出指定哪个目录(包括${CMAKE_CURRENT_SOURCE_DIR}/include${CMAKE_SOURCE_DIR}/MultiGrid/include和相关路径),生成的.h.cpp文件始终移至二进制文件生成的目录中:

${CMAKE_SOURCE_DIR}/build/MultiGrid

而不是 :

${CMAKE_SOURCE_DIR}MultiGrid/include` and `${CMAKE_SOURCE_DIR}/MultiGrid/src
雅各布·菲尔德

不久前,我在评论中使用了Tsyvarev的建议得出了结论。解决方案是将添加WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}add_custom_command

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将NSAppTransportSecurity添加到我的info.plist文件?

如何将Changelog或NEWS文件添加到我的R包中?

如何将“容器”包添加到我的.cabal文件中(在编译时不会被堆栈覆盖)?

如何将这个JScrollPane类添加到我的swing生成器中?

如何将唯一ID添加到我的(python)Splinter屏幕快照文件名中?

如何将包目录结构添加到我的jar中

如何将NAudio添加到我的项目?

如何将另一个文件添加到我的请求中?

如何将现有的pdf文件添加到我的React.js页面?

如何将appsettings.json文件添加到我的Azure Function 3.0配置中?

如何将包含目录作为前缀添加到复制的文件名?

如何将“ rails”的可执行文件添加到我的容器的$ PATH中?

如何将真实文件夹添加到我的Netbeans C项目中?

也门,咕unt声-如何将横幅广告添加到我的生成文件中

如何将ohloh.net小部件添加到我的github项目readme.md文件中?

如何将dll文件永久添加到我的项目中?

如何将资源文件添加到我的phonegap项目

将本地.aar文件添加到我的Gradle构建中

如何将README.md文件添加到HEXO生成的博客的根目录中?

如何将目录添加到LibreOffice Calc文件?

如何将目录添加到doxygen生成的html文件中?

如何将NSOutlineViewDataSource添加到我的NSOutlineView?

如何将文件输入流正确添加到我的 Firebase JSON 文件

如何将字符串添加到我的文本文件中的第 13 行

如何将未分配的分区添加到我的根目录

如何将 css 文件添加到我的 TinyMCE 模板中?

如何将通过树枝从对象生成的行添加到我的数据表中?

如何将新对象添加到我包含在我的配置文件模型中的空数组中(mongodb/mongoose)

如何将文本文件连接/添加到我的 JS 脚本