|  | @ -32,6 +32,7 @@ class CMakeBuild(build_ext): | 
		
	
		
			
				|  |  |     user_options = build_ext.user_options + [ |  |  |     user_options = build_ext.user_options + [ | 
		
	
		
			
				|  |  |         ('storm-dir=', None, 'Path to storm root (binary) location'), |  |  |         ('storm-dir=', None, 'Path to storm root (binary) location'), | 
		
	
		
			
				|  |  |         ('disable-dft', None, 'Disable support for DFTs'), |  |  |         ('disable-dft', None, 'Disable support for DFTs'), | 
		
	
		
			
				|  |  |  |  |  |         ('disable-gspn', None, 'Disable support for GSPNs'), | 
		
	
		
			
				|  |  |         ('disable-pars', None, 'Disable support for parametric models'), |  |  |         ('disable-pars', None, 'Disable support for parametric models'), | 
		
	
		
			
				|  |  |         ('disable-pomdp', None, 'Disable support for POMDP analysis'), |  |  |         ('disable-pomdp', None, 'Disable support for POMDP analysis'), | 
		
	
		
			
				|  |  |         ('debug', None, 'Build in Debug mode'), |  |  |         ('debug', None, 'Build in Debug mode'), | 
		
	
	
		
			
				|  | @ -84,6 +85,7 @@ class CMakeBuild(build_ext): | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |         # Check additional support |  |  |         # Check additional support | 
		
	
		
			
				|  |  |         use_dft = cmake_conf.HAVE_STORM_DFT and not self.config.get_as_bool("disable_dft") |  |  |         use_dft = cmake_conf.HAVE_STORM_DFT and not self.config.get_as_bool("disable_dft") | 
		
	
		
			
				|  |  |  |  |  |         use_gspn = cmake_conf.HAVE_STORM_GSPN and not self.config.get_as_bool("disable_gspn") | 
		
	
		
			
				|  |  |         use_pars = cmake_conf.HAVE_STORM_PARS and not self.config.get_as_bool("disable_pars") |  |  |         use_pars = cmake_conf.HAVE_STORM_PARS and not self.config.get_as_bool("disable_pars") | 
		
	
		
			
				|  |  |         use_pomdp = cmake_conf.HAVE_STORM_POMDP #and not self.config.get_as_bool("disable_pomdp") |  |  |         use_pomdp = cmake_conf.HAVE_STORM_POMDP #and not self.config.get_as_bool("disable_pomdp") | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -93,6 +95,10 @@ class CMakeBuild(build_ext): | 
		
	
		
			
				|  |  |             print("Stormpy - Support for DFTs found and included.") |  |  |             print("Stormpy - Support for DFTs found and included.") | 
		
	
		
			
				|  |  |         else: |  |  |         else: | 
		
	
		
			
				|  |  |             print("Stormpy - Warning: No support for DFTs!") |  |  |             print("Stormpy - Warning: No support for DFTs!") | 
		
	
		
			
				|  |  |  |  |  |         if use_gspn: | 
		
	
		
			
				|  |  |  |  |  |             print("Stormpy - Support for GSPNs found and included.") | 
		
	
		
			
				|  |  |  |  |  |         else: | 
		
	
		
			
				|  |  |  |  |  |             print("Stormpy - Warning: No support for GSPNs!") | 
		
	
		
			
				|  |  |         if use_pars: |  |  |         if use_pars: | 
		
	
		
			
				|  |  |             print("Stormpy - Support for parametric models found and included.") |  |  |             print("Stormpy - Support for parametric models found and included.") | 
		
	
		
			
				|  |  |         else: |  |  |         else: | 
		
	
	
		
			
				|  | @ -110,6 +116,8 @@ class CMakeBuild(build_ext): | 
		
	
		
			
				|  |  |             cmake_args += ['-Dstorm_DIR=' + storm_dir] |  |  |             cmake_args += ['-Dstorm_DIR=' + storm_dir] | 
		
	
		
			
				|  |  |         if use_dft: |  |  |         if use_dft: | 
		
	
		
			
				|  |  |             cmake_args += ['-DHAVE_STORM_DFT=ON'] |  |  |             cmake_args += ['-DHAVE_STORM_DFT=ON'] | 
		
	
		
			
				|  |  |  |  |  |         if use_gspn: | 
		
	
		
			
				|  |  |  |  |  |             cmake_args += ['-DHAVE_STORM_GSPN=ON'] | 
		
	
		
			
				|  |  |         if use_pars: |  |  |         if use_pars: | 
		
	
		
			
				|  |  |             cmake_args += ['-DHAVE_STORM_PARS=ON'] |  |  |             cmake_args += ['-DHAVE_STORM_PARS=ON'] | 
		
	
		
			
				|  |  |         if use_pomdp: |  |  |         if use_pomdp: | 
		
	
	
		
			
				|  | @ -146,6 +154,7 @@ class CMakeBuild(build_ext): | 
		
	
		
			
				|  |  |                     f.write("FactorizedRationalFunction = pycarl.{}.FactorizedRationalFunction\n".format(rfpackage)) |  |  |                     f.write("FactorizedRationalFunction = pycarl.{}.FactorizedRationalFunction\n".format(rfpackage)) | 
		
	
		
			
				|  |  |                     f.write("\n") |  |  |                     f.write("\n") | 
		
	
		
			
				|  |  |                     f.write("storm_with_dft = {}\n".format(use_dft)) |  |  |                     f.write("storm_with_dft = {}\n".format(use_dft)) | 
		
	
		
			
				|  |  |  |  |  |                     f.write("storm_with_gspn = {}\n".format(use_gspn)) | 
		
	
		
			
				|  |  |                     f.write("storm_with_pars = {}\n".format(use_pars)) |  |  |                     f.write("storm_with_pars = {}\n".format(use_pars)) | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |             elif ext.name == "info": |  |  |             elif ext.name == "info": | 
		
	
	
		
			
				|  | @ -161,6 +170,13 @@ class CMakeBuild(build_ext): | 
		
	
		
			
				|  |  |                 if not use_dft: |  |  |                 if not use_dft: | 
		
	
		
			
				|  |  |                     print("Stormpy - DFT bindings skipped") |  |  |                     print("Stormpy - DFT bindings skipped") | 
		
	
		
			
				|  |  |                     continue |  |  |                     continue | 
		
	
		
			
				|  |  |  |  |  |             elif ext.name == "gspn": | 
		
	
		
			
				|  |  |  |  |  |                 with open(os.path.join(self._extdir(ext.name), ext.subdir, "_config.py"), "w") as f: | 
		
	
		
			
				|  |  |  |  |  |                     f.write("# Generated from setup.py at {}\n".format(datetime.datetime.now())) | 
		
	
		
			
				|  |  |  |  |  |                     f.write("storm_with_gspn = {}".format(use_gspn)) | 
		
	
		
			
				|  |  |  |  |  |                 if not use_gspn: | 
		
	
		
			
				|  |  |  |  |  |                     print("Stormpy - GSPN bindings skipped") | 
		
	
		
			
				|  |  |  |  |  |                     continue | 
		
	
		
			
				|  |  |             elif ext.name == "pars": |  |  |             elif ext.name == "pars": | 
		
	
		
			
				|  |  |                 with open(os.path.join(self._extdir(ext.name), ext.subdir, "_config.py"), "w") as f: |  |  |                 with open(os.path.join(self._extdir(ext.name), ext.subdir, "_config.py"), "w") as f: | 
		
	
		
			
				|  |  |                     f.write("# Generated from setup.py at {}\n".format(datetime.datetime.now())) |  |  |                     f.write("# Generated from setup.py at {}\n".format(datetime.datetime.now())) | 
		
	
	
		
			
				|  | @ -182,6 +198,7 @@ class CMakeBuild(build_ext): | 
		
	
		
			
				|  |  |         # Set default values for custom cmdline flags |  |  |         # Set default values for custom cmdline flags | 
		
	
		
			
				|  |  |         self.storm_dir = None |  |  |         self.storm_dir = None | 
		
	
		
			
				|  |  |         self.disable_dft = None |  |  |         self.disable_dft = None | 
		
	
		
			
				|  |  |  |  |  |         self.disable_gspn = None | 
		
	
		
			
				|  |  |         self.disable_pars = None |  |  |         self.disable_pars = None | 
		
	
		
			
				|  |  |         self.disable_pomdp = None |  |  |         self.disable_pomdp = None | 
		
	
		
			
				|  |  |         self.debug = None |  |  |         self.debug = None | 
		
	
	
		
			
				|  | @ -195,6 +212,7 @@ class CMakeBuild(build_ext): | 
		
	
		
			
				|  |  |         # Update setup config |  |  |         # Update setup config | 
		
	
		
			
				|  |  |         self.config.update("storm_dir", self.storm_dir) |  |  |         self.config.update("storm_dir", self.storm_dir) | 
		
	
		
			
				|  |  |         self.config.update("disable_dft", self.disable_dft) |  |  |         self.config.update("disable_dft", self.disable_dft) | 
		
	
		
			
				|  |  |  |  |  |         self.config.update("disable_gspn", self.disable_gspn) | 
		
	
		
			
				|  |  |         self.config.update("disable_pars", self.disable_pars) |  |  |         self.config.update("disable_pars", self.disable_pars) | 
		
	
		
			
				|  |  |         self.config.update("disable_pomdp", self.disable_pomdp) |  |  |         self.config.update("disable_pomdp", self.disable_pomdp) | 
		
	
		
			
				|  |  |         self.config.update("debug", self.debug) |  |  |         self.config.update("debug", self.debug) | 
		
	
	
		
			
				|  | @ -248,6 +266,7 @@ setup( | 
		
	
		
			
				|  |  |                  CMakeExtension('storage', subdir='storage'), |  |  |                  CMakeExtension('storage', subdir='storage'), | 
		
	
		
			
				|  |  |                  CMakeExtension('utility', subdir='utility'), |  |  |                  CMakeExtension('utility', subdir='utility'), | 
		
	
		
			
				|  |  |                  CMakeExtension('dft', subdir='dft'), |  |  |                  CMakeExtension('dft', subdir='dft'), | 
		
	
		
			
				|  |  |  |  |  |                  CMakeExtension('gspn', subdir='gspn'), | 
		
	
		
			
				|  |  |                  CMakeExtension('pars', subdir='pars'), |  |  |                  CMakeExtension('pars', subdir='pars'), | 
		
	
		
			
				|  |  |                  CMakeExtension('pomdp', subdir='pomdp')], |  |  |                  CMakeExtension('pomdp', subdir='pomdp')], | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | 
 |