Salome HOME
fix package.rst etc
[tools/sat.git] / commands / generate.py
index b7d53f8a083572e1a04fa71b95fea15dc47dc210..f0d1175fb666385b64c0ac93eaa8a874a55a387b 100644 (file)
@@ -23,12 +23,13 @@ import imp
 import subprocess
 
 import src
+import src.debug as DBG
 
 parser = src.options.Options()
 parser.add_option('p', 'products', 'list2', 'products',
-                  _("the list of products to generate"))
+                  _("Optional: the list of products to generate"))
 parser.add_option('', 'yacsgen', 'string', 'yacsgen',
-                  _("path to YACSGEN's module_generator package"))
+                  _("Optional: path to YACSGEN's module_generator package"))
 
 def generate_component_list(config, product_info, context, logger):
     res = "?"
@@ -49,8 +50,15 @@ def generate_component_list(config, product_info, context, logger):
     return res
 
 def generate_component(config, compo, product_info, context, header, logger):
-    hxxfile = compo + ".hxx"
-    cpplib = "lib" + compo + "CXX.so"
+#   get from config include file name and librairy name, or take default value
+    if "hxxfile" in product_info:
+        hxxfile = product_info.hxxfile
+    else:
+        hxxfile = compo + ".hxx"
+    if "cpplib" in product_info:
+        cpplib = product_info.cpplib
+    else:
+        cpplib = "lib" + compo + "CXX.so"
     cpp_path = product_info.install_dir
 
     logger.write("%s\n" % header, 4, False)
@@ -135,7 +143,10 @@ def generate_component(config, compo, product_info, context, header, logger):
 
         if src.product.product_has_salome_gui(product_info):
             # get files to build a template GUI
-            gui_files = salome_compo.getGUIfilesTemplate()
+            try: # try new yacsgen api
+                gui_files = salome_compo.getGUIfilesTemplate(compo)
+            except:  # use old yacsgen api
+                gui_files = salome_compo.getGUIfilesTemplate()
         else:
             gui_files = None
 
@@ -301,7 +312,8 @@ def description():
     :rtype: str
     '''
     return _("The generate command generates SALOME modules from 'pure cpp' "
-             "products.\nWARNING this command NEEDS YACSGEN to run!")
+             "products.\nWARNING this command NEEDS YACSGEN to run!\n\nexample:"
+             "\nsat generate SALOME-master --products FLICACPP")
 
 
 def run(args, runner, logger):