Skip to content

Commit a43b054

Browse files
Geir Eikelandgeirhei
Geir Eikeland
authored andcommitted
easyloggingpp: add options
1 parent d492cbd commit a43b054

File tree

2 files changed

+86
-3
lines changed

2 files changed

+86
-3
lines changed

recipes/easyloggingpp/all/CMakeLists.txt

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ option(enable_crash_log "Enable crash log handler" OFF)
77
option(enable_thread_safe "Enable thread safety for use in multithreaded env" OFF)
88
option(enable_debug_errors "Enable debug errors in case of configuration issues" OFF)
99
option(enable_default_logfile "Enable creation of default logfile" ON)
10+
option(disable_logs "Disables all logs" OFF)
11+
option(disable_debug_logs "Disables debug logs" OFF)
12+
option(disable_info_logs "Disables info logs" OFF)
13+
option(disable_warning_logs "Disables warning logs" OFF)
14+
option(disable_error_logs "Disables error logs" OFF)
15+
option(disable_fatal_logs "Disables fatal logs" OFF)
16+
option(disable_verbose_logs "Disables verbose logs" OFF)
17+
option(disable_trace_logs "Disables trace logs" OFF)
1018

1119
if (enable_crash_log)
1220
add_definitions(-DELPP_FEATURE_CRASH_LOG)
@@ -24,4 +32,36 @@ if (NOT enable_default_logfile)
2432
add_definitions(-DELPP_NO_DEFAULT_LOG_FILE)
2533
endif()
2634

35+
if (disable_logs)
36+
add_definitions(-DELPP_DISABLE_LOGS)
37+
endif()
38+
39+
if (disable_debug_logs)
40+
add_definitions(-DELPP_DISABLE_DEBUG_LOGS)
41+
endif()
42+
43+
if (disable_info_logs)
44+
add_definitions(-DELPP_DISABLE_INFO_LOGS)
45+
endif()
46+
47+
if (disable_warning_logs)
48+
add_definitions(-DELPP_DISABLE_WARNING_LOGS)
49+
endif()
50+
51+
if (disable_error_logs)
52+
add_definitions(-DELPP_DISABLE_ERROR_LOGS)
53+
endif()
54+
55+
if (disable_fatal_logs)
56+
add_definitions(-DELPP_DISABLE_FATAL_LOGS)
57+
endif()
58+
59+
if (disable_verbose_logs)
60+
add_definitions(-DELPP_DISABLE_VERBOSE_LOGS)
61+
endif()
62+
63+
if (disable_trace_logs)
64+
add_definitions(-DELPP_DISABLE_TRACE_LOGS)
65+
endif()
66+
2767
add_subdirectory("source_subfolder")

recipes/easyloggingpp/all/conanfile.py

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import os
2-
from conans import ConanFile, CMake, tools
2+
from conan.tools.cmake import CMake
3+
from conan.tools import files
4+
from conan import ConanFile
35

46

57
required_conan_version = ">=1.33.0"
@@ -19,12 +21,28 @@ class EasyloggingppConan(ConanFile):
1921
"enable_thread_safe": [True, False],
2022
"enable_debug_errors": [True, False],
2123
"enable_default_logfile": [True, False],
24+
"disable_logs": [True, False],
25+
"disable_debug_logs": [True, False],
26+
"disable_info_logs": [True, False],
27+
"disable_warning_logs": [True, False],
28+
"disable_error_logs": [True, False],
29+
"disable_fatal_logs": [True, False],
30+
"disable_verbose_logs": [True, False],
31+
"disable_trace_logs": [True, False]
2232
}
2333
default_options = {
2434
"enable_crash_log": False,
2535
"enable_thread_safe": False,
2636
"enable_debug_errors": False,
2737
"enable_default_logfile": True,
38+
"disable_logs": False,
39+
"disable_debug_logs": False,
40+
"disable_info_logs": False,
41+
"disable_warning_logs": False,
42+
"disable_error_logs": False,
43+
"disable_fatal_logs": False,
44+
"disable_verbose_logs": False,
45+
"disable_trace_logs": False
2846
}
2947
_cmake = None
3048

@@ -45,11 +63,19 @@ def _configure_cmake(self):
4563
self._cmake.definitions["enable_thread_safe"] = self.options.enable_thread_safe
4664
self._cmake.definitions["enable_debug_errors"] = self.options.enable_debug_errors
4765
self._cmake.definitions["enable_default_logfile"] = self.options.enable_default_logfile
66+
self._cmake.definitions["disable_logs"] = self.options.disable_logs
67+
self._cmake.definitions["disable_debug_logs"] = self.options.disable_debug_logs
68+
self._cmake.definitions["disable_info_logs"] = self.options.disable_info_logs
69+
self._cmake.definitions["disable_warning_logs"] = self.options.disable_warning_logs
70+
self._cmake.definitions["disable_error_logs"] = self.options.disable_error_logs
71+
self._cmake.definitions["disable_fatal_logs"] = self.options.disable_fatal_logs
72+
self._cmake.definitions["disable_verbose_logs"] = self.options.disable_verbose_logs
73+
self._cmake.definitions["disable_trace_logs"] = self.options.disable_trace_logs
4874
self._cmake.configure(build_folder=self._build_subfolder)
4975
return self._cmake
5076

5177
def source(self):
52-
tools.get(**self.conan_data["sources"][self.version],
78+
files.get(self, **self.conan_data["sources"][self.version],
5379
destination=self._source_subfolder, strip_root=True)
5480

5581
def build(self):
@@ -59,7 +85,7 @@ def build(self):
5985
def package(self):
6086
cmake = self._configure_cmake()
6187
cmake.install()
62-
tools.rmdir(os.path.join(self.package_folder, "share"))
88+
files.rmdir(self, os.path.join(self.package_folder, "share"))
6389
self.copy(pattern="LICENSE",
6490
dst="licenses",
6591
src=self._source_subfolder)
@@ -76,3 +102,20 @@ def package_info(self):
76102
self.cpp_info.defines.append("ELPP_DEBUG_ERRORS")
77103
if self.options.enable_default_logfile:
78104
self.cpp_info.defines.append("ELPP_NO_DEFAULT_LOG_FILE")
105+
if self.options.disable_logs:
106+
self.cpp_info.defines.append("ELPP_DISABLE_LOGS")
107+
if self.options.disable_debug_logs:
108+
self.cpp_info.defines.append("ELPP_DISABLE_DEBUG_LOGS")
109+
if self.options.disable_info_logs:
110+
self.cpp_info.defines.append("ELPP_DISABLE_INFO_LOGS")
111+
if self.options.disable_warning_logs:
112+
self.cpp_info.defines.append("ELPP_DISABLE_WARNING_LOGS")
113+
if self.options.disable_error_logs:
114+
self.cpp_info.defines.append("ELPP_DISABLE_ERROR_LOGS")
115+
if self.options.disable_fatal_logs:
116+
self.cpp_info.defines.append("ELPP_DISABLE_FATAL_LOGS")
117+
if self.options.disable_verbose_logs:
118+
self.cpp_info.defines.append("ELPP_DISABLE_VERBOSE_LOGS")
119+
if self.options.disable_trace_logs:
120+
self.cpp_info.defines.append("ELPP_DISABLE_TRACE_LOGS")
121+

0 commit comments

Comments
 (0)