text: from conans import ConanFile, CMake, tools
  
  
  class CeleroConan(ConanFile):
      name = "celero"
      version = "master"
      license = "Apache-2.0"
      author = "<Put your name here> <And your email here>"
      url = "https://github.com/DigitalInBlue/Celero"
      description = "<Description of Celero here>"
      topics = ("<Put some tag here>", "<here>", "<and here>")
      settings = "os", "compiler", "build_type", "arch"
      options = {"shared": [True, False], "fPIC": [True, False]}
      default_options = {"shared": False, "fPIC": True}
      generators = "cmake"
  
      def config_options(self):
          if self.settings.os == "Windows":
              del self.options.fPIC
  
      def source(self):
          self.run("git clone https://github.com/DigitalInBlue/Celero.git --branch {0}".format(self.version))
          # This small hack might be useful to guarantee proper /MT /MD linkage
          # in MSVC if the packaged project doesn't have variables to set it
          # properly
  #         tools.replace_in_file("hello/CMakeLists.txt", "PROJECT(HelloWorld)",
  #                               '''PROJECT(HelloWorld)
  # include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
  # conan_basic_setup()''')
  
      def build(self):
          cmake = CMake(self)
          cmake.definitions["CELERO_COMPILE_DYNAMIC_LIBRARIES"] = "0"
          cmake.configure(source_folder="Celero")
          cmake.build()
  
          cmake = CMake(self)
          cmake.configure(source_folder="Celero")
          cmake.build()
  
          # Explicit way:
          # self.run('cmake %s/hello %s'
          #          % (self.source_folder, cmake.command_line))
          # self.run("cmake --build . %s" % cmake.build_config)
  
      def package(self):
          self.copy("*.h", dst="include", src="Celero/include")
          self.copy("*celero.dll.lib", dst="lib", keep_path=False)
          self.copy("*.dll", dst="bin", keep_path=False)
          self.copy("*.so", dst="lib", keep_path=False)
          self.copy("*.dylib", dst="lib", keep_path=False)
          self.copy("*.a", dst="lib", keep_path=False)
  
      def package_info(self):
          if self.settings.os == "Windows":
              self.cpp_info.libs = ["celero.dll.lib"]
          else:
              self.cpp_info.libs = ["celero"]
  