添加conan相关文件
This commit is contained in:
		| @@ -2,7 +2,6 @@ cmake_minimum_required( VERSION 3.28) | |||||||
|  |  | ||||||
| project(Logging) | project(Logging) | ||||||
|  |  | ||||||
|  |  | ||||||
| aux_source_directory(${CMAKE_SOURCE_DIR}/src SRC) | aux_source_directory(${CMAKE_SOURCE_DIR}/src SRC) | ||||||
|  |  | ||||||
| set(LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) | set(LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) | ||||||
| @@ -11,11 +10,10 @@ set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin) | |||||||
|  |  | ||||||
| include_directories(${CMAKE_SOURCE_DIR}/include) | include_directories(${CMAKE_SOURCE_DIR}/include) | ||||||
|  |  | ||||||
| # add_library(${PROJECT_NAME} ${SRC}) | if (SHARED) | ||||||
| # add_library(${PROJECT_NAME} SHARED ${SRC}) |     add_library(${PROJECT_NAME} SHARED ${SRC}) | ||||||
|  | else() | ||||||
|  |     add_library(${PROJECT_NAME} ${SRC}) | ||||||
| add_executable(${PROJECT_NAME}main main.c ${SRC}) | endif() | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										64
									
								
								conanfile.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								conanfile.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | |||||||
|  | from conan import ConanFile | ||||||
|  | from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout | ||||||
|  | from conan.tools.files import copy, get | ||||||
|  | from conan.tools.build import check_min_cppstd | ||||||
|  | from conan import tools | ||||||
|  | import os | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class loggingRecipe(ConanFile): | ||||||
|  |     name = "logging" | ||||||
|  |     version = "0.1.0" | ||||||
|  |     license = "MIT" | ||||||
|  |     author = "321640253@qq.com" | ||||||
|  |     url = "https://github.com/yourusername/logging" | ||||||
|  |     description = "一个纯C的简单易用的日志库" | ||||||
|  |     topics = ("logging", "C", "simple", "easy-to-use", "log","Logging") | ||||||
|  |  | ||||||
|  |     settings = "os", "compiler", "build_type", "arch" | ||||||
|  |     options = {"shared": [True, False], "fPIC": [True, False]} | ||||||
|  |     default_options = {"shared": False, "fPIC": True} | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     exports_sources = "include/*", "CMakeLists.txt", "src/*" | ||||||
|  |  | ||||||
|  |     def config_options(self): | ||||||
|  |         if self.settings.os == "Windows": | ||||||
|  |             del self.options.fPIC | ||||||
|  |      | ||||||
|  |     def configure(self): | ||||||
|  |         if self.options.shared: | ||||||
|  |             self.options.rm_safe("fPIC") | ||||||
|  |  | ||||||
|  |  | ||||||
|  |      | ||||||
|  |     def layout(self): | ||||||
|  |         cmake_layout(self) | ||||||
|  |  | ||||||
|  |     def generate(self): | ||||||
|  |         deps = CMakeDeps(self) | ||||||
|  |         deps.generate() | ||||||
|  |         tc = CMakeToolchain(self) | ||||||
|  |         if self.options.shared: | ||||||
|  |             tc.variables["SHARED"] = True | ||||||
|  |         else: | ||||||
|  |             tc.variables["SHARED"] = False | ||||||
|  |         tc.generate() | ||||||
|  |  | ||||||
|  |     def build(self): | ||||||
|  |         cmake = CMake(self) | ||||||
|  |         cmake.configure() | ||||||
|  |         cmake.build() | ||||||
|  |  | ||||||
|  |     def package(self): | ||||||
|  |         copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) | ||||||
|  |         copy(self, pattern="*.h", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) | ||||||
|  |         copy(self, pattern="*.a", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) | ||||||
|  |         copy(self, pattern="*.so", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) | ||||||
|  |         copy(self, pattern="*.lib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) | ||||||
|  |         copy(self, pattern="*.dll", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False) | ||||||
|  |         copy(self, pattern="*.dylib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False) | ||||||
|  |  | ||||||
|  |     def package_info(self): | ||||||
|  |         self.cpp_info.libs = ["Logging"] | ||||||
		Reference in New Issue
	
	Block a user