Visual studio 2010 将文件添加到CMake但不编译它们
我的公司有自己的idl编译器,我有CMake生成文件作为构建过程的一部分。我希望.idl文件在VisualStudio项目中,但这意味着我最终会遇到microsoft试图用midl编译idl文件的情况(失败得很惨) 我知道我的问题与非常相似,但主要区别在于微软有一个编译器,我只是不想让他们使用它 -更新- 下面是将idl文件添加到解决方案的函数的代码示例(整个代码太多了,但是如果有任何声明可能有助于回答问题,请告诉我): 然后稍后-在我调用foo之后-我调用Visual studio 2010 将文件添加到CMake但不编译它们,visual-studio-2010,cmake,Visual Studio 2010,Cmake,我的公司有自己的idl编译器,我有CMake生成文件作为构建过程的一部分。我希望.idl文件在VisualStudio项目中,但这意味着我最终会遇到microsoft试图用midl编译idl文件的情况(失败得很惨) 我知道我的问题与非常相似,但主要区别在于微软有一个编译器,我只是不想让他们使用它 -更新- 下面是将idl文件添加到解决方案的函数的代码示例(整个代码太多了,但是如果有任何声明可能有助于回答问题,请告诉我): 然后稍后-在我调用foo之后-我调用add_executable(${PR
add_executable(${PROJECT_NAME}${SOURCES}${HEADERS})
我注意到的一点是,nmake将按照我希望的方式编译,但是VisualStudio添加了我不希望的对midl的调用
任何帮助都将不胜感激
-更新2-
我可以通过添加/?到VisualStudio内部的midl命令行(但我不能要求每个开发人员在每次构建时都这样做),因此如果有人知道如何从cmake向midl命令行添加参数,这也会有所帮助。这可能是一个小技巧,但我认为可以通过将.idl文件标记为:
工作起来很有魅力,还帮你做了另一件很好的事情。非常感谢你!
function foo()
add_custom_command...
set(HEADERS ${HEADERS} bar.idl PARENT_SCOPE)
source_group("Source Files\\idl Files" REGULAR_EXPRESSION .*.idl)
endfunction()
set_source_files_properties(${HEADERS} PROPERTIES HEADER_FILE_ONLY TRUE)