Salome HOME
Merge from V7_3_BR branch 18/12/2013
authorvsr <vsr@opencascade.com>
Wed, 18 Dec 2013 14:13:30 +0000 (14:13 +0000)
committervsr <vsr@opencascade.com>
Wed, 18 Dec 2013 14:13:30 +0000 (14:13 +0000)
20 files changed:
CMakeLists.txt
SalomeYACSConfig.cmake.in
doc/conf.py.in
src/bases/Test/CMakeLists.txt
src/engine/LinkInfo.cxx
src/engine/Test/CMakeLists.txt
src/engine/Test/engineIntegrationTest.cxx
src/genericgui/GenericGui.cxx
src/genericgui/GuiEditor.cxx
src/hmi/guiObservers.cxx
src/runtime/PythonNode.cxx
src/runtime/Test/CMakeLists.txt
src/salomegui/resources/YACS_msg_ja.ts
src/salomeloader/CMakeLists.txt
src/yacsloader/Test/CMakeLists.txt
src/yacsloader/Test/YacsLoaderTest.cxx
src/yacsloader/Test/YacsLoaderTest.sh.in
src/yacsloader/Test/config_appli.xml.in
src/yacsloader_swig/Test/YacsLoaderTest.sh.in
src/yacsloader_swig/Test/config_appli.xml.in

index 4f76e8cf9034835826efeb5d5f988e28e24d39ef..790ddcc1a764fa598a8abfbaac734a6f5a83f61e 100644 (file)
@@ -30,7 +30,7 @@ CMAKE_POLICY(SET CMP0003 NEW)
 STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
 
 SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
-SET(${PROJECT_NAME_UC}_MINOR_VERSION 2)
+SET(${PROJECT_NAME_UC}_MINOR_VERSION 3)
 SET(${PROJECT_NAME_UC}_PATCH_VERSION 0)
 SET(${PROJECT_NAME_UC}_VERSION
   ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
@@ -274,7 +274,7 @@ ENDIF(SALOME_YACS_USE_KERNEL)
 
 IF(SALOME_BUILD_TESTS)
   LIST(APPEND _${PROJECT_NAME}_exposed_targets YACSDLTest PluginSimplex
-       PluginOptEvTest1 TestComponentLocal)
+       PluginOptEvTest1 TestComponentLocal yacsloader_echo)
 ENDIF(SALOME_BUILD_TESTS)
 
 IF(SALOME_BUILD_GUI)
index c700229160d26410a2bba3b034ede10ba31fe88d..e08cb38969a1e2aa1e299f7981b8a4744a7968e7 100644 (file)
@@ -166,3 +166,4 @@ SET(YACS_HMI HMI)
 SET(YACS_GenericGui GenericGui)
 SET(YACS_YACS YACS)
 SET(YACS_SalomeWrap SalomeWrap)
+SET(YACS_yacsloader_echo yacsloader_echo)
index 90618fcc033696d6f8ad2e22d1ee8565efd7be78..6b45e87a3d58777b679b7a093b567b84577d7567 100644 (file)
@@ -69,6 +69,11 @@ release = '@SALOMEYACS_VERSION@'
 # for source files.
 exclude_trees = ['.build','ref','images','CVS']
 
+# A list of glob-style patterns that should be excluded when looking for source
+# files. They are matched against the source file names relative to the
+# source directory, using slashes as directory separators on all platforms.
+exclude_patterns = ['**/CVS']
+
 # The reST default role (used for this markup: `text`) to use for all documents.
 #default_role = None
 
index 99e5654c51ac267cb0b5a4d5d33caa1b98c288b1..031173942358db32028467d6846c8d4c066afc44 100644 (file)
@@ -50,4 +50,6 @@ ADD_TEST(InitTests InitTests)
 
 ADD_EXECUTABLE(TestBases ${TestBases_SOURCES})
 TARGET_LINK_LIBRARIES(TestBases YACSBases ${CPPUNIT_LIBRARIES} ${PTHREAD_LIBRARIES})
