cmake windows c++/c#构建命令
cmake.exe" -DBUILD_COMMON=TRUE -DBUILD_IDE=TRUE -DBUILD_SERVER=TRUE -DBUILD_GRAPH=TRUE -DENABLE_UT=FALSE -DQt5_DIR="C:\Qt\Qt5.14.0\5.14.0\msvc2017_64\lib\cmake\Qt5" -G "Visual Studio 16 2019" -A x64 -S ./ -B ./build
dotnet restore InoSCADA.sln
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv" "InoSCADA.sln" /Build "Debug|x64"
--------devenv
devenv是VisualStudio的可执行程序,一般安装在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”下。用来在命令行或GUI方式运行VisualStudio。其中devenv.com是命令行程序,devenv.exe是GUI的程序。默认地当你调用devenv的时候其实是启动devenv.com,除非你显示地调用devenv.exe才会启动GUI的VisualStudio。
devenv d:\Build\MyProject\Src\MyProject.sln /Build "Release|Win32"
--------msbuild
MSBuild
如果你的机器上没有装有VisualStudio,那么可以使用MSBuild来build .sln或project。MSBuild可以通过安装.NETFramework来安装,一般的安装路径为C:\Windows\Microsoft.NET\Framework。其实devenv执行build时候,后台也是调用MSBuild来build的。
微软的一个构建工具 不依赖devenv
MSBuild MyApp.csproj /t:Clean
/p:Configuration=Debug;/p:Platform=x86;TargetFrameworkVersion=v3.5
也可选择framework的版本
所以在配置CI使用命令行编译的情况下 选择devenv或者msbuild主要看项目类型
msbuild既然被打包到donet里自然编译c++的项目并不合适
CMake它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 linux的 Makefile 或 Windows 的 Visual Studio 工程。从而做到“Write once, run everywhere”。
C++/CMake跨平台构建
win下cmake到sln再到msbuild/devenv
linux下cmake到makefile 再到gcc、g++ 有点画蛇添足了
linux makefile项目写一次 舒适到永久