CMake에 명령 줄 옵션 추가


111

저는 CMake를 사용하여 대규모 라이브러리를 구축 중이며 사용자가 빌드 프로세스의 특정 부분을 선택적으로 활성화 / 비활성화 할 수 있기를 바랍니다.

CMake 빌드에 명령 줄 옵션을 추가하려면 어떻게 cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..해야합니까? 예를 들어 사용자가 다음과 같이 입력 할 수 있습니다 .

분명히 OPTION 키워드는 CMake GUI에서 설정할 수있는 변수를 생성하지만 명령 줄에서이 작업을 수행하는 방법을 알 수 없습니다.


cmake 옵션의 목적과 관련하여 내 질문에 대한 답변으로 귀하의 질문에 감사드립니다. 이제 GUI 용입니다
truthadjustr

답변:


161

예, option명령을 사용해야합니다 . 다음과 같이 명령 줄에서 옵션을 설정할 수 있습니다.

//CMakeLists.txt
option(MyOption "MyOption" OFF)

//Command line
cmake -DMyOption=ON MyProjectFolder

-DMyOption경로 앞에 와야합니다.


5
... 그리고 cmake MyProjectFolder -DMyOption에 (또는 해제) 옵션을 설정하지 않습니다
mabraham

MyProjectFolder 앞에 -DMyOption을 넣고 시도 하시겠습니까?
updogliu 2014

11
사용 -DMyOption=ON하거나 -DMyOption=OFF또는 해제를 켭니다.
kvanberendonck

CMakeLists.txt에서 "set (NAME blahblah)"로 설정된 항목을 cmake 명령 줄에서 -DNAME = overridingValue로 재정의 할 수있는 타사 모듈을 빌드하려고 할 때 방금 알았습니다.
peterk

13

약간의 수정 :

전달할 다른 변수가있는 경우 다음 유형을 표시하는 것이 좋습니다.

//CMakeLists.txt
option(MyOption "MyOption" OFF)

//Command line
cmake -DMyOption:BOOL=ON MyProjectFolder -D...
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.