J'essaie actuellement d'échanger des bibliothèques statiques dans l'un de mes projets, ce qui nécessite l'échange de commandes find_package () pour des liens explicites vers des bibliothèques statiques. Un des problèmes que j'ai rencontrés est que même après la suppression des commandes find_package () rechargeant le projet CMake, les anciennes variables sont toujours présentes.
Existe-t-il un moyen de vider explicitement le cache CMake autre que la suppression manuelle de tous les fichiers du dossier temporaire créé par Clion pour la construction du projet?
À partir de CLion 1.5 144.3143 (2016-01-20), vous pouvez effacer le cache cmake sans perdre les index CLion et sans redémarrer (ce qui signifie: très rapide, également sur des énormes projets):
Tool | CMake | "Reset cache and reload project".
Si cela ne suffit pas pour certaines raisons, ou si vous avez un CLion plus âgé, vous pouvez faire le plus radical:
File | "Invalidate Caches / Restart"
et cliquez sur "Invalider et redémarrer".
MODIFICATIONS
Il y a de la magie avec ce cache. J'ai eu une mauvaise valeur pour une variable une fois: pour une raison quelconque, cmake a trouvé des inclusions de freetype détruites à l'intérieur de mono.framework
(une autre raison de ne pas aimer le mono ...) et j'ai essayé de les utiliser pour compiler mon projet. De toute évidence, la compilation a échoué.
J'ai essayé de supprimer CMakeCache.txt
et reconstruire le projet mais le chemin incorrect revient. Même après avoir supprimé mono.framework
dir!
La solution consistait à supprimer une ligne incorrecte du cache et à redémarrer la génération. Après cela, cmake a obtenu le bon chemin et la construction a réussi.
PD: Après avoir "rechargé le projet cmake", une valeur incorrecte est revenue. Tout supprimer dans $HOME/Library/Caches/clion11/cmake/generated/
dir (pour OS X) semble enfin résoudre le problème.