Réponses:
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
et CMakeLists.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
Vous pouvez installer directement à partir du référentiel officiel:
Paramètres> Plugins> rechercher makefile
> Rechercher dans les référentiels> Installer> Redémarrer
Il existe au moins trois façons différentes de fonctionner:
Il ouvre un volet nommé Exécuter la cible avec la sortie.
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
pip install compiledb
exécuter une fabrication à sec
compiledb -n make
(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
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 Make
Remplacez le Working directory
par le dossier contenant votre exécutable (si nécessaire)
Supprimer la Build
tâche dans la Before launch:Activate tool window
boîte
Et vous êtes prêt! Vous pouvez maintenant utiliser le bouton de débogage après votre construction manuelle.
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/
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):
cmake_minimum_required(VERSION 3.3)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest ALL COMMAND mingw32-make WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
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):
all:
g++ mytest.cpp -o bin/mytest
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 ...
set(SOURCE_FILES all_files_here.c)
, puis en les ajoutant add_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.