Articles

cmake(1)¶

Options¶

-S <path-to-source>

빌드 할 CMake 프로젝트의 루트 디렉토리에 대한 경로.

-B <path-to-build>

CMake 가 빌드 디렉토리의 루트로 사용할 디렉토리의 경로.

디렉토리가 이미 존재하지 않으면 CMake 가 그것을 만들 것입니다.

-C <initial-cache>

캐시를 채우는 스크립트를 사전로드하십시오.

때에 많은 파일이 자동으로 만들은 처음 실행 빈 빌드 트리를 만듭CMakeCache.txt파일 채웁니다 그것은 커스터마이징이 가능한 설정을 지원한 프로젝트입니다. 이 옵션은 파일을 지정하는 데 사용될 수 있습니다.project’scmake listfiles 를 처음 통과하기 전에 캐시 항목을로드합니다. 로드 된 항목은 project 의 기본값보다 우선 순위가 높습니다. 주어진 파일은 acache-format 파일이 아니라CACHE옵션을 사용하는 CMake scriptcontainingset()명령이어야합니다.

참조하여CMAKE_SOURCE_DIRCMAKE_BINARY_DIR에서 스크립트를 평가하여 상위 수준 소스를 구축 나무입니다.

-D <var>:<type>=<value>, -D <var>=<value>

CMakeCACHE항목을 만들거나 업데이트합니다.

때에 많은 파일이 자동으로 만들은 처음 실행 빈 빌드 트리를 만듭CMakeCache.txtCACHE항목에 대해 표시 될 수 있습니다.

경우에는:<type>부분은 주어진 그것은 중 하나여야 합니다 typesspecified 에 의해set()CACHE:<type>부분이 생략되면 이미 유형이 존재하지 않으면 항목이 createdwith no type 이됩니다. 는 경우 acommand 프로젝트에서 설정한 유형PATHFILEPATH<value>로 변환됩니다 절대적인 경로입니다.

이 옵션은 단일 인수로 제공 될 수도 있습니다:-D<var>:<type>=<value>-D<var>=<value>.

-U <globbing_expr>

cmakeCACHE에서 일치하는 항목을 제거합니다.

이 옵션을 사용될 수 있는 하나 이상 제거에서 변수를CMakeCache.txt*?aresupported. 이 옵션은 다음과 같이 많은CACHE항목에 대해 반복 될 수 있습니다.

주의 사용,당신은 당신의CMakeCache.txt비 작동.

-G <generator-name>

빌드 시스템 생성기를 지정합니다.

CMake 는 특정 플랫폼에서 여러 기본 빌드 시스템을 지원할 수 있습니다. 발전기는 세부적인 생성을 담당합니다.건설 시스템. 가능한 생성기 이름은cmake-generators(7)매뉴얼에 지정됩니다.

지정되지 않은 경우 CMake 는CMAKE_GENERATORenvironmentvariable 을 확인하고 그렇지 않으면 기본 기본 선택 항목으로 돌아갑니다.

-T <toolset-spec>

지원되는 경우 생성기의 도구 세트 사양.

일부 CMake 생성기는 기본 빌드 시스템에 컴파일러를 선택하는 방법을 알려주는 도구 세트 사양을 지원합니다. 자세한 내용은CMAKE_GENERATOR_TOOLSET변수를 참조하십시오.

-A <platform-name>

생성기에서 지원하는 경우 플랫폼 이름을 지정합니다.

일부 CMake 생성기는 컴파일러 또는 SDK 를 선택하기 위해 thenative build system 에 부여 할 플랫폼 이름을 지원합니다. 자세한 내용은CMAKE_GENERATOR_PLATFORM변수를 참조하십시오.

-Wno-dev

개발자 경고를 억제하십시오.

CMakeLists.txt파일의 작성자에 대한 경고를 억제합니다. 기본적으로 이것은 또한 꺼집니다.수정 경고.

-Wdev

개발자 경고를 활성화합니다.

CMakeLists.txt파일의 작성자에 대한 경고 사용. 기본적으로 사용 중단 경고도 켜집니다.

-Werror=dev

개발자 경고 오류를 만듭니다.

CMakeLists.txtfileserrors 의 작성자에 대한 경고를하십시오. 기본적으로 사용되지 않는 경고도 오류로 켜집니다.

-Wno-error=dev

개발자 경고에 오류가 없도록하십시오.

CMakeLists.txt파일 noterrors 의 작성자에 대한 의미 경고를 만듭니다. 기본적으로 이렇게하면 더 이상 사용되지 않는 경고도 오류로 해제됩니다.

-Wdeprecated

사용되지 않는 기능 경고를 활성화합니다.

