2017-10-07 1 views
1

Mon problème est que je suis obligé de relancer CMake chaque fois que j'ajoute un nouveau fichier source, ce qui est vraiment ennuyeux ... Est-il possible que CMake puisse détecter automatiquement le fichier source nouvellement ajouté?Détecte automatiquement le fichier source nouvellement ajouté

+2

Non, il n'y a pas de façon non-hacky. – arrowd

+2

Comment vous attendez-vous que cmake détecte de nouveaux fichiers source à moins que vous ne les réexécutiez? Poulet, œuf et tout ça. – Peter

+2

Utilisez-vous 'fichier (GLOB ...)' pour découvrir vos fichiers? Ensuite, vous devez relancer CMake à chaque fois, de sorte qu'il exécutera à nouveau cette commande. Normalement, vous listeriez tous vos fichiers source dans votre 'CMakeLists.txt' et si vous ajoutez un fichier, CMake le relancerait automatiquement pour générer de nouveaux fichiers build/make. – Florian

Répondre

2

Certains systèmes d'exploitation (par exemple MacOS X) peuvent exécuter une action au cas où un dossier serait modifié. Certains IDE (par exemple QtCreator V4.1 et plus récent) déclenchent une nouvelle exécution de CMake au cas où l'un des fichiers CMake aurait été modifié.

Je ne connais pas votre cas d'utilisation mais je recommande de ne pas utiliser file(GLOB ...). Il est préférable de savoir quels fichiers font partie de votre projet.

0

CMake n'offre pas un tel moyen. Comment CMake devrait-il détecter ces nouveaux fichiers sans être appelé?

Je ne suis pas sûr que Xcode ou Visual Studio réexécute automatiquement CMake lorsque de nouveaux fichiers sont ajoutés. CMake n'a pas de fonctionnalité pour observer un dossier.