diff --git a/src/Magix3D/CMakeLists.txt b/src/Magix3D/CMakeLists.txt index d5226890..06c959f9 100644 --- a/src/Magix3D/CMakeLists.txt +++ b/src/Magix3D/CMakeLists.txt @@ -47,7 +47,9 @@ install ( # Le script de lancement de Magix3D : find_package (QtPython3 REQUIRED) set (QtPython_RUNTIME_DIR "${QtPython3_RUNTIME_DIR}") -#find_package (LimaScripting) # Faut il ajouter le PATH à Lima si installé ailleurs ? +# On ajoute Lima qui fait partie intégrante du package "maillage" : +find_package (Lima REQUIRED COMPONENTS LimaScripting) +set (LIMA_BINDING_DIR ${LimaScripting_RUNTIME_DIR}) set (MAGIX3D_BINDING_INSTALL_DIR ${PYTHON_BINDING_DIR}) find_package (VTK REQUIRED COMPONENTS vtksys ) set (VTK_LIBRARY_PATH "${VTK_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") diff --git a/src/Magix3D/cmake/Magix3D.in b/src/Magix3D/cmake/Magix3D.in index 1ae03264..3ec84b87 100644 --- a/src/Magix3D/cmake/Magix3D.in +++ b/src/Magix3D/cmake/Magix3D.in @@ -24,9 +24,10 @@ ROOT_DIR=@CMAKE_INSTALL_PREFIX@ # Spécificités Magix3D : export QT_PYTHON_SCRIPTS_DIR=@QtPython_RUNTIME_DIR@ -export PYTHONPATH=@CMAKE_INSTALL_PREFIX@/@MAGIX3D_BINDING_INSTALL_DIR@:@ADDPYTHONPACKAGES@$PYTHONPATH +export PYTHONPATH=@CMAKE_INSTALL_PREFIX@/@MAGIX3D_BINDING_INSTALL_DIR@:@LIMA_BINDING_DIR@:@ADDPYTHONPACKAGES@$PYTHONPATH export PYTHONPATH=@QtPython_RUNTIME_DIR@:$PYTHONPATH export MGX3D_PATH=@CMAKE_INSTALL_PREFIX@/@MAGIX3D_BINDING_INSTALL_DIR@ +export LIMA_PATH=@LIMA_BINDING_DIR@ HELP_URL="-helpURL $ROOT_DIR/share/doc/@CMAKE_PROJECT_NAME@/sphinx" WIKI_URL="-wikiURL @URL_WIKI@" QUALIF_URL="-qualifURL @URL_QUALIF@" diff --git a/src/Magix3D/cmake/Magix3DPython.py.in b/src/Magix3D/cmake/Magix3DPython.py.in index 7d6a7a58..3e301739 100644 --- a/src/Magix3D/cmake/Magix3DPython.py.in +++ b/src/Magix3D/cmake/Magix3DPython.py.in @@ -3,7 +3,7 @@ import sys -dependencies = "@ADDPYTHONPACKAGES@" +dependencies = "@LIMA_BINDING_DIR@:@ADDPYTHONPACKAGES@" dependencies_tmp = dependencies.split(":") sys.path.insert(1,"@CMAKE_INSTALL_PREFIX@/@MAGIX3D_BINDING_INSTALL_DIR@") diff --git a/src/Magix3DBatch/CMakeLists.txt b/src/Magix3DBatch/CMakeLists.txt index d37a5171..3d335af8 100644 --- a/src/Magix3DBatch/CMakeLists.txt +++ b/src/Magix3DBatch/CMakeLists.txt @@ -13,6 +13,10 @@ add_executable (${MAGIX3D_BATCH_EXE} Magix3DBatch.cpp) target_link_libraries (${MAGIX3D_BATCH_EXE} PUBLIC pyMagix3D) target_link_libraries (${MAGIX3D_BATCH_EXE} PUBLIC z) # Pour Qt sous Ubuntu installé via l'installeur Qt) +# On ajoute Lima qui fait partie intégrante du package "maillage" : +find_package (Lima REQUIRED COMPONENTS LimaScripting) +set (LIMA_BINDING_DIR ${LimaScripting_RUNTIME_DIR}) + # INSTALL_RPATH modifie le rpath pour les libs internes au projet : set_target_properties (${MAGIX3D_BATCH_EXE} PROPERTIES INSTALL_RPATH_USE_LINK_PATH 1 INSTALL_RPATH ${CMAKE_PACKAGE_RPATH_DIR}) diff --git a/src/Magix3DBatch/cmake/Magix3DBatch.in b/src/Magix3DBatch/cmake/Magix3DBatch.in index c9d05e2a..08fd7761 100644 --- a/src/Magix3DBatch/cmake/Magix3DBatch.in +++ b/src/Magix3DBatch/cmake/Magix3DBatch.in @@ -23,8 +23,9 @@ fi ROOT_DIR=@CMAKE_INSTALL_PREFIX@ # Spécificités Magix3D : -export PYTHONPATH=@CMAKE_INSTALL_PREFIX@/@MAGIX3D_BINDING_INSTALL_DIR@:@ADDPYTHONPACKAGES@$PYTHONPATH +export PYTHONPATH=@CMAKE_INSTALL_PREFIX@/@MAGIX3D_BINDING_INSTALL_DIR@:@LIMA_BINDING_DIR@:@ADDPYTHONPACKAGES@$PYTHONPATH export MGX3D_PATH=@CMAKE_INSTALL_PREFIX@/@MAGIX3D_BINDING_INSTALL_DIR@ +export LIMA_PATH=@LIMA_BINDING_DIR@ DEFAULT_CONFIG="-defaultConfig $ROOT_DIR/etc/magix3d.xml" CONFIG_PATCHS="-userConfigPatchs $ROOT_DIR/etc/magix3d_patchs.xml" diff --git a/src/QtComponents/QtMgx3DMainWindow.cpp b/src/QtComponents/QtMgx3DMainWindow.cpp index 519ea90e..78f4d107 100644 --- a/src/QtComponents/QtMgx3DMainWindow.cpp +++ b/src/QtComponents/QtMgx3DMainWindow.cpp @@ -3521,7 +3521,8 @@ void QtMgx3DMainWindow::showReady ( ) CHECK_NULL_PTR_ERROR(_pythonPanel) _pythonPanel->setInterpreterName("Magix3D interpreter"); // On facilite la tache de l'utilisateur : récupération du contexte de cette session : - char *env = getenv("MGX3D_PATH"); + char* env = getenv ("MGX3D_PATH"); + char* limaEnv = getenv ("LIMA_PATH"); if (0 != env) { _pythonPanel->executeCommand("import sys"); @@ -3532,6 +3533,20 @@ void QtMgx3DMainWindow::showReady ( ) UTF8String importLine(Charset::UTF_8); importLine << "import pyMagix3D as " << getMgx3DAlias(); _pythonPanel->executeCommand(importLine); + + if (0 != limaEnv) + { + const string comment = PythonLogOutputStream::toComment (UTF8String ("Pour une utilisation directe et scriptée de l'API Lima :", Charset::UTF_8)); + _pythonPanel->executeCommand (comment); + const string limaPath (limaEnv); + UTF8String limaPathCmd (Charset::UTF_8); + limaPathCmd << "sys.path.append(\"" << limaPath << "\")"; + _pythonPanel->executeCommand (limaPathCmd); + UTF8String limaImportLine (Charset::UTF_8); + limaImportLine << "from LimaScripting import *"; + _pythonPanel->executeCommand (limaImportLine); + } // if (0 != limaEnv) + UTF8String contextLine(Charset::UTF_8); contextLine << getContextAlias() << " = " << getMgx3DAlias() << ".getContext(\"" << getContext().getName() << "\")";