diff --git a/CMakeLists.txt b/CMakeLists.txt index d44bb0e..562c330 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,9 @@ -cmake_minimum_required(VERSION 3.2 FATAL_ERROR) +cmake_minimum_required(VERSION 3.14 FATAL_ERROR) project(logfault DESCRIPTION "Simple to use, header only C++ library for application-logging on all major platforms." HOMEPAGE_URL https://github.com/jgaa/logfault - VERSION 0.5.0 + VERSION 0.5.1 LANGUAGES CXX) include(GNUInstallDirs) @@ -27,6 +27,7 @@ option(LOGFAULT_BUILD_TESTS "Build tests" ON) if(LOGFAULT_BUILD_TESTS) find_package(GTest REQUIRED) + include(CTest) enable_testing() add_subdirectory(tests) endif() diff --git a/conanfile.py b/conanfile.py index 313c3ef..35d22b3 100644 --- a/conanfile.py +++ b/conanfile.py @@ -2,11 +2,12 @@ from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout from conan.tools.build import check_max_cppstd, check_min_cppstd from conan.tools.files import copy +from conan.tools.scm import Git class LogfaultConan(ConanFile): name = "logfault" - version = "0.5.0" + version = "0.5.1" settings = "os", "arch", "compiler", "build_type" exports_sources = "include/*", "tests/*", "CMakeLists.txt" no_copy_source = True @@ -23,7 +24,8 @@ def package_info(self): self.cpp_info.libdirs = [] def requirements(self): - self.test_requires("gtest/1.14.0") + if not self.conf.get("tools.build:skip_test", default=False): + self.test_requires("gtest/1.14.0") def validate(self): check_min_cppstd(self, 14) @@ -40,6 +42,7 @@ def build(self): def package(self): # This will also copy the "include" folder + copy(self, "LICENSE", self.source_folder, self.package_folder) copy(self, "*.h", self.source_folder, self.package_folder) def package_info(self): diff --git a/test_package/CMakeLists.txt b/test_package/CMakeLists.txt new file mode 100644 index 0000000..5e72b01 --- /dev/null +++ b/test_package/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.14 FATAL_ERROR) +project (example) + +find_package (Threads) +find_package (Logfault REQUIRED) + +add_executable(${PROJECT_NAME} main.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE + logfault::logfault + Threads::Threads +) + diff --git a/test_package/conanfile.py b/test_package/conanfile.py new file mode 100644 index 0000000..e073113 --- /dev/null +++ b/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + + +class helloTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "example") + self.run(cmd, env="conanrun") diff --git a/test_package/main.cpp b/test_package/main.cpp new file mode 100644 index 0000000..a80ce4b --- /dev/null +++ b/test_package/main.cpp @@ -0,0 +1,13 @@ + +// General tests for manual testing during development + +#include +#include "logfault/logfault.h" + +using namespace std; + +int main( int argc, char *argv[]) { + + logfault::LogManager::Instance().AddHandler(std::make_unique(clog, logfault::LogLevel::DEBUGGING)); + LFLOG_INFO << "Testing" << 1 << 2 << 3; +} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index ec7bc74..f79f975 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,37 +1,5 @@ - - -message ("GTEST_LIBRARIES: ${GTEST_LIBRARIES}") -message ("GTest_LIBRARIES: ${GTest_LIBRARIES}") - -message ("GTEST_INCLUDE_DIRS: ${GTEST_INCLUDE_DIRS}") -message ("GTest_INCLUDE_DIRS: ${GTest_INCLUDE_DIRS}") - -if (NOT GTEST_LIBRARIES) - set (GTEST_LIBRARIES ${GTest_LIBRARIES}) -endif() - -if (NOT GTEST_INCLUDE_DIRS) - set (GTEST_INCLUDE_DIRS ${GTest_INCLUDE_DIRS}) -endif() - -option(WITH_QT "Enable QT" OFF) - -# if (WITH_QT) -# add_definitions(-DLOGFAULT_USE_QT_LOG=1) -# find_package(Qt6 6.4 REQUIRED COMPONENTS Test) -# qt_standard_project_setup(REQUIRES 6.5) -# qt_add_executable(general_tests general_tests.cpp) - -# else() -# add_executable(general_tests general_tests.cpp) -# target_link_libraries(general_tests -# ${DEFAULT_LIBRARIES} -# ) -# endif() - ####### default_to_clog - add_executable(default_to_clog default_to_clog.cpp ) @@ -43,12 +11,11 @@ target_include_directories(default_to_clog ${CMAKE_CURRENT_SOURCE_DIR} ${LOGFAULT_ROOT}/include ${GTEST_INCLUDE_DIRS} - #${GTest_INCLUDE_DIRS} ${CMAKE_BINARY_DIR}/exports ) target_link_libraries(default_to_clog - ${GTEST_LIBRARIES} + GTest::gtest ${CMAKE_THREAD_LIBS_INIT} ) @@ -69,12 +36,11 @@ target_include_directories(default_to_clog_with_tid ${CMAKE_CURRENT_SOURCE_DIR} ${LOGFAULT_ROOT}/include ${GTEST_INCLUDE_DIRS} - #${GTest_INCLUDE_DIRS} ${CMAKE_BINARY_DIR}/exports ) target_link_libraries(default_to_clog_with_tid - ${GTEST_LIBRARIES} + GTest::gtest ${CMAKE_THREAD_LIBS_INIT} )