Ninja: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд░реНрдмреЛрдЬрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдЬрдире░ 2015  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ninja-build/ninja

рдирдорд╕реНрддреЗ,

рдореИрдВ рд╕реАрдПрдордХреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдВрдЬрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЕрдЧрд░ рдореИрдВ рдпреВрдирд┐рдХреНрд╕ рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдЬреЗрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ -DCMAKE_VERBOSE_MAKEFILE=ON рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╡рд░реНрдмреЛрдЬрд╝ рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдЬрдирд░реЗрдЯрд░ рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдореЗрдВ VERBOSE=1 рд▓рд┐рдЦрдХрд░ рдЗрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдирд┐рдВрдЬрд╛ рдХреЛ -v рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдирд┐рдВрдЬрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рднреА рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж,
рдЧреНрд░реЗрдЧрд░

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдЗрд╕ SET рдХрдорд╛рдВрдб рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдирд┐рдВрдЬрд╛ рд╡рд░реНрдмреЛрдЬрд╝ рдмрдирд╛ рджрд┐рдпрд╛:

set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдирд╣реАрдВред рдирд┐рдВрдЬрд╛ рдХреЛ -v рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ?

рдпрд╣ рдЕрдХреЗрд▓реЗ рдирд┐рдВрдЬрд╛ рджреНрд╡рд╛рд░рд╛ рддрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдирд┐рдВрдЬрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП cmake's рдЬрдирд░реЗрдЯрд░ рдХреЛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред (рдореЗрдХрдлрд╛рдЗрд▓ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реЗрдореЗрдХ рдПрдХ рдореЗрдХрдлрд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ .SILENT рд╡рд┐рд╢реЗрд╖ рд▓рдХреНрд╖реНрдп рд▓рдХреНрд╖реНрдп рдХреЛ рджрдмрд╛ рджреЗрддрд╛ рд╣реИред)
    рдЕрдЧрд░ рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐
cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -G Ninja ../src/cmake4eclipse/testprojects/C-1src/src1
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:
  • рдирд┐рдВрдЬрд╛ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд▓рдХреНрд╖реНрдп рдХреА рддрд░рд╣ рдХреБрдЫ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред рдореМрди рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╡рд┐рд╕реНрддрд╛рд░ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдирд┐рдВрдЬрд╛ рдХреЛ рдЪрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реАрдПрдордХреЗ 3.3 рдореЗрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ: https://github.com/Kitware/CMake/commit/ce935ebe50926bde199d86fbde4a78974a4043f9

рдпрджрд┐ рдЖрдк -DCMAKE_VERBOSE_MAKEFILE=ON рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рддреЛ cmake --build рдирд┐рдВрдЬрд╛ рдХреЙрд▓ рдореЗрдВ -v рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред

рдлрд┐рд░ рднреА рдХреБрдЫ рдРрд╕рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдирд┐рдиреНрдЬрд╛рдлрд╛рдЗрд▓реНрд╕ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХреЗрдВред рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореИрдВ рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддрд╛ рд╣реВрдВред

@gjasny , рдореИрдВ CMakeLists.txt рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд set(CMAKE_VERBOSE_MAKEFILE ON) рдореБрдЭреЗ рдирд┐рдВрдЬрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред

рдХреЛрдИ рдЙрдкрд╛рдп?

рдЖрдкрдХреЛ рдЗрд╕реЗ рдХреИрд╢ рд╡реИрд░рд┐рдПрдмрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рд╕реАрдПрдордХреЗ рд╕реЗрдЯ рдХрдорд╛рдВрдб рджреЗрдЦреЗрдВред

рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдЗрд╕ SET рдХрдорд╛рдВрдб рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдирд┐рдВрдЬрд╛ рд╡рд░реНрдмреЛрдЬрд╝ рдмрдирд╛ рджрд┐рдпрд╛:

set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")

рдлрд┐рд░ рднреА рдХреБрдЫ рдРрд╕рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдирд┐рдиреНрдЬрд╛рдлрд╛рдЗрд▓реНрд╕ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХреЗрдВред

рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧреА?

рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ, рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рдмрдЧ рдореЗрдВ рдЖ рд╕рдХрддреЗ рд╣реИрдВ: set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON") рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдкреНрд░рдЬрдирди:

CMakeLists.txt

cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
project(simplecmake CXX)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON")

add_library(simplecmake simple.cpp)

simple.cpp рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддреАред

рдФрд░ рдлрд┐рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореИрдВ cmake рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

<strong i="12">@echo</strong> off
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
cd c:/Users/Administrator/ezyang/lab3
cd build
set CC=cl
set CXX=cl
cmake -GNinja ..
cmake --build .

рд╕реЗрдореЗрдХ рдЖрдордВрддреНрд░рдг рдореЗрдВ -DCMAKE_VERBOSE_MAKEFILE=ON рдкрд╛рд╕ рдХрд░рдирд╛ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдирд┐рдЧрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдореЗрдХ рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON" FORCE) рдЬреЛрдбрд╝рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрджреНрдпрдкрд┐ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

8l picture 8l  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jlebar picture jlebar  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Qix- picture Qix-  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SebastianBoe picture SebastianBoe  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zmike picture zmike  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