Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah CMake Boleh Menyusun Fail Tersusun ke dalam Direktori 'bin' yang berasingan?

Bagaimanakah CMake Boleh Menyusun Fail Tersusun ke dalam Direktori 'bin' yang berasingan?

Linda Hamilton
Lepaskan: 2024-12-13 07:51:11
asal
267 orang telah melayarinya

How Can CMake Organize Compiled Files into a Separate 'bin' Directory?

Mengatur Output CMake ke dalam Direktori 'bin' Berasingan

Apabila bekerja dengan projek berbilang modul yang menggunakan seni bina pemalam, ia selalunya diingini untuk memastikan fail yang disusun berasingan daripada kod sumber. CMake, penjana sistem binaan yang berkuasa, boleh dikonfigurasikan untuk mengeluarkan fail yang disusun ke direktori 'bin' yang ditetapkan.

Untuk mencapai matlamat ini, pembolehubah CMAKE_RUNTIME_OUTPUT_DIRECTORY boleh digunakan. Dengan menetapkan pembolehubah ini, anda boleh menentukan direktori tempat fail boleh laku dan pemalam akan disimpan. Contohnya, dalam fail CMakeLists.txt akar, tetapan berikut boleh ditambah:

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
Salin selepas log masuk

Konfigurasi ini mengarahkan CMake untuk menyimpan arkib dan perpustakaan dalam direktori 'lib' dalam direktori binari, manakala boleh laku dan perpustakaan dinamik diletakkan dalam direktori 'bin'.

Sebagai alternatif, anda boleh menetapkan direktori output pada setiap sasaran asas menggunakan set_target_properties():

set_target_properties( targets...
    PROPERTIES
    ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
Salin selepas log masuk

Dengan menggunakan mana-mana pendekatan, anda boleh memisahkan output terkumpul daripada kod sumber dengan berkesan, memastikan struktur projek yang lebih bersih dan teratur.

Atas ialah kandungan terperinci Bagaimanakah CMake Boleh Menyusun Fail Tersusun ke dalam Direktori 'bin' yang berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan