Menyesuaikan pengaturan build CMake
Visual Studio menggunakan file konfigurasi CMake untuk mendorong pembuatan dan build CMake. CMakePresets.json
didukung oleh Visual Studio 2019 versi 16.10 atau yang lebih baru dan merupakan file konfigurasi CMake yang direkomendasikan. CMakePresets.json
didukung langsung oleh CMake dan dapat digunakan untuk mendorong pembuatan dan build CMake dari Visual Studio, dari Visual Studio Code, dalam alur Integrasi Berkelanjutan, dan dari baris perintah di Windows, Linux, dan Mac. Untuk informasi selengkapnya tentang CMakePresets.json
, lihat Mengonfigurasi dan membangun dengan CMake Presets.
Jika Anda mempertahankan proyek yang menggunakan CMakeSettings.json
file untuk konfigurasi build CMake, Visual Studio 2019 dan versi yang lebih baru menyediakan editor pengaturan CMake. Editor memungkinkan Anda menambahkan konfigurasi CMake dan menyesuaikan pengaturannya dengan mudah. Ini dimaksudkan untuk menjadi alternatif yang lebih sederhana untuk mengedit CMakeSettings.json
file secara manual. Namun, jika Anda lebih suka mengedit file secara langsung, Anda dapat memilih tautan Edit JSON di kanan atas editor.
Untuk membuka editor pengaturan CMake, pilih menu drop-down Konfigurasi di toolbar utama dan pilih Kelola Konfigurasi.
Sekarang Anda melihat Editor Pengaturan dengan konfigurasi yang diinstal di sebelah kiri.
Panel kiri memperlihatkan konfigurasi yang diinstal (x86-Debug). Panel kanan memperlihatkan pengaturan untuk konfigurasi yang dipilih. Pengaturan termasuk nama konfigurasi, jenis konfigurasi (diatur ke Debug), toolset (diatur ke msvc_x86), file toolchain CMake (kosong), build root (berisi ${env:USERPROFILE}\CMakeBuilds\${workspaceHash}\build\${name}), argumen perintah CMake (kosong), dan argumen perintah build (-v).
Visual Studio menyediakan satu x64-Debug
konfigurasi secara default. Anda dapat menambahkan lebih banyak konfigurasi dengan memilih tanda plus hijau. Pengaturan yang Anda lihat di editor mungkin bervariasi tergantung pada konfigurasi mana yang dipilih.
Opsi yang Anda pilih di editor ditulis ke file yang disebut CMakeSettings.json
. File ini menyediakan argumen baris perintah dan variabel lingkungan yang diteruskan ke CMake saat Anda membangun proyek. Visual Studio tidak pernah memodifikasi CMakeLists.txt
secara otomatis; dengan menggunakan CMakeSettings.json
Anda dapat menyesuaikan build melalui Visual Studio sambil membiarkan file proyek CMake tidak tersentuh sehingga orang lain di tim Anda dapat menggunakannya dengan alat apa pun yang mereka gunakan.
Pengaturan Umum CMake
Pengaturan berikut ini tersedia di bawah judul Umum :
Nama konfigurasi
Sesuai dengan pengaturan nama. Nama ini muncul di menu dropdown konfigurasi C++. Anda dapat menggunakan ${name}
makro untuk menyusun nilai properti lain seperti jalur.
Jenis konfigurasi
Sesuai dengan pengaturan configurationType. Menentukan jenis konfigurasi build untuk generator yang dipilih. Nilai yang saat ini didukung adalah Debug, MinSizeRel, Release, dan RelWithDebInfo. Ini memetakan ke CMAKE_BUILD_TYPE
.
Toolset
Sesuai dengan pengaturan inheritedEnvironments. Menentukan lingkungan pengkompilasi yang digunakan untuk membangun konfigurasi yang dipilih. Nilai yang didukung bergantung pada jenis konfigurasi. Untuk membuat lingkungan kustom, pilih tautan Edit JSON di sudut kanan atas editor Pengaturan, dan edit file secara CMakeSettings.json
langsung.
File toolchain CMake
Jalur ke file toolchain CMake. Jalur ini diteruskan ke CMake sebagai "-DCMAKE_TOOLCHAIN_FILE = <filepath>
. File toolchain menentukan lokasi pengkompilasi dan utilitas toolchain, serta platform target dan informasi terkait kompilator lainnya. Secara default, Visual Studio menggunakan file toolchain vcpkg jika pengaturan ini tidak ditentukan.
Membangun akar
Sesuai dengan buildRoot. Memetakan ke CMAKE_BINARY_DIR
, dan menentukan tempat untuk membuat cache CMake. Folder yang ditentukan dibuat jika tidak ada.
Argumen perintah
Pengaturan berikut ini tersedia di bawah judul Argumen perintah:
Argumen perintah CMake
Sesuai dengan cmakeCommandArgs. Menentukan opsi baris perintah lainnya yang diteruskan ke CMake.
Argumen perintah build
Sesuai dengan buildCommandArgs. Menentukan lebih banyak sakelar untuk diteruskan ke sistem build yang mendasar. Misalnya, melewati -v
saat menggunakan generator Ninja memaksa Ninja untuk menghasilkan baris perintah.
Argumen perintah CTest
Sesuai dengan ctestCommandArgs. Menentukan lebih banyak opsi baris perintah untuk diteruskan ke CTest saat menjalankan pengujian.
Pengaturan umum untuk build jarak jauh
Untuk konfigurasi seperti Linux yang menggunakan build jarak jauh, pengaturan berikut juga tersedia:
rsync
argumen perintah
Opsi baris perintah ekstra diteruskan ke rsync
, alat penyalinan file yang cepat dan serbaguna.
Variabel dan cache CMake
Pengaturan ini memungkinkan Anda mengatur variabel CMake dan menyimpannya di CMakeSettings.json
. Mereka diteruskan ke CMake pada waktu build, dan mengambil alih nilai apa pun yang ada dalam CMakeLists.txt
file. Anda dapat menggunakan bagian ini dengan cara yang sama seperti Anda dapat menggunakan CMakeGUI untuk melihat daftar semua variabel CMake yang tersedia untuk diedit. Pilih tombol Simpan dan hasilkan cache untuk melihat daftar semua variabel CMake yang tersedia untuk diedit, termasuk variabel tingkat lanjut (per CMakeGUI). Anda dapat memfilter daftar menurut nama variabel.
Sesuai dengan variabel. Berisi pasangan nilai nama variabel CMake yang diteruskan ke -D name=value
CMake. Jika instruksi build proyek CMake Anda menentukan penambahan variabel apa pun langsung ke file cache CMake, kami sarankan Anda menambahkannya di sini sebagai gantinya.
Pengaturan tingkat lanjut
Generator CMake
Sesuai dengan generator. Memetakan ke sakelar CMake -G
, dan menentukan generator CMake yang akan digunakan. Properti ini juga dapat digunakan sebagai makro, ${generator}
, saat menyusun nilai properti lainnya. Visual Studio saat ini mendukung generator CMake berikut:
- "Ninja"
- "Unix Makefiles"
- "Visual Studio 16 2019"
- "Visual Studio 16 2019 Win64"
- "Visual Studio 16 2019 ARM"
- "Visual Studio 15 2017"
- "Visual Studio 15 2017 Win64"
- "Visual Studio 15 2017 ARM"
- "Visual Studio 14 2015"
- "Visual Studio 14 2015 Win64"
- "Visual Studio 14 2015 ARM"
Karena Ninja dirancang untuk kecepatan build cepat alih-alih fleksibilitas dan fungsi, ini ditetapkan sebagai default. Namun, beberapa proyek CMake mungkin tidak dapat membangun dengan benar menggunakan Ninja. Jika itu terjadi, Anda dapat menginstruksikan CMake untuk membuat proyek Visual Studio sebagai gantinya.
Mode IntelliSense
Mode IntelliSense yang digunakan oleh mesin IntelliSense. Jika tidak ada mode yang dipilih, Visual Studio mewarisi mode dari toolset yang ditentukan.
Menginstal direktori
Direktori tempat CMake menginstal target. Memetakan ke CMAKE_INSTALL_PREFIX
.
CMake executable
Jalur lengkap ke program CMake yang dapat dieksekusi, termasuk nama file dan ekstensi. Ini memungkinkan Anda menggunakan versi kustom CMake dengan Visual Studio. Untuk build jarak jauh, tentukan lokasi CMake pada komputer jarak jauh.
Untuk konfigurasi seperti Linux yang menggunakan build jarak jauh, pengaturan berikut juga tersedia:
Akar CMakeLists.txt jarak jauh
Direktori pada komputer jarak jauh yang berisi file akar CMakeLists.txt
.
Akar penginstalan jarak jauh
Direktori pada komputer jarak jauh tempat CMake menginstal target. Memetakan ke CMAKE_INSTALL_PREFIX
.
Sumber salinan jarak jauh
Menentukan apakah akan menyalin file sumber ke komputer jarak jauh, dan memungkinkan Anda menentukan apakah akan menggunakan rsync atau sftp.
Langsung edit CMakeSettings.json
Anda juga dapat langsung mengedit CMakeSettings.json
untuk membuat konfigurasi kustom. Editor Pengaturan memiliki tombol Edit JSON di kanan atas yang membuka file untuk pengeditan.
Contoh berikut menunjukkan konfigurasi sampel, yang dapat Anda gunakan sebagai titik awal:
{
"name": "x86-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "msvc_x86" ],
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "-v",
"ctestCommandArgs": ""
},
JSON IntelliSense membantu Anda mengedit CMakeSettings.json
file:
Editor JSON juga memberi tahu Anda saat Anda memilih pengaturan yang tidak kompatibel.
Untuk informasi selengkapnya tentang setiap properti dalam file, lihat referensi skema CMakeSettings.json.
Visual Studio 2017 menyediakan beberapa konfigurasi CMake yang menentukan bagaimana CMake dipanggil untuk membuat cache CMake untuk proyek tertentu. Untuk menambahkan konfigurasi baru, pilih menu drop-down konfigurasi di toolbar dan pilih Kelola Konfigurasi:
Anda dapat memilih dari daftar konfigurasi yang telah ditentukan sebelumnya:
Pertama kali Anda memilih konfigurasi, Visual Studio membuat CMakeSettings.json
file di folder akar proyek Anda. File ini digunakan untuk membuat ulang file cache CMake, misalnya setelah operasi Bersihkan .
Untuk menambahkan konfigurasi lain, klik CMakeSettings.json
kanan dan pilih Tambahkan Konfigurasi.
Anda juga dapat mengedit file menggunakan Editor Pengaturan CMake. CMakeSettings.json
Klik kanan di Penjelajah Solusi dan pilih Edit Pengaturan CMake. Atau, pilih Kelola Konfigurasi dari menu drop-down konfigurasi di bagian atas jendela editor.
Anda juga dapat langsung mengedit CMakeSettings.json
untuk membuat konfigurasi kustom. Contoh berikut menunjukkan konfigurasi sampel, yang dapat Anda gunakan sebagai titik awal:
{
"name": "x86-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "msvc_x86" ],
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "-v",
"ctestCommandArgs": ""
},
JSON IntelliSense membantu Anda mengedit CMakeSettings.json
file:
Pop-up JSON IntelliSense untuk "konfigurasi" menunjukkan buildCommandArgs, buildRoot, cmakeCommandArgs, configurationType, antara lain.
Untuk informasi selengkapnya tentang setiap properti dalam file, lihat CMakeSettings.json
referensi skema.
Lihat juga
Proyek CMake di Visual Studio
Mengonfigurasi proyek CMake Linux
Menyambungkan ke komputer Linux jarak jauh Anda
Mengonfigurasi sesi penelusuran kesalahan CMake
Menyebarkan, menjalankan, dan men-debug proyek Linux Anda
Referensi konfigurasi CMake yang telah ditentukan sebelumnya