|  | @@ -1,89 +0,0 @@
 | 
	
		
			
				|  |  | -#!/usr/bin/env python
 | 
	
		
			
				|  |  | -# -*- coding: utf-8 -*
 | 
	
		
			
				|  |  | -from conans import ConanFile, tools, CMake
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -class civetwebConan(ConanFile):
 | 
	
		
			
				|  |  | -    name = "civetweb"
 | 
	
		
			
				|  |  | -    license = "MIT"
 | 
	
		
			
				|  |  | -    url = "https://github.com/civetweb/civetweb"
 | 
	
		
			
				|  |  | -    description = "Embedded C/C++ web server"
 | 
	
		
			
				|  |  | -    author = "Bernhard Lehner <bel2125@gmail.com>"
 | 
	
		
			
				|  |  | -    topics = ("conan", "civetweb", "web-server", "embedded")
 | 
	
		
			
				|  |  | -    exports = ("LICENSE.md", "README.md")
 | 
	
		
			
				|  |  | -    exports_sources = ("src/*", "cmake/*", "include/*", "CMakeLists.txt")
 | 
	
		
			
				|  |  | -    generators = "cmake"
 | 
	
		
			
				|  |  | -    settings = "os", "compiler", "build_type", "arch"
 | 
	
		
			
				|  |  | -    options = {
 | 
	
		
			
				|  |  | -        "shared"            : [True, False],
 | 
	
		
			
				|  |  | -        "fPIC"              : [True, False],
 | 
	
		
			
				|  |  | -        "enable_ssl"        : [True, False],
 | 
	
		
			
				|  |  | -        "enable_websockets" : [True, False],
 | 
	
		
			
				|  |  | -        "enable_ipv6"       : [True, False],
 | 
	
		
			
				|  |  | -        "enable_cxx"        : [True, False]
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    default_options = {
 | 
	
		
			
				|  |  | -        "shared"            : False,
 | 
	
		
			
				|  |  | -        "fPIC"              : True,
 | 
	
		
			
				|  |  | -        "enable_ssl"        : True,
 | 
	
		
			
				|  |  | -        "enable_websockets" : True,
 | 
	
		
			
				|  |  | -        "enable_ipv6"       : True,
 | 
	
		
			
				|  |  | -        "enable_cxx"        : True
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def config_options(self):
 | 
	
		
			
				|  |  | -        if self.settings.os == 'Windows':
 | 
	
		
			
				|  |  | -            del self.options.fPIC
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def configure(self):
 | 
	
		
			
				|  |  | -        if not self.options.enable_cxx:
 | 
	
		
			
				|  |  | -            del self.settings.compiler.libcxx
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def requirements(self):
 | 
	
		
			
				|  |  | -        if self.options.enable_ssl:
 | 
	
		
			
				|  |  | -            self.requires("OpenSSL/1.0.2q@conan/stable")
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def _configure_cmake(self):
 | 
	
		
			
				|  |  | -        cmake = CMake(self)
 | 
	
		
			
				|  |  | -        cmake.verbose = True
 | 
	
		
			
				|  |  | -        cmake.definitions["CIVETWEB_ENABLE_SSL"] = self.options.enable_ssl
 | 
	
		
			
				|  |  | -        cmake.definitions["CIVETWEB_ENABLE_WEBSOCKETS"] = self.options.enable_websockets
 | 
	
		
			
				|  |  | -        cmake.definitions["CIVETWEB_ENABLE_IPV6"] = self.options.enable_ipv6
 | 
	
		
			
				|  |  | -        cmake.definitions["CIVETWEB_ENABLE_CXX"] = self.options.enable_cxx
 | 
	
		
			
				|  |  | -        cmake.definitions["CIVETWEB_BUILD_TESTING"] = False
 | 
	
		
			
				|  |  | -        cmake.definitions["CIVETWEB_ENABLE_ASAN"] = False
 | 
	
		
			
				|  |  | -        cmake.configure(build_dir="build_subfolder")
 | 
	
		
			
				|  |  | -        return cmake
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def build(self):
 | 
	
		
			
				|  |  | -        tools.replace_in_file(file_path="CMakeLists.txt",
 | 
	
		
			
				|  |  | -                              search="project (civetweb)",
 | 
	
		
			
				|  |  | -                              replace="""project (civetweb)
 | 
	
		
			
				|  |  | -                                 include(conanbuildinfo.cmake)
 | 
	
		
			
				|  |  | -                                 conan_basic_setup()""")
 | 
	
		
			
				|  |  | -        cmake = self._configure_cmake()
 | 
	
		
			
				|  |  | -        cmake.build()
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def package(self):
 | 
	
		
			
				|  |  | -        self.copy("LICENSE.md", dst="licenses")
 | 
	
		
			
				|  |  | -        cmake = self._configure_cmake()
 | 
	
		
			
				|  |  | -        cmake.install()
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def package_info(self):
 | 
	
		
			
				|  |  | -        self.cpp_info.libs = tools.collect_libs(self)
 | 
	
		
			
				|  |  | -        if self.settings.os == "Linux":
 | 
	
		
			
				|  |  | -            self.cpp_info.libs.extend(["dl", "rt", "pthread"])
 | 
	
		
			
				|  |  | -            if self.options.enable_cxx:
 | 
	
		
			
				|  |  | -                self.cpp_info.libs.append("m")
 | 
	
		
			
				|  |  | -        elif self.settings.os == "Macos":
 | 
	
		
			
				|  |  | -            self.cpp_info.exelinkflags.append("-framework Cocoa")
 | 
	
		
			
				|  |  | -            self.cpp_info.sharedlinkflags = self.cpp_info.exelinkflags
 | 
	
		
			
				|  |  | -            self.cpp_info.defines.append("USE_COCOA")
 | 
	
		
			
				|  |  | -        elif self.settings.os == "Windows":
 | 
	
		
			
				|  |  | -            self.cpp_info.libs.append("Ws2_32")
 | 
	
		
			
				|  |  | -        if self.options.enable_websockets:
 | 
	
		
			
				|  |  | -            self.cpp_info.defines.append("USE_WEBSOCKET")
 | 
	
		
			
				|  |  | -        if self.options.enable_ipv6:
 | 
	
		
			
				|  |  | -            self.cpp_info.defines.append("USE_IPV6")
 | 
	
		
			
				|  |  | -        if not self.options.enable_ssl:
 | 
	
		
			
				|  |  | -            self.cpp_info.defines.append("NO_SSL")
 |