cmake --build . --config Release和make是1个意思吗

两者的作用相似,但适用于不同的 CMake 生成器。

1. make

  • 适用于 Unix Makefiles 生成器(默认的 CMake 生成器之一)。
  • 在运行 cmake .. 之后,CMake 会在 build 目录下生成 Makefile,然后你可以使用 make 进行编译:
    make -j$(nproc)  # 并行编译,加快速度
    

2. cmake --build . --config Release

  • 通用命令,适用于所有 CMake 生成器,不仅限于 Makefiles,例如:
    • Ninja (ninja)
    • Visual Studio (MSBuild.exe)
    • Xcode (xcodebuild)
  • --config Release 主要用于 多配置生成器(如 Visual Studio 或 Xcode),但对 Makefiles 无影响,可以省略:
    cmake --build .
    

什么时候用哪个?

命令适用情况备注
make -j$(nproc)使用 Unix Makefiles 作为 CMake 生成器时更快,适用于 Linux
cmake --build .通用写法,适用于所有 CMake 生成器跨平台

如果你是在 Linux 运行,直接 make -j$(nproc) 更高效。
如果你不确定 CMake 生成器,或者希望跨平台支持,使用 cmake --build .

# Dockerfile to build OpenSees, OpenSeesSP and OpenSeesMP # .. utilizes ubuntu:20.04 LTS as base # .. it will build all applications and place in /usr/local/bin # .. it will also install openmpi # .. to run OpenSeesSP and OpenSeesMP use mpiexec, e.g. mpiexec -n 2 OpenSeesSP example.tcl # written: fmk FROM ubuntu:20.04 SHELL ["/bin/bash", "-c"] WORKDIR /opensees RUN cp /etc/apt/sources.list /etc/apt/sources.list~ \ && sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list \ && apt-get update \ && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata git \ && apt-get install -y sudo \ && sudo apt-get install -y cmake gcc g++ gfortran liblapack-dev git python3-pip \ && sudo apt-get install -y openmpi-bin openmpi-common libopenmpi-dev libscalapack-openmpi-dev \ && pip3 install conan==1.60.1 \ && git clone --depth 1 --branch hdf5-1_12_2 https://github.com/HDFGroup/hdf5.git \ && cd hdf5 \ && ./configure --prefix=/usr/local/hdf5 \ && make \ && cd .. \ && git clone https://github.com/OpenSees/mumps.git \ && cd mumps \ && mkdir build \ && cd build \ && cmake .. -Darith=d \ && cmake --build . \ && cd ../.. \ && git clone https://github.com/OpenSees/OpenSees.git \ && cd OpenSees \ && mkdir build \ && cd build \ && conan install .. --build missing \ && cmake .. -DMUMPS_DIR=$PWD/../../mumps/build -DOPENMPI=TRUE -DSCALAPACK_LIBRARIES="/usr/lib/x86_64-linux-gnu/libscalapack-openmpi.so.2.1" \ && cmake --build . --config Release --target OpenSees \ && cmake --build . --config Release --target OpenSeesSP \ && cmake --build . --config Release --target OpenSeesMP \ && cp ./bin/* /usr/local/bin \ && cp -r ./lib/tcl8.6 /usr/local/lib \ && cd ../.. \ && rm -fr OpenSees \ && rm -fr hdf5 \ && rm -fr mumps # Dockerfile to build OpenSees, OpenSeesSP and OpenSeesMP # .. utilizes ubuntu:20.04 LTS as base # .. it will build all applications and place in /usr/local/bin # .. it will also install openmpi # .. to run OpenSeesSP and OpenSeesMP use mpiexec, e.g. mpiexec -n 2 OpenSeesSP example.tcl # written: fmk FROM ubuntu:20.04 SHELL ["/bin/bash", "-c"] WORKDIR /opensees RUN cp /etc/apt/sources.list /etc/apt/sources.list~ \ && sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list \ && apt-get update \ && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata git \ && apt-get install -y sudo \ && sudo apt-get install -y cmake gcc g++ gfortran liblapack-dev git python3-pip \ && sudo apt-get install -y openmpi-bin openmpi-common libopenmpi-dev libscalapack-openmpi-dev \ && pip3 install conan==1.60.1 \ && git clone --depth 1 --branch hdf5-1_12_2 https://github.com/HDFGroup/hdf5.git \ && cd hdf5 \ && ./configure --prefix=/usr/local/hdf5 \ && make \ && cd .. \ && git clone https://github.com/OpenSees/mumps.git \ && cd mumps \ && mkdir build \ && cd build \ && cmake .. -Darith=d \ && cmake --build . \ && cd ../.. \ && git clone https://github.com/OpenSees/OpenSees.git \ && cd OpenSees \ && mkdir build \ && cd build \ && conan install .. --build missing \ && cmake .. -DMUMPS_DIR=$PWD/../../mumps/build -DOPENMPI=TRUE -DSCALAPACK_LIBRARIES="/usr/lib/x86_64-linux-gnu/libscalapack-openmpi.so.2.1" \ && cmake --build . --config Release --target OpenSees \ && cmake --build . --config Release --target OpenSeesSP \ && cmake --build . --config Release --target OpenSeesMP \ && cp ./bin/* /usr/local/bin \ && cp -r ./lib/tcl8.6 /usr/local/lib \ && cd ../.. \ && rm -fr OpenSees \ && rm -fr hdf5 \ && rm -fr mumps
03-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值