Existe-t-il un moyen de configurer CLion pour utiliser un makefile local pour compiler le code, plutôt que CMake? Je n'arrive pas à trouver le moyen de le faire à partir des options de construction.
Mise à jour: si vous utilisez CLion 2020.2, il prend déjà en charge les Makefiles. Si vous utilisez une version plus ancienne, lisez la suite.
Même si actuellement seul CMake est pris en charge, vous pouvez demander à CMake d'appeler make
avec votre custom Makefile
. Modifiez votre CMakeLists.txt
ajout de l'une de ces deux commandes:
Lorsque vous dites CLion
d'exécuter votre programme, il essaiera de trouver un exécutable portant le même nom que la cible dans le répertoire pointé par PROJECT_BINARY_DIR
. Donc, tant que vous make
générez le fichier où vous le CLion
souhaitez, il n'y aura pas de problème.
Voici un exemple de travail:
CLion
de passer son $ (PROJECT_BINARY_DIR) àmake
Voici l'exemple 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
répertoireVoici l'exemple Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
C'est tout, vous pouvez également changer le répertoire de travail de votre programme pour qu'il s'exécute tel quel lorsque vous exécutez make depuis l'intérieur de votre répertoire. Pour cette édition:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
etCMakeLists.txt
, essayez de modifier un*.cpp
fichier. Cela permettrait à CLion de tout construire à partir de zéro.Bien que ce soit l'une des demandes de fonctionnalités les plus votées , il existe un plugin disponible, par Victor Kropp , qui ajoute la prise en charge des makefiles:
Plugin de support Makefile pour IntelliJ IDEA
Installer
Vous pouvez installer directement à partir du référentiel officiel:
Paramètres> Plugins> rechercher
makefile
> Rechercher dans les référentiels> Installer> RedémarrerUtilisation
Il existe au moins trois façons différentes de fonctionner:
Il ouvre un volet nommé Exécuter la cible avec la sortie.
la source
binary
sur <par défaut>"La version la plus récente a un meilleur support littéralement pour tous les Makefiles générés, via le compiledb
Trois étapes:
installer compiledb
exécuter une fabrication à sec
(faire l'autogen, configurer si nécessaire)
il y aura un fichier compile_commands.json généré pour ouvrir le projet et vous verrez que CLion chargera les informations du fichier json. Si votre CLion essaie toujours de trouver CMakeLists.txt et que vous ne pouvez pas lire compile_commands.json, essayez de supprimer tout le dossier, retéléchargez les fichiers source et refaites l'étape 1, 2, 3
Article original: Travailler avec des Makefiles dans CLion à l'aide de Compilation DB
la source
Pour éviter totalement d'utiliser CMAKE, vous pouvez simplement:
Construisez votre projet comme d'habitude avec Make via le terminal.
Changez vos configurations CLion, allez dans (dans la barre supérieure):
Run -> Edit Configurations -> yourProjectFolder
Remplacez le
Executable
par celui généré avec MakeRemplacez le
Working directory
par le dossier contenant votre exécutable (si nécessaire)Supprimer la
Build
tâche dans laBefore launch:Activate tool window
boîteEt vous êtes prêt! Vous pouvez maintenant utiliser le bouton de débogage après votre construction manuelle.
la source
Actuellement, seul CMake est pris en charge par CLion. D'autres systèmes de construction seront ajoutés à l'avenir, mais actuellement, vous ne pouvez utiliser que CMake.
Un outil d'importation a été implémenté pour vous aider à utiliser CMake.
Éditer:
Source: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequent-asked-questions/
la source
Je ne connais pas très bien CMake et je ne pourrais pas utiliser directement la solution de Mondkin.
Voici ce que j'ai trouvé dans mon CMakeLists.txt en utilisant la dernière version de CLion (1.2.4) et MinGW sur Windows (je suppose que vous aurez juste besoin de remplacer tout: g ++ mytest.cpp -o bin / mytest par make if vous n'utilisez pas la même configuration):
Et le Makefile personnalisé est comme ça (il est situé à la racine de mon projet et génère l'exécutable dans un répertoire bin):
Je suis capable de créer l'exécutable et les erreurs dans la fenêtre du journal sont cliquables.
Les astuces dans l'EDI sont assez limitées, ce qui est une grande limitation par rapport aux projets CMake purs ...
la source
set(SOURCE_FILES all_files_here.c)
, puis en les ajoutantadd_executable(foobar_cmake ${SOURCE_FILES})
à la cible personnalisée. Ensuite, assurez-vous simplement que CLion est configuré pour générer / exécuter votre cible personnalisée et non celle _cmake.