3.2.1.5 : La gestion de anaconda
Voici le environnement_prefix.cmake : Gestion des préfix d'environnements. Par défaut, le projet s'installe dans le home de l'utilisateur, qui est une utilisation assez classique, surtout lorque l'on développe :
1 2 |
# Setting the default phoenix install prefix set(PHOENIX_INSTALL_PREFIX "$ENV{HOME}/usr" CACHE STRING "Phoenix Install prefix" FORCE) |
Si on est dans un environnements Anaconda on change le préfix d'installation pour l'environnement courrant :
1 2 3 4 |
if(DEFINED ENV{CONDA_PREFIX}) message(STATUS "Find conda variable CONDA_PREFIX = '$ENV{CONDA_PREFIX}' used as new install prefix") set(PHOENIX_INSTALL_PREFIX "$ENV{CONDA_PREFIX}" CACHE STRING "Phoenix Install prefix" FORCE) endif() |
Si on est dans un environnements Anaconda (mais définit avec une autre variable) on change le préfix d'installation pour l'environnement courrant :
1 2 3 4 |
if(DEFINED ENV{CONDA_ENV_PATH}) message(STATUS "Find conda variable CONDA_ENV_PATH = '$ENV{CONDA_ENV_PATH}' used as new install prefix") set(PHOENIX_INSTALL_PREFIX "$ENV{CONDA_ENV_PATH}" CACHE STRING "Phoenix Install prefix" FORCE) endif() |
Si le préfix d'installation de CMake n'a pas été changé (si il a été changé, il ne faut pas le faire), on change le préfix d'installation du projet :
1 2 3 |
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX "${PHOENIX_INSTALL_PREFIX}" CACHE PATH "cmake install prefix" FORCE) endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) |
Enfin, on met à jour la recherche des modules en conséquence noteVous savez, l'endroit où l'on installe les macros pour trouver les projets installés comme FindXXX.cmake et autre cmake-XXX.cmake :
1 |
set(CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake CACHE STRING "cmake module path" FORCE) |
Le fichier environnement_prefix.cmake complet :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# Setting the default phoenix install prefix set(PHOENIX_INSTALL_PREFIX "$ENV{HOME}/usr" CACHE STRING "Phoenix Install prefix" FORCE) if(DEFINED ENV{CONDA_PREFIX}) message(STATUS "Find conda variable CONDA_PREFIX = '$ENV{CONDA_PREFIX}' used as new install prefix") set(PHOENIX_INSTALL_PREFIX "$ENV{CONDA_PREFIX}" CACHE STRING "Phoenix Install prefix" FORCE) endif() if(DEFINED ENV{CONDA_ENV_PATH}) message(STATUS "Find conda variable CONDA_ENV_PATH = '$ENV{CONDA_ENV_PATH}' used as new install prefix") set(PHOENIX_INSTALL_PREFIX "$ENV{CONDA_ENV_PATH}" CACHE STRING "Phoenix Install prefix" FORCE) endif() if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX "${PHOENIX_INSTALL_PREFIX}" CACHE PATH "cmake install prefix" FORCE) endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake CACHE STRING "cmake module path" FORCE) |