Apakah ada cara untuk mengkonfigurasi CLion untuk menggunakan makefile lokal untuk mengkompilasi kode, daripada CMake? Sepertinya saya tidak dapat menemukan cara untuk melakukannya dari opsi build.
Pembaruan: Jika Anda menggunakan CLion 2020.2, maka sudah mendukung Makefiles. Jika Anda menggunakan versi yang lebih lama, baca terus.
Meskipun saat ini hanya CMake yang didukung, Anda dapat menginstruksikan CMake untuk menelepon make
dengan kebiasaan Anda Makefile
. Edit Anda CMakeLists.txt
menambahkan salah satu dari dua perintah ini:
Ketika Anda mengatakan CLion
untuk menjalankan program Anda, itu akan mencoba untuk menemukan executable dengan nama target yang sama di direktori yang ditunjuk oleh PROJECT_BINARY_DIR
. Jadi selama Anda make
menghasilkan file di mana CLion
mengharapkan, tidak akan ada masalah.
Berikut ini contoh kerjanya:
CLion
untuk meneruskan $ (PROJECT_BINARY_DIR) kemake
Ini adalah sampel CMakeLists.txt
:
cmake_minimum_required(VERSION 2.8.4)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest COMMAND make -C ${mytest_SOURCE_DIR}
CLION_EXE_DIR=${PROJECT_BINARY_DIR})
CLion's
direktori yang dapat dieksekusiIni adalah sampel Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
Itu saja, Anda juga mungkin ingin mengubah direktori kerja program Anda sehingga dijalankan seperti ketika Anda menjalankan make dari dalam direktori Anda. Untuk pengeditan ini:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
danCMakeLists.txt
, coba modifikasi*.cpp
file. Ini akan membuat CLion membangun semuanya dari awal.Meskipun ini adalah salah satu permintaan fitur yang paling banyak dipilih , ada satu plugin yang tersedia, oleh Victor Kropp , yang menambahkan dukungan ke makefiles:
Plugin dukungan Makefile untuk IntelliJ IDEA
Install
Anda dapat menginstal langsung dari repositori resmi:
Pengaturan> Plugins> cari
makefile
> Cari di repositori> Instal> RestartMenggunakan
Setidaknya ada tiga cara untuk menjalankan:
Ini membuka panel bernama Jalankan target dengan output.
sumber
binary
pada <default>"Versi terbaru memiliki dukungan yang lebih baik secara harfiah untuk Makefiles yang dihasilkan, melalui compiledb
Tiga langkah:
instal compiledb
menjalankan make kering
(lakukan autogen, konfigurasikan jika perlu)
akan ada file compile_commands.json yang dihasilkan membuka proyek dan Anda akan melihat CLion akan memuat info dari file json. Jika Anda, CLion Anda masih mencoba menemukan CMakeLists.txt dan tidak dapat membaca compile_commands.json, coba hapus seluruh folder, unduh kembali file sumber, dan ulangi langkah 1,2,3
Orignal post: Bekerja dengan Makefile di CLion menggunakan Compilation DB
sumber
Untuk benar-benar menghindari penggunaan CMAKE, Anda dapat:
Bangun proyek Anda seperti biasanya dengan Make through terminal.
Ubah konfigurasi CLion Anda, buka (di bilah atas):
Run -> Edit Configurations -> yourProjectFolder
Ubah
Executable
ke yang dibuat dengan MakeUbah
Working directory
ke folder yang menahan eksekusi Anda (jika perlu)Hapus
Build
tugas di dalamBefore launch:Activate tool window
kotakDan Anda sudah siap! Anda sekarang dapat menggunakan tombol debug setelah pembuatan manual Anda.
sumber
Saat ini, hanya CMake yang didukung oleh CLion. Orang lain membangun sistem akan ditambahkan di masa depan, tetapi saat ini, Anda hanya dapat menggunakan CMake.
Alat importir telah diterapkan untuk membantu Anda menggunakan CMake.
Edit:
Sumber: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
sumber
Saya tidak terlalu mengenal CMake dan tidak bisa menggunakan solusi Mondkin secara langsung.
Inilah yang saya temukan di CMakeLists.txt menggunakan versi terbaru CLion (1.2.4) dan MinGW di Windows (saya kira Anda hanya perlu mengganti semua: g ++ mytest.cpp -o bin / mytest dengan make if Anda tidak menggunakan pengaturan yang sama):
Dan custom Makefile seperti ini (terletak di root proyek saya dan menghasilkan executable di direktori bin):
Saya dapat membangun executable dan kesalahan di jendela log dapat diklik.
Petunjuk dalam IDE cukup terbatas, yang merupakan batasan besar dibandingkan dengan proyek CMake murni ...
sumber
set(SOURCE_FILES all_files_here.c)
dan kemudian menambahkanadd_executable(foobar_cmake ${SOURCE_FILES})
di samping target kustom. Kemudian pastikan CLion diatur untuk membangun / menjalankan target kustom Anda dan bukan _cmake satu.