CMakeLists.txt파일의 작성자가 의미하는 사용되지 않는 기능의 사용에 대한 경고를 활성화합니다.

-Wno-deprecated

사용되지 않는 기능 경고를 억제합니다.

사용되지 않는 기능의 사용에 대한 경고를 억제하십시오.CMakeLists.txt파일의 작성자에 대한 의미입니다.

-Werror=deprecated

더 이상 사용되지 않는 매크로 및 함수 경고 오류를 만듭니다.

들에게 경고를 사용에 대한 사용하지 않는 매크로 기능이 있는 meantfor 의 저자CMakeLists.txt파일에 오류가 있습니다.

-Wno-error=deprecated

사용되지 않는 매크로 및 함수 경고를 오류가 아닙니다.

들에게 경고를 사용에 대한 사용하지 않는 매크로 기능이 있는 meantfor 의 저자CMakeLists.txt아닌 파일 오류가 있습니다.

-L

고급 캐시되지 않은 변수를 나열합니다.

ListCACHECACHEINTERNALADVANCED.이렇게하면 현재 CMake 설정이 효과적으로 표시되고-D옵션으로 bechanged 할 수 있습니다. 변수 중 일부를 변경하면 더 많은 변수가 생성 될 수 있습니다. AH가 지정되면 각 변수에 대한 도움말도 표시됩니다.

-N

보기 모드 전용.

캐시 만로드합니다. 실제로 configure 및 generatesteps 를 실행하지 마십시오.종속성의 graphviz 를 생성하려면

--graphviz=

자세한 내용은CMakeGraphVizOptions를 참조하십시오.

프로젝트의 모든 라이브러리 andexecutable 종속성을 포함 할 graphviz 입력 파일을 생성합니다. 자세한 내용은CMakeGraphVizOptions에 대한 설명서를 참조하십시오.

--system-information

이 시스템에 대한 정보를 덤프합니다.

현재 시스템에 대한 광범위한 정보를 덤프합니다. CMake 프로젝트의 이진 트리 맨 위에 실행하면 캐시,로그 파일 등과 같은 추가 정보가 덤프됩니다.

--log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE>

로그 수준을 설정합니다.

message()STATUS입니다.

CMake 실행 사이에 로그 수준이 유지되도록하려면CMAKE_MESSAGE_LOG_LEVEL를 대신 캐시 변수로 설정하십시오.명령행 옵션과 변수가 모두 주어지면 명령행이 우선합니다.

이전 버전과의 호환성을 위해--loglevel도 이 옵션의 asynonym 으로 허용됩니다.

--log-context

사용하는message()명령을 출력하는 컨텍스트 연결하 eachmessage.

이 옵션 보여주는 컨텍스트에 대해 현재 많은 파일이 자동으로 만들어 실행만 있습니다.을 보여주는 지속적인 컨텍스트에 대한 모든 후속에 많은 파일이 자동으로 만들어 실행,설정CMAKE_MESSAGE_CONTEXT_SHOWCMAKE_MESSAGE_CONTEXT_SHOW는 무시됩니다.

--debug-trycompile

try_compile()try_compile()에만 유용합니다.

try_compile()호출에 대해 생성 된 파일 및 디렉토리는 삭제하지 마십시오. 이것은 실패한 try_compiles 디버깅에 유용합니다. Aprevious try-compile 의 오래된 정크로 try-compiles 의 결과를 변경하면 다른 테스트가 잘못 전달되거나 잘못 전달 될 수 있습니다. 이 옵션은 atime 에서 한 번의 시도 컴파일에 가장 잘 사용되며 디버깅 할 때만 사용됩니다.이 문제를 해결하려면 어떻게해야합니까?

message(SEND_ERROR)호출을 사용하여 스택 추적과 같은 cmake 실행 중에 추가 정보를 인쇄하십시오.

--debug-find

디버그 모드에서 cmake 찾기 명령을 넣습니다.

cmake 가 standarderror 로 실행되는 동안 추가 찾기 호출 정보를 인쇄하십시오. 출력은 인간의 소비를 위해 설계되었으며 구문 분석을 위해 설계되지 않았습니다.프로젝트의 더 많은 로컬 부분을 디버깅하려면CMAKE_FIND_DEBUG_MODE변수도 참조하십시오.

--trace

cmake 를 추적 모드로 설정합니다.

만든 모든 호출의 흔적을 인쇄하고 어디에서.

--trace-expand

cmake 를 추적 모드로 설정하십시오.그러나 확장 된 변수가 있습니다.

--trace-format=<format>

cmake 를 추적 모드로 설정하고 추적 출력 형식을 설정합니다.

<format>는 다음 값 중 하나 일 수 있습니다.

human

