text: from conans import ConanFile, CMake
  
  
  class SystemCConan(ConanFile):
      name = "SystemC"
      version = "2.3.3"
      license = "Apache 2.0 License"
      url = "https://github.com/Minres/conan-recipes/blob/master/SystemC"
      description = "SystemC is a set of C++ classes and macros which provide an event-driven simulation interface (see also discrete event simulation)."
      settings = "os", "compiler", "build_type", "arch"
      options = {"shared":[True, False], "stdcxx":[98,11,14], "phase_cb":[True, False]}
      default_options = "shared=True","stdcxx=11","phase_cb=False"
      generators = "cmake"
      source_subfolder = "systemc-2.3.3"
      exports_sources = "systemc-2.3.3/*"
  
  
      def build(self):
          cmake = CMake(self, parallel=True)
          cmake.configure(
                  source_folder=self.source_subfolder,
                  args=[
                      '-DCMAKE_CXX_FLAGS:="-D_GLIBCXX_USE_CXX11_ABI=%d"' % (0 if self.settings.compiler.libcxx == 'libstdc++' else 1),
                      '-DBUILD_SHARED_LIBS=%s' % ('ON' if self.options.shared else 'OFF'),
                      '-DCMAKE_INSTALL_LIBDIR=lib', 
                      '-DCMAKE_CXX_STANDARD=%s' % self.options.stdcxx,
                      '-DENABLE_PHASE_CALLBACKS=%s' % ('ON' if self.options.phase_cb else 'OFF'),
                      '-DENABLE_PHASE_CALLBACKS_TRACING=%s' % ('ON' if self.options.phase_cb else 'OFF')
                      ]
                  )
          cmake.build()
          cmake.install()
  
      def package(self):
          pass
          # Headers
          #self.copy(pattern="*.h", dst="include", src="package/include", keep_path=True)
          # Libs
          #self.copy(pattern="*", dst="lib", src="package/lib", keep_path=False)
  
      def package_info(self):
          self.cpp_info.libs = ["systemc"]
          if self.settings.os == "Linux":
              self.cpp_info.libs.append("pthread")
  
  