Ore*_*ost 18 cmake visual-studio-2010 propertysheet visual-c++
我目前正在将一个gcc项目移植到Visual C++.它是在CMake文件中定义的,我创建了一个Visual C++属性表以帮助兼容(GccCompat.props).每次Visual C++项目文件由CMake重新生成时,必须手动添加属性表,因为我不知道如何自动添加它.所以,问题是:
如何告诉CMake向生成的Visual C++解决方案添加属性表?
这个功能已经成为CMake的夜间版本(https://gitlab.kitware.com/cmake/cmake/commit/e390991846825799e619e072a28f1da58b7c89ba),虽然尚未进入稳定版本.从理论上讲,它将在下一个版本中发布,并且相对频繁地发布CMake版本.
要使用,您可以VS_USER_PROPS
在目标上设置属性.例如.set_target_properties(foo PROPERTIES VS_USER_PROPS "${props_file}")
.
但是,您似乎不能使用此选项的多个属性表,并且它将替换默认的用户属性文件($(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props
).要解决此问题,属性表可以包含其他属性表,因此,您可以创建一个"主"属性表,其中包括您要使用的任何其他属性表(包括默认用户属性表).
不确定您需要哪些属性。其中一些可以直接在 CMake 中设置,例如本示例中的多个配置:
set (CMAKE_CONFIGURATION_TYPES "A;B;C;D" CACHE STRING "Configurations" FORCE)
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
set (CMAKE_CXX_FLAGS_${OUTPUTCONFIG} "/ZI /Od")
set (CMAKE_EXE_LINKER_FLAGS_${OUTPUTCONFIG} "/debug")
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
Run Code Online (Sandbox Code Playgroud)
除了这里列出的变量之外,我认为 CMake 不可能附加属性表。