CMake'ye komut satırı seçenekleri ekleme


111

CMake kullanarak büyük bir kitaplık oluşturuyorum ve kullanıcıların derleme sürecimin belirli kısımlarını seçmeli olarak etkinleştirmesini / devre dışı bırakmasını istiyorum.

CMake yapıma komut satırı seçeneklerini nasıl ekleyebilirim, örneğin kullanıcıların buna benzer bir şey yazabilmesi için cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..?

Görünüşe göre OPTION anahtar sözcüğü CMake GUI'den ayarlanabilen değişkenler yaratacak, ancak bunu komut satırından nasıl yapacağımı bulamıyorum.


Cmake seçeneğinin amacı ile ilgili sorumu cevapladığı için sorunuz için teşekkür ederiz. Şimdi görüyorum ki GUI için
truthadjustr

Yanıtlar:


161

Evet, optionkomutu kullanmalısın . Seçenekleri komut satırından şu şekilde ayarlayabilirsiniz:

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

//Command line
cmake -DMyOption=ON MyProjectFolder

Bunun -DMyOptionyoldan önce gelmesi gerektiğini unutmayın .


5
... ve cmake MyProjectFolder -DMyOptionseçeneği açmaz (veya kapatmaz)
mabraham

MyProjectFolder'dan önce -DMyOption koyun ve bir deneyin?
updogliu

11
Açmak veya kapatmak için -DMyOption=ONveya -DMyOption=OFFdüğmesini kullanın .
kvanberendonck

Bir üçüncü taraf modülü oluşturmaya çalışırken CMakeLists.txt'de "set (NAME blahblah)" ile ayarlanan öğelerin cmake komut satırında -DNAME = overridingValue ile geçersiz
kılındığını fark ettim

13

Küçük bir düzeltme:

Aktarmanız gereken başka değişkenleriniz varsa, bunların türlerini belirtmeniz önerilir:

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

//Command line
cmake -DMyOption:BOOL=ON MyProjectFolder -D...
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.