Salome HOME
pour l'environnement gère les produits runtime_et_compiletime comme compile-time
[tools/sat.git] / src / environment.py
index c8585e2d54436cade95811c2f8c1a8e9fa2045ae..62943389339565b15113bf4f9259be26f1db232f 100644 (file)
@@ -246,6 +246,15 @@ class SalomeEnviron:
                                                sorted_nodes)
         self.sorted_product_list=sorted_nodes
 
+        # store the list of compile time products
+        # they should be added in build env
+        compile_time_products=[]
+        for (pname,pinfo) in all_products_infos:
+           if src.product.product_is_compile_time(pinfo) or\
+              src.product.product_is_compile_and_runtime(pinfo) :
+               compile_time_products.append(pname)
+        self.compile_time_products=compile_time_products
+
 
     def append(self, key, value, sep=os.pathsep):
         """\
@@ -754,10 +763,19 @@ class SalomeEnviron:
             self.set_a_product("Python", logger)
             self.set_python_libdirs()
 
+        # for a build environment, add compile time products (like cmake)
+        if self.forBuild :
+            for product in self.compile_time_products:
+                if product == "Python":
+                    continue
+                self.set_a_product(product, logger)
+
         # The loop on the products
         for product in self.sorted_product_list:
             if product == "Python":
                 continue
+            if self.forBuild and product in self.compile_time_products:
+                continue
             self.set_a_product(product, logger)
  
     def set_full_environ(self, logger, env_info):
@@ -784,10 +802,19 @@ class SalomeEnviron:
             self.set_a_product("Python", logger)
             self.set_python_libdirs()
 
+        # for a build environment, add compile time products (like cmake)
+        if self.forBuild :
+            for product in self.compile_time_products:
+                if product == "Python":
+                    continue
+                self.set_a_product(product, logger)
+
         # set products
         for product in sorted_product_list:
             if product == "Python":
                 continue
+            if self.forBuild and product in self.compile_time_products:
+                continue
             self.set_a_product(product, logger)
 
 class FileEnvWriter: