From 01273809daf4249698ef33e826bb1cb4b697f176 Mon Sep 17 00:00:00 2001 From: youmetme <321640253@qq.com> Date: Fri, 1 Nov 2024 17:30:39 +0800 Subject: [PATCH] fix:conanfile --- CMakeLists.txt | 9 +++++---- conanfile.py | 27 ++++++++++----------------- src/CMakeLists.txt | 2 +- tests/CMakeLists.txt | 4 ++-- 4 files changed, 18 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8627b92..dc18cd3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,8 @@ cmake_minimum_required( VERSION 3.28) -project(Logging) +project(logging) -enable_testing() +option(TEST "是否启动单元测试" ON) +option(SHARED "是否编译为动态库" OFF) set(LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) set(ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) @@ -13,7 +14,7 @@ include_directories(${CMAKE_SOURCE_DIR}/include) add_subdirectory(src) #测试单元 -if (SKIPTEST) -else() +if (TEST) + enable_testing() add_subdirectory(tests) endif() diff --git a/conanfile.py b/conanfile.py index 66ed435..ff498df 100644 --- a/conanfile.py +++ b/conanfile.py @@ -1,11 +1,8 @@ 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 +from conan.tools.files import copy import os - class loggingRecipe(ConanFile): name = "logging" version = "0.2.3" @@ -16,11 +13,11 @@ class loggingRecipe(ConanFile): 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} + options = {"shared": [True, False], "fPIC": [True, False],"test":[True,False]} + default_options = {"shared": False, "fPIC": True,"test":True} - exports_sources = "include/*", "CMakeLists.txt", "src/*" + exports_sources = "include/*", "CMakeLists.txt", "src/*", "tests/*" def config_options(self): if self.settings.os == "Windows": @@ -30,8 +27,6 @@ class loggingRecipe(ConanFile): if self.options.shared: self.options.rm_safe("fPIC") - - def layout(self): cmake_layout(self) @@ -39,18 +34,16 @@ class loggingRecipe(ConanFile): deps = CMakeDeps(self) deps.generate() tc = CMakeToolchain(self) - tc.variables["SKIPTEST"]=True - if self.options.shared: - tc.variables["SHARED"] = True - else: - tc.variables["SHARED"] = False + tc.variables["TEST"] = True if self.options.test else False + tc.variables["SHARED"] = True if self.options.shared else False tc.generate() def build(self): cmake = CMake(self) cmake.configure() - cmake.build(target="Logging") - + cmake.build() + if self.options.test: + cmake.test() def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) @@ -62,4 +55,4 @@ class loggingRecipe(ConanFile): 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"] \ No newline at end of file + self.cpp_info.libs = ["logging"] \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 24b1142..93e3dd2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -project(Logging) +project(logging) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SRC) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/handler SRC) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 453e030..74e1515 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -4,11 +4,11 @@ enable_testing() #测试简单基本应用 add_executable(${PROJECT_NAME}simple test_simple.c) -target_link_libraries(${PROJECT_NAME}simple Logging) +target_link_libraries(${PROJECT_NAME}simple logging) add_test(test_simple ${CMAKE_SOURCE_DIR}/bin/${PROJECT_NAME}simple) #测试拦截器 add_executable(${PROJECT_NAME}interceptor test_interceptor.c) -target_link_libraries(${PROJECT_NAME}interceptor Logging) +target_link_libraries(${PROJECT_NAME}interceptor logging) add_test(test_interceptor ${CMAKE_SOURCE_DIR}/bin/${PROJECT_NAME}interceptor) \ No newline at end of file