CMake + UWP资源和source_group
我已成功设置我的项目,使用CMake构建UWP应用程序。但是,在处理资源时,似乎需要将它们作为源添加到add_executable
命令中,并且在目标属性中将其设置为RESOURCE
。CMake + UWP资源和source_group
所有资源文件已被复制到磁盘上的所需位置。但是,当我生成项目时,所有资源文件都会在项目结构的根文件夹中结束。我尝试添加source_group
命令,类似于我为.cpp/.h源文件(位于“源文件”文件夹下)执行的操作,但这似乎不起作用。这里是我的CMake(使用CMake 3.6.1)的相关部分:
set(ResourceFiles "Package.appxmanifest" "Logo.png" ... etc)
source_group("Resource Files" FILES "${ResourceFiles}")
add_executable(MyExe ${projectSources} ${ResourceFiles})
set_target_properties(MyExe PROPERTIES RESOURCE "${ResourceFiles}")
这是可能的,还是我在做一些不正确的事情?
我认为你做的一切都是正确的。
然而,有一个在你的代码的一个小问题,而不是
source_group("Resource Files" FILES "${RESOURCE_FILES}")
应该
source_group("Resource Files" FILES ${RESOURCE_FILES})
通知的“”你身边RESOURCE_FILES,使得它无法正常工作。
如果您的意图是将资源文件放到某个资源文件夹中?
您可以尝试使用下面的命令,
file(COPY "[your source file/folder]" DESTINATION "[your destination folder]"
file(GLOB asset_files "[your destination folder]")
source_group("assets" FILES ${asset_files})
让我知道它是否适合你。
您提出的更改不会解决问题。 CMake将字符串解释为列表,只要它们是分号分隔的,所以将它作为列表或字符串传递没有区别。 – MuertoExcobito
@MuertoExcobito,我指的是这个文件https://github.com/wpbest/cmake-win-store-app/blob/master/CMakeLists.txt,第99行,并且我看到使用分号或不使用会产生影响。 – Jackie
为了给你带来怀疑的好处,我试了一下,正如预测的那样没有任何区别。 – MuertoExcobito
您的意图是将资源文件添加到资源文件夹中吗?尝试使用这个:文件(COPY“[你的源文件/文件夹]”DESTINATION“[你的目标文件夹]”) – Jackie
不,我想你已经误解了这个问题。我已经更新它非常清楚,它是该项目的结构,而不是我正试图修复的磁盘上的位置。 – MuertoExcobito
我已经更新了我的答案。 – Jackie