-ADD_TEST(TestBases TestBases)
\ No newline at end of file
+SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
+ADD_TEST(TestBases TestBases)
+SET_TESTS_PROPERTIES(TestBases PROPERTIES ENVIRONMENT "${tests_env}")
\ No newline at end of file
index f2e4101b32eb5fbf72ed1d4ae7e5e62791145c6d..1db7bd31d3669d7dbf75a004c2dc44900feecfb1 100644 (file)
@@ -276,7 +276,7 @@ std::pair<OutPort *, InPort *> LinkInfo::getInfoLink(unsigned id, InfoReason rea
   if(iter!=_infos.end())
     return (*iter).second[id];
   else
-    return pair<OutPort *, InPort *>(0,0);
+    return pair<OutPort *, InPort *>( reinterpret_cast<OutPort *>(0), reinterpret_cast<InPort *>(0) );
 }
 
 std::vector< std::pair<OutPort *, InPort *> > LinkInfo::getWarnLink(unsigned id, WarnReason reason) const
@@ -291,16 +291,16 @@ std::vector< std::pair<OutPort *, InPort *> > LinkInfo::getWarnLink(unsigned id,
 std::pair<OutPort *, InPort *> LinkInfo::getErrLink(unsigned id, ErrReason reason) const
 {
   if(reason==E_NEVER_SET_INPUTPORT)
-    return pair<OutPort *, InPort *>(0,_unsetInPort[id]);
+    return pair<OutPort *, InPort *>( reinterpret_cast<OutPort *>(0), _unsetInPort[id] );
   else if(reason==E_ONLY_BACKWARD_DEFINED)
-    return pair<OutPort *, InPort *>(0,_onlyBackDefined[id]);
+    return pair<OutPort *, InPort *>( reinterpret_cast<OutPort *>(0), _onlyBackDefined[id] );
   else
     {
       map<ErrReason, vector< pair<OutPort *,InPort *> > >::const_iterator iter=_errors.find(reason);
       if(iter!=_errors.end())
         return (*iter).second[id];
       else
-        return pair<OutPort *, InPort *>(0,0);
+        return pair<OutPort *, InPort *>( reinterpret_cast<OutPort *>(0), reinterpret_cast<InPort *>(0) );
     }
 }
 
index d39ec21ab87d2f6af2e6123840ccee1a9116806f..283a927558fbef096adecc730b4679f94e9c25ad 100644 (file)
@@ -77,4 +77,6 @@ ADD_TEST(TestEngine TestEngine)
 
 ADD_EXECUTABLE(IntegrationTestEngine ${IntegrationTestEngine_SOURCES})
 TARGET_LINK_LIBRARIES(IntegrationTestEngine ${_link_LIBRARIES})
-ADD_TEST(IntegrationTestEngine IntegrationTestEngine)
\ No newline at end of file
+SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
+ADD_TEST(IntegrationTestEngine IntegrationTestEngine)
+SET_TESTS_PROPERTIES(IntegrationTestEngine PROPERTIES ENVIRONMENT "${tests_env}")
\ No newline at end of file
index cb38a3d0922bf68fd759fe320ece7b62d3fbc2a7..fed7650e97b295d97321aa04cbd3000a95454289 100644 (file)
@@ -3015,7 +3015,7 @@ void EngineIntegrationTest::testForCheckConsistency1()
   CPPUNIT_ASSERT_EQUAL(0,(int)info.getNumberOfInfoLinks(I_ALL)); CPPUNIT_ASSERT_EQUAL(0,(int)info.getNumberOfWarnLinksGrp(W_ALL));
   CPPUNIT_ASSERT_EQUAL(1,(int)info.getNumberOfErrLinks(E_ALL)); CPPUNIT_ASSERT_EQUAL(1,(int)info.getNumberOfErrLinks(E_ALL));
   CPPUNIT_ASSERT_EQUAL(1,(int)info.getNumberOfErrLinks(E_NEVER_SET_INPUTPORT));
-  pair<OutPort *, InPort *> p1=info.getErrLink(0,E_NEVER_SET_INPUTPORT); pair<OutPort *, InPort *> p2(0,i11_1);
+  pair<OutPort *, InPort *> p1=info.getErrLink(0,E_NEVER_SET_INPUTPORT); pair<OutPort *, InPort *> p2( reinterpret_cast<OutPort *>(0), i11_1 );
   CPPUNIT_ASSERT(p1==p2);
   //
   i11_1->edInit(3.14);
index 2b49c3504aaddb6b48dd775f95fd777946c82a24..7f16106662be0c8d272ea1aaab0fb7c062c31aa9 100644 (file)
@@ -153,15 +153,18 @@ GenericGui::GenericGui(YACS::HMI::SuitWrapper* wrapper, QMainWindow *parent)
   _dwTree = new QDockWidget(_parent);
   _dwTree->setVisible(false);
   _dwTree->setWindowTitle("Tree View: edition mode");
+  _dwTree->setObjectName("Tree View");
   _parent->addDockWidget(Qt::LeftDockWidgetArea, _dwTree);
   _dwStacked = new QDockWidget(_parent);
   _dwStacked->setVisible(false);
   _dwStacked->setWindowTitle("Input Panel");
+  _dwStacked->setObjectName("Input Panel");
   _dwStacked->setMinimumWidth(270); // --- force a minimum until display
   _parent->addDockWidget(Qt::RightDockWidgetArea, _dwStacked);
   _dwCatalogs = new QDockWidget(_parent);
   _dwCatalogs->setVisible(false);
   _dwCatalogs->setWindowTitle("Catalogs");
+  _dwCatalogs->setObjectName("Catalogs");
   _parent->addDockWidget(Qt::RightDockWidgetArea, _dwCatalogs);
   _catalogsWidget = new CatalogWidget(_dwCatalogs,
                                       _builtinCatalog,
index 24647af98495fb8e88f5990810f03729323348bf..bd342719f47b0e3fa571ff1688ada02f55d60d1b 100644 (file)
@@ -543,6 +543,7 @@ void GuiEditor::PutGraphInNode(std::string typeNode)
 {
   // put graph in Bloc node before
   std::string blocname = PutGraphInBloc();
+  // put the built bloc into target node type
   Proc* proc = GuiContext::getCurrent()->getProc();
   Node* bloc = proc->getChildByShortName(blocname);
   SubjectNode * sbloc = GuiContext::getCurrent()->_mapOfSubjectNode[bloc];
@@ -550,7 +551,7 @@ void GuiEditor::PutGraphInNode(std::string typeNode)
   SubjectNode * snode = CreateNode(typeNode);
   // put the built bloc into target node
   sbloc->putInComposedNode(snode->getName(), typeNode);
-  // arrange local nodes in Proc
+  // select a target node
   YACS::HMI::SubjectProc* subproc = QtGuiContext::getQtCurrent()->getSubjectProc();
   QtGuiContext::getQtCurrent()->setSelectedSubject(subproc);
   arrangeNodes(false);
@@ -579,11 +580,21 @@ std::string GuiEditor::PutGraphInBloc()
   std::string blocname = tryname.str();
 
   //put one by one the child nodes of Proc node into a new Bloc node
-  SubjectNode * snode;
+  std::map< std::string, std::pair<QPointF, QPointF> > aMapOfNodePosition;
+  SceneItem *item = 0;
+  SceneNodeItem *inode = 0;
+  SubjectNode * snode = 0;
   for (std::list<Node*>::iterator it = children.begin(); it != children.end(); ++it)
     {
       snode = GuiContext::getCurrent()->_mapOfSubjectNode[(*it)];
       snode->saveLinks();
+      item = QtGuiContext::getQtCurrent()->_mapOfSceneItem[snode];
+      YASSERT(item);
+      inode = dynamic_cast<SceneNodeItem*>(item);
+      YASSERT(inode);
+      // save current node position to restore it after reparenting
+      aMapOfNodePosition[snode->getName()] = std::make_pair(inode->pos(), QPointF(inode->getExpandedX(), inode->getExpandedY()));
+      // put in Bloc node
       snode->putInComposedNode(blocname, "Bloc", false);
     }
   for (std::list<Node*>::iterator it = children.begin(); it != children.end(); ++it)
@@ -591,11 +602,26 @@ std::string GuiEditor::PutGraphInBloc()
       snode = 0;
       snode = GuiContext::getCurrent()->_mapOfSubjectNode[(*it)];
       snode->restoreLinks();
+      item = QtGuiContext::getQtCurrent()->_mapOfSceneItem[snode];
+      YASSERT(item);
+      inode = dynamic_cast<SceneNodeItem*>(item);
+      YASSERT(inode);
+      // restore node position
+      inode->setPos(aMapOfNodePosition[snode->getName()].first);
+      // update node position for shrink/expand operation
+      inode->setExpandedPos(aMapOfNodePosition[snode->getName()].second);
+      // notify node about position changing
+      inode->checkGeometryChange();
     }
-  // arrange local nodes in Proc
+  Node* bloc = proc->getChildByShortName(blocname);
+  SubjectNode* sbloc = GuiContext::getCurrent()->_mapOfSubjectNode[bloc];
+  item = QtGuiContext::getQtCurrent()->_mapOfSceneItem[sbloc];
+  YASSERT(item);
+  // notify bloc about child position changing
+  item->checkGeometryChange();
+  // select a target bloc
   YACS::HMI::SubjectProc* subproc = QtGuiContext::getQtCurrent()->getSubjectProc();
   QtGuiContext::getQtCurrent()->setSelectedSubject(subproc);
-  arrangeNodes(false);
   return blocname;
 }
 
index a4cbf7da901cd2fc2e27044399bfb8ef5d9ad292..01709dfacc2378eae08b4e324df83862161e81ce 100644 (file)
@@ -243,8 +243,8 @@ bool Subject::destroy(Subject *son)
   string endnode = "";
   string startport = "";
   string endport = "";
-  TypeOfElem startportType;
-  TypeOfElem endportType;
+  TypeOfElem startportType = UNKNOWN;
+  TypeOfElem endportType = UNKNOWN;
 
   if (dynamic_cast<SubjectProc*>(son))
     startnode = proc->getName();
index 3dea3eefdf0734bd119aba7591235fa0c38a06e3..881c332598e9cddd75e124ca0b64a500f71ad5fb 100644 (file)
@@ -425,11 +425,13 @@ void PythonNode::executeLocal()
       throw Exception("Error during execution");
     }
   PyObject *res = PyEval_EvalCode((PyCodeObject *)code, _context, _context);
