Bagaimana cara membuat CMAKE menghasilkan kesalahan pada kondisi tertentu. Artinya, saya menginginkan yang seperti ini:
if( SOME_COND )
error( "You can't do that" )
endif()
Bagaimana cara membuat CMAKE menghasilkan kesalahan pada kondisi tertentu. Artinya, saya menginginkan yang seperti ini:
if( SOME_COND )
error( "You can't do that" )
endif()
Jawaban:
The message()metode memiliki argumen opsional untuk mode, yang memungkinkan STATUS, WARNING, AUTHOR_WARNING, SEND_ERROR, dan FATAL_ERROR. STATUSpesan pergi ke stdout. Setiap mode pesan lainnya, termasuk tidak ada, masuk ke stderr.
Anda ingin SEND_ERRORjika Anda ingin menampilkan kesalahan, tetapi terus memproses. Anda ingin FATAL_ERRORjika Anda ingin keluar dari pemrosesan CMake.
Sesuatu seperti:
if( SOME_COND )
message( SEND_ERROR "You can't do that" )
elseif( SOME_CRITICAL_COND )
message( FATAL_ERROR "You can not do this at all, CMake will exit." )
endif()
AUTHOR_WARNING = CMake Warning (dev), continue processing, menyarankan agar digunakan untuk men-debug skrip CMake. Hanya tebakan liar.
AUTHOR_WARNINGMenunjukkan peringatan yang tidak berguna bagi pengguna akhir tetapi bagi pengembang. Itu dapat mengingatkan mereka untuk memperbaiki beberapa hack / todos atau menunjukkan peringatan yang harus diperbaiki tetapi tidak mempengaruhi CMake yang dijalankan untuk pengguna. Itulah mengapa pengguna dapat menyembunyikan peringatan ini dengan --Wno-dev.
message(), termasuk VERBOSE, DEBUG, dan TRACE.
AUTHOR_WARNING?