Menambahkan opsi baris perintah ke CMake

Saya sedang membangun perpustakaan besar menggunakan CMake, dan saya ingin pengguna dapat mengaktifkan/menonaktifkan bagian tertentu dari proses pembangunan saya secara selektif.

Bagaimana saya bisa menambahkan opsi baris perintah ke build CMake saya, mis. sehingga pengguna dapat mengetikkan sesuatu seperti cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..?

Rupanya kata kunci OPTION akan membuat variabel yang dapat diatur dari CMake GUI, tapi saya tidak tahu cara melakukannya dari baris perintah.


person rcv    schedule 13.05.2011    source sumber
comment
Terima kasih atas pertanyaan Anda karena menjawab pertanyaan saya sehubungan dengan tujuan opsi cmake. Jadi, saya mengerti sekarang ini untuk GUI   -  person eigenfield    schedule 04.08.2020


Jawaban (2)


Ya, Anda harus menggunakan perintah option. Anda dapat mengatur opsi dari baris perintah dengan cara ini:

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

//Command line
cmake -DMyOption=ON MyProjectFolder

Perhatikan bahwa -DMyOption harus berada sebelum jalur.

person beduin    schedule 14.05.2011
comment
... dan cmake MyProjectFolder -DMyOption tidak mengaktifkan (atau menonaktifkan) opsi - person mabraham; 26.03.2013
comment
letakkan -DMyOption sebelum MyProjectFolder dan cobalah? - person updogliu; 16.02.2014
comment
Gunakan -DMyOption=ON atau -DMyOption=OFF untuk menghidupkan atau mematikan. - person kvanbere; 01.11.2014
comment
Saya baru menyadarinya ketika saya mencoba membangun modul pihak ketiga bahwa item yang disetel dengan set(NAME blahblah) di CMakeLists.txt dapat diganti dengan -DNAME=overridingValue pada baris perintah cmake, - person peterk; 21.12.2018

Sedikit koreksi saja:

Jika Anda memiliki variabel lain untuk diteruskan, disarankan untuk menunjukkan jenis variabel berikut:

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

//Command line
cmake -DMyOption:BOOL=ON MyProjectFolder -D...
person guilloptero    schedule 04.04.2015