Closed gchabert closed 3 years ago
Ce comportement est lié à CMake. Avec CMake, si tu relances la commande cmake
avec le même répertoire de source et le même répertoire de build, il va utiliser un fichier de cache pour retrouver la valeur des variables que tu ne spécifies pas sur la ligne de commande (pour Ibex, ça sera le cas par exemple pour LP_LIB, INTERVAL_LIB, BUILD_SHARED_LIBS, ...).
Si tu veux réutiliser le même répertoire de build mais changer une variable, il faut la modifier sur la ligne de commande. Par exemple, pour ton cas d'utilisation:
cmake -DSHARED_BUILD_LIBS=ON .. # 1er appel à cmake
make # ou n'importe quelle autre commande
cmake -DSHARED_BUILD_LIBS=OFF # 2eme appel à cmake
make # ou n'importe quelle autre commande
OK, c'est super clair. Merci pour cette réponse détaillée!
Lorsque je compile/installe ibex dans un répertoire
build
en ayant faitcmake -DBUILD_SHARE_LIBS=1
puis que je recommence depuis le même répertoirebuild
en enlevant l'option-DBUILD_SHARE_LIBS=1
, ibex continue d'être compilé/installé en dynamique.Évidemment, si je supprime
build
et que je le recréée, pas de problème.C'est peut-être normal; on n'est peut-être pas censé réutiliser le même répertoire avec deux commandes cmake différentes?