Questions marquées «cmake»

90
Comment utiliser CCache avec CMake?

Je voudrais faire ce qui suit: Si CCache est présent dans PATH, utilisez "ccache g ++" pour la compilation, sinon utilisez g ++. J'ai essayé d'écrire un petit script my-cmake contenant CC="ccache gcc" CXX="ccache g++" cmake $* mais cela ne semble pas fonctionner (l'exécution de make n'utilise...

89
Fonction vs macro dans CMake

Le document officiel de CMake 2.8.12 parle demacro Lorsqu'elle est invoquée, les commandes enregistrées dans la macro sont d'abord modifiées en remplaçant les paramètres formels ($ {arg1}) par les arguments passés, puis invoquées comme des commandes normales. Et à propos function Lorsqu'elle est...

88
Définir les options CFLAGS et CXXFLAGS à l'aide de CMake

Je veux juste déboguer du code fonctionnant sous Linux et j'ai besoin d'un debug build ( -O0 -ggdb). J'ai donc ajouté ces choses à mon CMakeLists.txt: set(CMAKE_BUILD_TYPE DEBUG) set(CMAKE_C_FLAGS "-O0 -ggdb") set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb") set(CMAKE_C_FLAGS_RELEASE "-O0 -ggdb")...

88
CMake & CTest: make test ne construit pas de tests

J'essaye CTest dans CMake afin d'exécuter automatiquement certains de mes tests en utilisant make testtarget. Le problème est que CMake ne «comprend» pas que le test que je suis prêt à exécuter doit être construit car il fait partie du projet. Je cherche donc un moyen de spécifier explicitement...

87
Cmake ne trouve pas Boost

J'essaie de configurer un projet à l'aide de CMake, mais il ne parvient pas à trouver les bibliothèques Boost même si elles se trouvent dans le dossier spécifié. J'ai spécifié Boost_INCLUDE_DIR, Boost_LIBRARYDIRet BOOST_ROOT, mais j'obtiens toujours une erreur indiquant que CMake ne peut pas...

10
CMake: Comment savoir d'où vient la dépendance transitive?

Je suis en train de réécrire une configuration CMake héritée pour utiliser des fonctionnalités modernes comme la propagation automatique des dépendances. (c'est-à-dire en utilisant des choses comme target_include_directories(<target> PUBLIC <dir>)au lieu de