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 makeavec votre custom Makefile. Modifiez votre CMakeLists.txtajout de l'une de ces deux commandes:
Lorsque vous dites CLiond'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 makegénérez le fichier où vous le CLionsouhaitez, il n'y aura pas de problème.
Voici un exemple de travail:
CLionde passer son $ (PROJECT_BINARY_DIR) àmakeVoici 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'sré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
Makefileet CMakeLists.txt, essayez de modifier un *.cppfichier. 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.
binarysur <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 Executablepar celui généré avec Make
Remplacez le Working directorypar le dossier contenant votre exécutable (si nécessaire)
Supprimer la Buildtâche dans la Before launch:Activate tool windowboî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.