인쇄를 각각적인 인간에 읽을 수 있는 형식입니다. 이것은 default 형식입니다.

json-v1

는 각 줄을 별도의 JSON 문서로 인쇄합니다. 각 문서는 개행(\n)으로 구분됩니다. 그것은 nonewline 문자가 JSON 문서 안에 있을 것입니다 보장 됩니다.

JSON 추적 형식:

{ "file": "/full/path/to/the/CMake/file.txt", "line": 0, "cmd": "add_executable", "args": , "time": 1579512535.9687231, "frame": 2}

회원가:

file

전체 경로에 많은 파일이 자동으로 만들어 원본 파일 functionwas 라고 합니다.

line

함수 호출의file의 행입니다.

defer

함수 호출이 deferredbycmake_language(DEFER)<id>를 포함하는 수렴이다.

cmd

호출 된 함수의 이름입니다.

args

모든 함수 매개 변수의 문자열 목록입니다.

time

함수 호출의 타임 스탬프(에포크 이후 초).

frame

호출 된 함수의 스택 프레임 깊이.

또한,처음 JSON 문서 출력되는 포함되version키에 대한 현재의 주요 작은 버전

JSON 추적 형식:

{ "version": { "major": 1, "minor": 1 }}

회원가:

version

버전을 나타냅 JSON 형식입니다. 이 버전에는 의미 론적 버전 규칙을 따르는 amajor 및 부 구성 요소가 있습니다.

--trace-source=<file>

넣어 많은 파일이 자동으로 만들어에 추적 모드지만,출력만 라인의 지정된 파일에 기록됩니다.

여러 옵션이 허용됩니다.

--trace-redirect=<file>

cmake 를 추적 모드로 설정하고 추적 출력을 stderr 대신 파일로 리디렉션합니다.

--warn-uninitialized

초기화되지 않은 값에 대해 경고합니다.

초기화되지 않은 변수가 사용될 때 경고를 인쇄합니다.나는 이것이 내가 할 수있는 유일한 방법이라고 생각한다. CMake 버전 3.2 및이 사용 가능한 경고 아래에 사용 가능한 변수가 있습니다. CMake 버전 3.3~3.18 에서 옵션은 다음과 같습니다 broken.In CMake3.19 이상 옵션이 제거되었습니다.

--no-warn-unused-cli

명령 줄 옵션에 대해 경고하지 않습니다.명령 줄에서 선언 된 변수를 찾지 못했지만 사용하지 않았습니다.

--check-system-vars

시스템 파일에서 변수 사용 문제를 찾으십시오.

정상적으로 사용하지 않는 초기화되지 않은 변수를 검색한 만CMAKE_SOURCE_DIRCMAKE_BINARY_DIR.이 플래그는 CMake 에게 다른 파일에 대해서도 경고하도록 지시합니다.주어진 경로로 출력하기 위해

--profiling-output=<path>

--profiling-format와 함께 사용됩니다.

--profiling-format=<file>

주어진 형식으로 CMake 스크립트의 프로파일 링 데이터를 출력 할 수 있습니다.

이것은 실행 된 CMake 스크립트의 성능 분석을 도울 수 있습니다. 세 번째 부분응용 프로그램은 사람이 읽을 수있는 형식으로 출력을 처리하는 데 사용해야합니다.

현재 지원되는 값은 다음과 같습니다.google-trace출력에서 Google 추적 형식으로 구문 분석할 수 있으로 theabout:tracing 탭의 Chrome 또는 플러그인을 사용한 도구는 다음과 같 TraceCompass.

--preset <preset>--preset=<preset>

preset<path-to-source>/CMakePresets.json<path-to-source>/CMakeUserPresets.json. 사전 설정은 generator 및 빌드 디렉토리 및 선택적으로 cmake 에 전달할 변수 및 기타 인수 목록을 지정합니다. 현재 작업 디렉토리는 다음을 포함해야합니다.미리 설정된 파일을 만드십시오. CMake GUIcanalso 인식CMakePresets.jsonCMakeUserPresets.jsoncmake-presets(7)를 참조하십시오.

사전 설정은 다른 모든 명령 줄 옵션보다 먼저 읽습니다. 프리셋(변수,생성기 등)에 의해 지정되는 옵션)에 의해 모두 재정의 될 수 있습니다.명령 줄에서이를 수동으로 지정하십시오. 예를 들어,만약 사전 setsa 변수라는MYVAR12-D2선호합니다.

--list-presets, --list-presets=<>

사용 가능한 사전 설정을 나열합니다. 옵션이 지정되지 않은 경우 사전 설정 구성 만 나열됩니다. 현재 작업 디렉토리에는 CMake 사전 설정 파일이 포함되어야합니다.