Menambahkan opsi baris perintah ke CMake


111

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

Bagaimana saya dapat menambahkan opsi baris perintah ke CMake build saya, misalnya agar pengguna dapat mengetik sesuatu seperti cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..?

Rupanya kata kunci OPTION akan membuat variabel yang dapat diatur dari CMake GUI, tetapi saya tidak tahu bagaimana melakukan ini dari baris perintah.


Terima kasih atas pertanyaan Anda karena menjawab pertanyaan saya sehubungan dengan tujuan opsi cmake. Jadi, saya lihat sekarang untuk GUI
truthadjustr

Jawaban:


161

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

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

//Command line
cmake -DMyOption=ON MyProjectFolder

Perhatikan bahwa -DMyOptionharus ada sebelum jalan.


5
... dan cmake MyProjectFolder -DMyOptiontidak mengaktifkan (atau menonaktifkan)
opsi

letakkan -DMyOption sebelum MyProjectFolder dan coba?
updogliu

11
Gunakan -DMyOption=ONatau -DMyOption=OFFuntuk menghidupkan atau mematikan.
kvanberendonck

Saya baru saja memperhatikan ketika saya mencoba membuat modul pihak ketiga bahwa item yang disetel dengan "set (NAME bla bla)" di CMakeLists.txt dapat diganti dengan -DNAME = overridingValue pada baris perintah cmake,
peterk

13

Sedikit koreksi:

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

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

//Command line
cmake -DMyOption:BOOL=ON MyProjectFolder -D...
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.