CMake : 缺少变量 CMAKE_TEXT_COMPILE_OBJECT 错误的原因

16 篇文章 0 订阅

工程中有 Direct3D 的 Shader 文件( *.hlsl ),Visual Studio 2015 会将其做为源文件编译。为避免其做为源文件,在 Visual Studio 2015 中可以在 Shader 文件的属性中,设置 Excluded from build

CMake 中无对应的选项,可以将文件对应的编译语言设置为 TEXT ,以欺骗 CMake ,让其以为有一种 TEXT 类型的编译语言。

set_source_files_properties(${TESTS_SHADER_ALU_SHADERS_SRCS} PROPERTIES LANGUAGE TEXT)

这种办法用在 Visual Studio 2015 的 *.sln 工程文件时,可以起作用。但是用在 NMake 的 Makefile 时,就会出如下错误:

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_TEXT_COMPILE_OBJECT

暂时还没有想到有好的解决办法。

参考:

通过设置 HEADER_FILE_ONLY 迂回处理:
http://cmake.3232098.n2.nabble.com/Excluded-from-build-td5630094.html

问题已经提交,但无人解决:
http://public.kitware.com/Bug/view.php?id=6314
https://public.kitware.com/Bug/bug_relationship_graph.php?bug_id=11902&graph=dependency

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值