+
   Py_DECREF(code);
+  Py_XDECREF(res);
   DEBTRACE( "_context refcnt: " << _context->ob_refcnt );
   fflush(stdout);
   fflush(stderr);
-  if(res == NULL)
+  if(PyErr_Occurred ())
     {
       _errorDetails="";
       PyObject* new_stderr = newPyStdOut(_errorDetails);
@@ -447,7 +449,6 @@ void PythonNode::executeLocal()
       PyGILState_Release(gstate);
       throw Exception("Error during execution");
     }
-  Py_DECREF(res);
   
   DEBTRACE( "-----------------PyNode::outputs-----------------" );
   list<OutputPort *>::iterator iter;
@@ -760,9 +761,10 @@ void PyFuncNode::loadLocal()
     }
   PyObject *res = PyEval_EvalCode((PyCodeObject *)code, _context, _context);
   Py_DECREF(code);
+  Py_XDECREF(res);
 
   DEBTRACE( "_context refcnt: " << _context->ob_refcnt );
-  if(res == NULL)
+  if(PyErr_Occurred ())
     {
       _errorDetails="";
       PyObject* new_stderr = newPyStdOut(_errorDetails);
@@ -781,7 +783,6 @@ void PyFuncNode::loadLocal()
       throw Exception("Error during execution");
       return;
     }
