web-dev-qa-db-fra.com

Utiliser le makefile local pour CLion au lieu de CMake

Existe-t-il un moyen de configurer CLion pour utiliser un fichier 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.

139
hlin117

Même si, actuellement, seul CMake est pris en charge, vous pouvez demander à CMake d'appeler make avec votre compte personnalisé Makefile. Editez votre CMakeLists.txt en ajoutant l'une de ces deux commandes:

Lorsque vous indiquez à CLion d’exécuter votre programme, il essaie de trouver un exécutable portant le même nom de cible dans le répertoire indiqué par PROJECT_BINARY_DIR. Donc, tant que votre make génère le fichier attendu par CLion, il n'y aura aucun problème.

Voici un exemple de travail:

Dites à CLion de transmettre ses $ (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})

Dites à make de générer l'exécutable dans le répertoire CLion's

Voici l'exemple Makefile:

all:
    echo Compiling $(CLION_EXE_DIR)/$@ ...
    g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest

C’est tout, vous voudrez peut-être aussi changer le répertoire de travail de votre programme pour qu’il s’exécute tel quel lorsque vous exécutez make à partir de votre répertoire. Pour cette édition: Run -> Edit Configurations ... -> mytest -> Working directory

132
MondKin

Bien qu'il s'agisse de l'un des plus votés demandes de fonctionnalités , il en existe un plugin disponible, par Victor Kropp , qui ajoute un support aux makefiles:

plugin de support Makefile pour IntelliJ IDEA

Installer

Vous pouvez installer directement à partir du référentiel officiel:

Paramètres> Plug-ins> rechercher makefile> Rechercher dans les référentiels> Installer> Redémarrer

Utilisation

Il y a au moins trois manières différentes de courir:

  1. Faites un clic droit sur un fichier make et sélectionnez Run
  2. Ouvrez le fichier makefile dans l'éditeur, placez le curseur sur une cible (n'importe où sur la ligne), appuyez sur alt + enter, puis sélectionnez make target
  3. Frappé ctrl/cmd + shift + F10 sur une cible (bien que celle-ci ne fonctionne pas pour moi sur un mac).

Il ouvre un volet nommé , puis   cible avec la sortie.

26
iled

La version la plus récente supporte littéralement mieux tous les Makefiles générés, à travers le compiledb

Trois étapes:

  1. installer compiledb

    pip install compiledb
    
  2. exécuter une marque sèche

    compiledb -n make 
    

    (faire l'autogen, configurer si nécessaire)

  3. un fichier compile_commands.json sera généré pour ouvrir le projet et vous verrez que CLion chargera les informations à partir 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, de télécharger à nouveau les fichiers source et de refaire l'étape 1,2,3.

Poste d'origine: Travailler avec des Makefiles dans CLion en utilisant Compilation DB

7
Fengggli

Pour éviter totalement d'utiliser CMAKE, vous pouvez simplement:

  1. Construisez votre projet comme d'habitude avec Make via le terminal.

  2. Changez vos configurations CLion, allez à (dans la barre du haut):
    Run -> Edit Configurations -> yourProjectFolder

  3. Remplacez Executable par celui généré avec Make

  4. Changez le Working directory dans le dossier contenant votre exécutable (si nécessaire)

  5. Supprimez la tâche Build dans la zone Before launch:Activate tool window

Et vous êtes tous ensemble! Vous pouvez maintenant utiliser le bouton de débogage après votre construction manuelle.

2
13013SwagR

Je ne connais pas très bien CMake et je ne peux 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 de MinGW sous Windows (je suppose que vous devrez simplement 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 ceci (il se trouve à 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 construire l'exécutable et les erreurs dans la fenêtre du journal sont cliquables.

Les astuces dans le IDE sont assez limitées, ce qui est une grosse limitation par rapport aux projets purement CMake ...

1
Jérémy

Actuellement, seul CMake est pris en charge par CLion. D'autres systèmes de construction seront ajoutés à l'avenir, mais pour le moment, vous ne pouvez utiliser que CMake.

Un outil d'importation a été mis en place pour vous aider à utiliser CMake.

Modifier:

Source: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/

1
GauthierPLM