summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorclaiff <claiff@mail.ru>2022-09-19 19:25:16 +0300
committerclaiff <claiff@mail.ru>2022-09-20 12:44:34 +0300
commit7485f26f35c9cfc1489a2e425fee57a2b51059a9 (patch)
treea29ccecb6fba0b0b0f4ad3a1f6e12b429434fb77 /CMakeLists.txt
parent7fd7a6488625acc45b48ca21d55ed13783cae27f (diff)
downloadobmc-sila-smtp-7485f26f35c9cfc1489a2e425fee57a2b51059a9.tar.xz
add logger journal and phosphor
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt59
1 files changed, 43 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 95eb853..e3e2153 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,6 +14,18 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os -flto")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
+option (
+ ADD_JOURNAL_LOGGING
+ "All logging write to journalctl"
+ ON
+)
+
+option (
+ ADD_PHOSPHOR_LOGGING
+ "All logging write to webui"
+ ON
+)
+
if(NOT ${YOCTO_DEPENDENCIES})
include(ExternalProject)
@@ -73,10 +85,8 @@ else()
link_directories(${Boost_LIBRARY_DIRS})
find_package (PkgConfig REQUIRED)
- find_package (PkgConfig REQUIRED)
pkg_check_modules (LOGGING phosphor-logging REQUIRED)
- include_directories (SYSTEM ${LOGGING_INCLUDE_DIRS})
- link_directories (${LOGGING_LIBRARY_DIRS})
+
endif()
include_directories(src)
@@ -84,11 +94,12 @@ include_directories(src)
set(SRC_DIR src)
set(MESSAGE_DIR src/message)
set(SERVICE_DIR src/service)
-set(MANAGMENT_DIR src/managment)
+set(MANAGEMENT_DIR src/managment)
set(FILE_DIR src/file)
set(PARSER_DIR src/file/parser)
set(MANAGER_BUILDER_DIR src/managment/builder)
set(CONVERTER_DIR src/converter)
+set(LOGGER_DIR src/logger)
set(SRC_FILES
${SRC_DIR}/main.cpp
@@ -114,13 +125,11 @@ set(SRC_FILES
${MESSAGE_DIR}/builder/types/imessage_builder.hpp
${MESSAGE_DIR}/builder/types/idecorator.hpp
- ${MANAGMENT_DIR}/mail.hpp
- ${MANAGMENT_DIR}/mail.cpp
- ${MANAGMENT_DIR}/settings.hpp
- ${MANAGMENT_DIR}/settings.cpp
- ${MANAGMENT_DIR}/logger.hpp
- ${MANAGMENT_DIR}/logger.cpp
- ${MANAGMENT_DIR}/general.hpp
+ ${MANAGEMENT_DIR}/mail.hpp
+ ${MANAGEMENT_DIR}/mail.cpp
+ ${MANAGEMENT_DIR}/settings.hpp
+ ${MANAGEMENT_DIR}/settings.cpp
+ ${MANAGEMENT_DIR}/general.hpp
${FILE_DIR}/mail.hpp
${FILE_DIR}/mail.cpp
@@ -143,20 +152,38 @@ set(SRC_FILES
${MANAGER_BUILDER_DIR}/settings.cpp
${MANAGER_BUILDER_DIR}/mail.hpp
${MANAGER_BUILDER_DIR}/mail.cpp
- )
-add_executable(${PROJECT_NAME} ${SRC_FILES})
+ ${LOGGER_DIR}/types/ilogger.hpp
+ ${LOGGER_DIR}/journal.cpp
+ ${LOGGER_DIR}/journal.hpp
+ ${LOGGER_DIR}/logger_set.cpp
+ ${LOGGER_DIR}/logger_set.hpp
+)
+
+if( ${ADD_PHOSPHOR_LOGGING} )
+ set(PHOSPHOR_LOGGING_FILES
+ src/logger/phosphor.cpp
+ src/logger/phosphor.hpp
+ )
+endif()
+
+add_executable(${PROJECT_NAME} ${SRC_FILES} ${PHOSPHOR_LOGGING_FILES})
+
+target_compile_definitions (
+ ${PROJECT_NAME} PRIVATE $<$<BOOL:${ADD_JOURNAL_LOGGING}>: -DADD_JOURNAL_LOGGING>
+)
+
if(NOT ${YOCTO_DEPENDENCIES})
add_dependencies(${PROJECT_NAME} sdbusplus-project)
+elseif(${ADD_PHOSPHOR_LOGGING})
+ target_link_libraries (${PROJECT_NAME} phosphor_logging)
endif()
+
target_link_libraries(${PROJECT_NAME} boost_context)
target_link_libraries(${PROJECT_NAME} sdbusplus)
target_link_libraries(${PROJECT_NAME} systemd)
target_link_libraries(${PROJECT_NAME} curl)
-#target_link_libraries (${PROJECT_NAME} ${Boost_LIBRARIES})
-target_link_libraries (${PROJECT_NAME} ${SDBUSPLUSPLUS_LIBRARIES}
- phosphor_logging)
install(TARGETS ${PROJECT_NAME} DESTINATION bin)
install(FILES ${PROJECT_SOURCE_DIR}/xyz.openbmc_project.SMTP.service
DESTINATION /lib/systemd/system/)