-  Py_DECREF(res);
   _pyfunc=PyDict_GetItemString(_context,_fname.c_str());
   DEBTRACE( "_pyfunc refcnt: " << _pyfunc->ob_refcnt );
   if(_pyfunc == NULL)
index 408ebe184d737e7f40b599d81cb34db032a545c2..f4861ef676246ea31d835624d918a483db1e476a 100644 (file)
@@ -117,5 +117,5 @@ IF(NOT WIN32)
   SET(SHELL /bin/sh)
   SALOME_CONFIGURE_FILE(xmlrun_orig.sh xmlrun.sh)
   ADD_TEST(NAME runtimeTest COMMAND ${SHELL} ${CMAKE_CURRENT_SOURCE_DIR}/runtimeTest.sh)
-  SET_TESTS_PROPERTIES(runtimeTest PROPERTIES ENVIRONMENT ${tests_env}
+  SET_TESTS_PROPERTIES(runtimeTest PROPERTIES ENVIRONMENT "${tests_env}"
 ENDIF() 
index 7df9e36b20440b9223d0a482fa90f164cd33fd30..0c10d57184bfbb5b141b249d464c4bc95a6f7ce3 100644 (file)
@@ -25,7 +25,7 @@
     </message>
     <message>
       <source>PREF_TAB_NODE</source>
-      <translation>ノード</translation>
+      <translation>節点</translation>
     </message>
     <message>
       <source>PREF_GROUP_SCENE</source>
@@ -53,7 +53,7 @@
     </message>
     <message>
       <source>PREF_GROUP_DRAG</source>
-      <translation>ドラッグ</translation>
+      <translation>ドラッグします。</translation>
     </message>
     <message>
       <source>PREF_GROUP_GENERAL</source>
@@ -61,7 +61,7 @@
     </message>
     <message>
       <source>COMPONENT_INSTANCE_NEW</source>
-      <translation>各新しいサービス ノードのコンポーネント インスタンスを作成します。</translation>
+      <translation>新しい各サービス ノードのコンポーネントのインスタンスを作成します。</translation>
     </message>
     <message>
       <source>ERROR</source>
index 963571a4da5290ee64cc2b5d605409b6500c86e5..03fdb287ad9cfb3e6cc907cb091fff1c1e46d983 100644 (file)
@@ -32,7 +32,7 @@ SET(salomeloader_PYTHON
 
 # --- rules ---
 
-INSTALL(FILES ${salomeloader_SCRIPTS} DESTINATION ${SALOME_INSTALL_BINS})
+INSTALL(PROGRAMS ${salomeloader_SCRIPTS} DESTINATION ${SALOME_INSTALL_BINS})
 
 INSTALL(FILES ${salomeloader_PYTHON} DESTINATION ${SALOME_INSTALL_PYTHON})
 
index 14637f92e29529a35850cdd71565e5907439ae7c..c49cfa963f49a87f985a057f4db9bbb5eeabe362 100644 (file)
@@ -97,6 +97,7 @@ SET(TestOptLoop_SOURCES
 # --- rules ---
 
 OMNIORB_ADD_MODULE(yacsloader_echo "${echo_IDL_FILES}" "${IDL_INCLUDE_DIRS}" "${IDL_LINK_FLAGS}")
+INSTALL(TARGETS yacsloader_echo DESTINATION ${SALOME_INSTALL_LIBS})
 
 ADD_EXECUTABLE(TestYacsLoader ${TestYacsLoader_SOURCES})
 TARGET_LINK_LIBRARIES(TestYacsLoader yacsloader_echo ${TestYacsLoader_LIBRARIES})
@@ -115,5 +116,6 @@ IF(NOT WIN32)
   SALOME_CONFIGURE_FILE(YacsLoaderInSessionTest.sh.in YacsLoaderInSessionTest.sh)
   SALOME_CONFIGURE_FILE(display.sh.in display.sh)
   SALOME_CONFIGURE_FILE(waitContainers.py waitContainers.py)
+  SALOME_CONFIGURE_FILE(xmlrun_orig.sh xmlrun.sh)
   ADD_TEST(NAME YacsLoaderTest COMMAND ${SHELL} YacsLoaderTest.sh)
 ENDIF()
index 52b67b8c5e701c202d3d4cd88fcdf095c20b4929..95bd09c4cbb414835b4f0ab1462f5b3ecdd4e704 100644 (file)
@@ -645,25 +645,33 @@ void YacsLoaderTest::foreachs()
   Proc *p = 0;
   int ret;
   ret = driverTest(p, "samples/foreach1.xml");
-  CPPUNIT_ASSERT(ret == 0);
-  CPPUNIT_ASSERT(p->getEffectiveState() == YACS::DONE );
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach1.xml", ret == 0);
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach1.xml", p->getEffectiveState() == YACS::DONE);
   ret = driverTest(p, "samples/foreach2.xml");
-  CPPUNIT_ASSERT(ret == 0);
-  CPPUNIT_ASSERT(p->getEffectiveState() == YACS::DONE );
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach2.xml", ret == 0);
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach2.xml", p->getEffectiveState() == YACS::DONE );
   ret = driverTest(p, "samples/foreach3.xml");
-  CPPUNIT_ASSERT(ret == 1);
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach3.xml", ret == 1);
   ret = driverTest(p, "samples/foreach4.xml");
-  CPPUNIT_ASSERT(ret == 0);
-  CPPUNIT_ASSERT(p->getEffectiveState() == YACS::DONE );
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach4.xml", ret == 0);
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach4.xml", p->getEffectiveState() == YACS::DONE );
   ret = driverTest(p, "samples/foreach5.xml");
-  CPPUNIT_ASSERT(ret == 0);
-  CPPUNIT_ASSERT(p->getEffectiveState() == YACS::DONE );
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach5.xml", ret == 0);
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach5.xml", p->getEffectiveState() == YACS::DONE );
   ret = driverTest(p, "samples/foreach6.xml");
-  CPPUNIT_ASSERT(ret == 0);
-  CPPUNIT_ASSERT(p->getEffectiveState() == YACS::DONE );
-  ret = driverTest(p, "samples/foreach7.xml"); //needs GEOM_Superv component
-  CPPUNIT_ASSERT(ret == 0);
-  CPPUNIT_ASSERT(p->getEffectiveState() == YACS::DONE );
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach6.xml", ret == 0);
+  CPPUNIT_ASSERT_MESSAGE("Schema: foreach6.xml", p->getEffectiveState() == YACS::DONE );
+  if(getenv("GEOM_ROOT_DIR"))
+    {
+      std::string geomdir(getenv("GEOM_ROOT_DIR"));
+      geomdir=geomdir+"/share/salome/resources/geom";
+      if(access(geomdir.c_str(),F_OK) == 0)
+       {
+         ret = driverTest(p, "samples/foreach7.xml"); //needs GEOM_Superv component
+         CPPUNIT_ASSERT_MESSAGE("Schema: foreach7.xml", ret == 0);
+         CPPUNIT_ASSERT_MESSAGE("Schema: foreach7.xml", p->getEffectiveState() == YACS::DONE );
+       }
+    }
 }
 
 void YacsLoaderTest::sinlines()
index df5a2f3f2f3dcb544bb751f31c8e092800a32537..a10221eb6d67c8a62d6564375ccf2b982cd7303d 100755 (executable)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
+if test -f @CMAKE_CURRENT_BINARY_DIR@/config_appli.xml; then
+  if test -n "${GEOM_ROOT_DIR}" && test -d ${GEOM_ROOT_DIR}; then
+    sed -i s%\"GEOM_ROOT_DIR\"%\"${GEOM_ROOT_DIR}\"% @CMAKE_CURRENT_BINARY_DIR@/config_appli.xml
+  fi
+  if test -n "${PYHELLO_ROOT_DIR}" && test -d ${PYHELLO_ROOT_DIR}; then
+    sed -i s%\"PYHELLO_ROOT_DIR\"%\"${PYHELLO_ROOT_DIR}\"% @CMAKE_CURRENT_BINARY_DIR@/config_appli.xml
+  fi
+fi
+
 if test -f @KERNEL_ROOT_DIR@/bin/salome/appli_gen.py ; then
 
   # --- create a SALOME Application environment
index af06bb4b4644af14f5537a12829d89e85e2420c1..6e90bb64e65a4c4ddb24df11143a952b0e3f39c7 100644 (file)
@@ -26,6 +26,9 @@
    <!-- attribute gui (defaults = yes) indicates if the module has a gui interface -->
    <module name="KERNEL"       gui="no"  path="@KERNEL_ROOT_DIR@"/>
    <module name="GUI"          gui="no"  path="@GUI_ROOT_DIR@"/>
+   <module name="GEOM"                   path="GEOM_ROOT_DIR"/> <!--GEOM_ROOT_DIR will be substituted at starting of test-->
+   <module name="PYHELLO"                path="PYHELLO_ROOT_DIR"/> <!--PYHELLO_ROOT_DIR will be substituted at starting of test-->
+   <module name="YACS"                   path="@CMAKE_INSTALL_PREFIX@"/>
 </modules>
 </application>
 
index df5a2f3f2f3dcb544bb751f31c8e092800a32537..a10a5bf9655988f4eb14eeab4a40799d3aef993e 100755 (executable)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
+if test -f @CMAKE_CURRENT_BINARY_DIR@/config_appli.xml; then
+  if test -n "${PYHELLO_ROOT_DIR}" && test -d ${PYHELLO_ROOT_DIR}; then
+    sed -i s%\"PYHELLO_ROOT_DIR\"%\"${PYHELLO_ROOT_DIR}\"% @CMAKE_CURRENT_BINARY_DIR@/config_appli.xml
+  fi
+fi
+
 if test -f @KERNEL_ROOT_DIR@/bin/salome/appli_gen.py ; then
 
   # --- create a SALOME Application environment
index af06bb4b4644af14f5537a12829d89e85e2420c1..f72fb0618aa82b5d940c911d8e88a74c6793df53 100644 (file)
@@ -26,6 +26,8 @@
    <!-- attribute gui (defaults = yes) indicates if the module has a gui interface -->
    <module name="KERNEL"       gui="no"  path="@KERNEL_ROOT_DIR@"/>
    <module name="GUI"          gui="no"  path="@GUI_ROOT_DIR@"/>
+   <module name="PYHELLO"                path="PYHELLO_ROOT_DIR"/> <!--PYHELLO_ROOT_DIR will be substituted at starting of test-->
+   <module name="YACS"                   path="@CMAKE_INSTALL_PREFIX@"/>
 </modules>
 </application>