Czy istnieje sposób skonfigurowania CLion do używania lokalnego pliku makefile do kompilowania kodu zamiast CMake? Nie mogę znaleźć sposobu na zrobienie tego z opcji kompilacji.
Aktualizacja: jeśli używasz CLion 2020.2, to obsługuje on już pliki Makefiles. Jeśli używasz starszej wersji, czytaj dalej.
Mimo że obecnie obsługiwany jest tylko CMake, możesz poinstruować CMake, aby dzwonił make
z Twoim niestandardowym Makefile
. Edytuj CMakeLists.txt
dodanie jednego z tych dwóch poleceń:
Kiedy powiesz, CLion
aby uruchomić program, spróbuje znaleźć plik wykonywalny o tej samej nazwie celu w katalogu wskazanym przez PROJECT_BINARY_DIR
. Tak długo, jak długo make
generuje plik zgodnie z CLion
oczekiwaniami, nie będzie problemu.
Oto działający przykład:
CLion
aby przekazać jego $ (PROJECT_BINARY_DIR) domake
Oto próbka 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
kataloguOto próbka Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
To wszystko, możesz również chcieć zmienić katalog roboczy swojego programu, aby działał tak, jak to jest, gdy uruchamiasz make z wnętrza katalogu. W przypadku tej edycji:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
iCMakeLists.txt
, spróbuj zmodyfikować*.cpp
plik. To sprawiłoby, że CLion zbudowałby wszystko od zera.Chociaż jest to jedna z najczęściej ocenianych propozycji funkcji , dostępna jest jedna wtyczka autorstwa Victora Kroppa , która dodaje obsługę plików makefile:
Wtyczka obsługująca Makefile dla IntelliJ IDEA
zainstalować
Możesz zainstalować bezpośrednio z oficjalnego repozytorium:
Ustawienia> Wtyczki> wyszukaj
makefile
> Wyszukaj w repozytoriach> Zainstaluj> Uruchom ponowniePosługiwać się
Istnieją co najmniej trzy różne sposoby uruchamiania:
Otwiera okienko o nazwie Uruchom cel z danymi wyjściowymi.
źródło
binary
na <domyślnym>”Najnowsza wersja ma lepsze wsparcie dosłownie dla wszystkich generowanych plików Makefile, poprzez plik compiledb
Trzy kroki:
zainstaluj compiledb
uruchom suchą markę
(wykonaj autogen, skonfiguruj w razie potrzeby)
zostanie wygenerowany plik compile_commands.json, który otworzy projekt i zobaczysz, że CLion załaduje informacje z pliku json. Jeśli twój CLion nadal próbujesz znaleźć CMakeLists.txt i nie możesz odczytać compile_commands.json, spróbuj usunąć cały folder, ponownie pobierz pliki źródłowe i powtórz krok 1,2,3
Orignal post: Praca z plikami Makefiles w CLion przy użyciu bazy danych kompilacji
źródło
Aby całkowicie uniknąć używania CMAKE, możesz po prostu:
Zbuduj swój projekt w zwykły sposób za pomocą aplikacji Make za pośrednictwem terminala.
Zmień konfiguracje CLion, przejdź do (w górnym pasku):
Run -> Edit Configurations -> yourProjectFolder
Zmień na
Executable
ten wygenerowany za pomocą MakeZmień na
Working directory
folder zawierający plik wykonywalny (w razie potrzeby)Usuń
Build
zadanie wBefore launch:Activate tool window
pudełkuI gotowe! Możesz teraz użyć przycisku debugowania po kompilacji ręcznej.
źródło
Obecnie CLion obsługuje tylko CMake. Inne systemy kompilacji zostaną dodane w przyszłości, ale obecnie możesz używać tylko CMake.
Zaimplementowano narzędzie importera, które pomaga w korzystaniu z CMake.
Edytować:
Źródło: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
źródło
Nie jestem zbyt zaznajomiony z CMake i nie mogłem bezpośrednio korzystać z rozwiązania Mondkin.
Oto, co wymyśliłem w moim CMakeLists.txt, używając najnowszej wersji CLion (1.2.4) i MinGW w systemie Windows (myślę, że wystarczy wymienić wszystkie: g ++ mytest.cpp -o bin / mytest według marki, jeśli nie używasz tej samej konfiguracji):
A niestandardowy plik Makefile wygląda tak (znajduje się w katalogu głównym mojego projektu i generuje plik wykonywalny w katalogu bin):
Jestem w stanie zbudować plik wykonywalny, a błędy w oknie dziennika są klikalne.
Podpowiedzi w IDE są dość ograniczone, co jest dużym ograniczeniem w porównaniu do czystych projektów CMake ...
źródło
set(SOURCE_FILES all_files_here.c)
a następnie dodając jakoadd_executable(foobar_cmake ${SOURCE_FILES})
dodatek do niestandardowego celu. Następnie upewnij się, że CLion jest skonfigurowany do budowania / uruchamiania niestandardowego celu, a nie _cmake.