Visual studio 2010 如何配置CMake使VS解决方案使用特定的构建命令行?
我正在尝试设置CMake为我们的项目生成MSVC(2010)解决方案,并且需要配置项目,以便它们使用我们的特定构建系统,而不是使用默认命令行进行编译 以下是VS2008的项目文件的外观(我们使用另一个我不想使用的脚本生成):Visual studio 2010 如何配置CMake使VS解决方案使用特定的构建命令行?,visual-studio-2010,cmake,Visual Studio 2010,Cmake,我正在尝试设置CMake为我们的项目生成MSVC(2010)解决方案,并且需要配置项目,以便它们使用我们的特定构建系统,而不是使用默认命令行进行编译 以下是VS2008的项目文件的外观(我们使用另一个我不想使用的脚本生成): 这基本上是我希望能够从我的cmake配置中指定的三个命令行设置 我在文档中找到了build_命令命令,但从描述来看,它似乎与我想要的相反,即将生成的命令行写入变量,而不是字符串,并将命令行设置为该变量 CMake中的交叉编译功能似乎有点相关,但我确信这是否是一个好方法
这基本上是我希望能够从我的cmake配置中指定的三个命令行设置
我在文档中找到了build_命令命令,但从描述来看,它似乎与我想要的相反,即将生成的命令行写入变量,而不是字符串,并将命令行设置为该变量
CMake中的交叉编译功能似乎有点相关,但我确信这是否是一个好方法
基本上,我只希望VS在构建时运行一个批处理文件,然后解析结果以获得良好的错误消息等。也许您需要编写自己的CMake工具链。您可以在CMAKE_ROOT/share/Modules/Platform或中看到工具链的示例,但我不确定CMAKE是否可以为自定义编译器生成MSVC解决方案。在我看来,您想要的只是CMAKE术语中的“自定义命令” 比如:
set(custom_exe "${CMAKE_CURRENT_BINARY_DIR}/common/win32/container.exe")
add_custom_command(OUTPUT ${custom_exe}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bam.bat -j $ENV{NUMBER_OF_PROCESSORS}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bam.bat
)
add_custom_target(bam ALL DEPENDS ${custom_exe})
谢谢,是的,这就是我上面提到的“交叉编译特性”的意思。也许这是做我想做的事情的最好的/唯一的方法。谢谢,我能够用它取得一些成功,所以我将把它标记为答案。
set(custom_exe "${CMAKE_CURRENT_BINARY_DIR}/common/win32/container.exe")
add_custom_command(OUTPUT ${custom_exe}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bam.bat -j $ENV{NUMBER_OF_PROCESSORS}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bam.bat
)
add_custom_target(bam ALL DEPENDS ${custom_exe})