summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorclaiff <claiff@mail.ru>2022-09-19 14:03:14 +0300
committerclaiff <claiff@mail.ru>2022-09-21 14:28:10 +0300
commit7a446d48b9270dbe2628b462a54a7a23ff43c572 (patch)
tree8e677b755c3cb529a40ee17078828bc8cc73bf31 /CMakeLists.txt
parent629929ebbe386277c25740bc0f4971aac38444d0 (diff)
downloadobmc-sila-smtp-7a446d48b9270dbe2628b462a54a7a23ff43c572.tar.xz
temp
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt142
1 files changed, 77 insertions, 65 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 11f62b1..6a1916b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,62 +15,60 @@ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os -flto")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
if(NOT ${YOCTO_DEPENDENCIES})
- include(ExternalProject)
-
- ExternalProject_Add(
- Boost
- URL "https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2"
- URL_MD5 "33334dd7f862e8ac9fe1cc7c6584fb6d"
- SOURCE_DIR ${CMAKE_BINARY_DIR}/src/boost
- BINARY_DIR ${CMAKE_BINARY_DIR}/libs/boost
- CONFIGURE_COMMAND cd <SOURCE_DIR> && ./bootstrap.sh
- BUILD_COMMAND cd <SOURCE_DIR> && ./b2 --exec-prefix=<BINARY_DIR>
- --prefix=<BINARY_DIR> --with-system --with-coroutine install
- INSTALL_COMMAND ""
- UPDATE_COMMAND "")
-
- set(CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}/libs/boost/ ${CMAKE_PREFIX_PATH})
- include_directories(SYSTEM ${CMAKE_BINARY_DIR}/libs/boost/include)
- link_directories(SYSTEM ${CMAKE_BINARY_DIR}/libs/boost/lib)
-
- ExternalProject_Add(
- sdbusplus-project
- PREFIX ${CMAKE_BINARY_DIR}/sdbusplus-project
- GIT_REPOSITORY https://github.com/openbmc/sdbusplus.git
- GIT_TAG afe80cf2e5dc4aefe3b041adeb0230e61929bf12
- SOURCE_DIR ${CMAKE_BINARY_DIR}/sdbusplus-src
- BINARY_DIR ${CMAKE_BINARY_DIR}/sdbusplus-build
- CONFIGURE_COMMAND ""
- BUILD_COMMAND cd ${CMAKE_BINARY_DIR}/sdbusplus-src && ./bootstrap.sh &&
- ./configure --enable-transaction && make -j libsdbusplus.la
- INSTALL_COMMAND ""
- LOG_DOWNLOAD ON
- UPDATE_COMMAND "")
-
- include_directories(${CMAKE_BINARY_DIR}/sdbusplus-src)
- link_directories(${CMAKE_BINARY_DIR}/sdbusplus-src/.libs)
-
- # Boost related definitions
- add_definitions(-DBOOST_COROUTINES_NO_DEPRECATION_WARNING)
- add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
- add_definitions(-DBOOST_SYSTEM_NO_DEPRECATED)
- add_definitions(-DBOOST_ALL_NO_LIB)
- add_definitions(-DBOOST_NO_RTTI)
- add_definitions(-DBOOST_NO_TYPEID)
- add_definitions(-DBOOST_ASIO_DISABLE_THREADS)
+ include(ExternalProject)
+
+ ExternalProject_Add(
+ Boost
+ URL "https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2"
+ URL_MD5 "33334dd7f862e8ac9fe1cc7c6584fb6d"
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/src/boost
+ BINARY_DIR ${CMAKE_BINARY_DIR}/libs/boost
+ CONFIGURE_COMMAND cd <SOURCE_DIR> && ./bootstrap.sh
+ BUILD_COMMAND cd <SOURCE_DIR> && ./b2 --exec-prefix=<BINARY_DIR>
+ --prefix=<BINARY_DIR> --with-system --with-coroutine install
+ INSTALL_COMMAND ""
+ UPDATE_COMMAND ""
+ )
+
+ set(CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}/libs/boost/ ${CMAKE_PREFIX_PATH})
+ include_directories(SYSTEM ${CMAKE_BINARY_DIR}/libs/boost/include)
+ link_directories(SYSTEM ${CMAKE_BINARY_DIR}/libs/boost/lib)
+
+ ExternalProject_Add(
+ sdbusplus-project
+ PREFIX ${CMAKE_BINARY_DIR}/sdbusplus-project
+ GIT_REPOSITORY https://github.com/openbmc/sdbusplus.git
+ GIT_TAG afe80cf2e5dc4aefe3b041adeb0230e61929bf12
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/sdbusplus-src
+ BINARY_DIR ${CMAKE_BINARY_DIR}/sdbusplus-build
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND cd ${CMAKE_BINARY_DIR}/sdbusplus-src && ./bootstrap.sh &&
+ ./configure --enable-transaction && make -j libsdbusplus.la
+ INSTALL_COMMAND ""
+ LOG_DOWNLOAD ON
+ UPDATE_COMMAND ""
+ )
+
+ include_directories(${CMAKE_BINARY_DIR}/sdbusplus-src)
+ link_directories(${CMAKE_BINARY_DIR}/sdbusplus-src/.libs)
+
+ add_definitions(-DBOOST_COROUTINES_NO_DEPRECATION_WARNING)
+ add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
+ add_definitions(-DBOOST_SYSTEM_NO_DEPRECATED)
+ add_definitions(-DBOOST_ALL_NO_LIB)
+ add_definitions(-DBOOST_NO_RTTI)
+ add_definitions(-DBOOST_NO_TYPEID)
+ add_definitions(-DBOOST_ASIO_DISABLE_THREADS)
else()
- # Include Boost library. This allows specify exact version of BOOST to be
- # used, especially important while using valgrind, to point BOOST that is
- # compiled with valgrind support
- if(${BOOST_VERSION})
- find_package(Boost ${BOOST_VERSION} EXACT)
- else()
- find_package(Boost 1.69 REQUIRED COMPONENTS coroutine context)
- endif()
- message("++ Using Boost version: " ${Boost_VERSION})
-
- include_directories(${Boost_INCLUDE_DIRS})
- link_directories(${Boost_LIBRARY_DIRS})
+ if(${BOOST_VERSION})
+ find_package(Boost ${BOOST_VERSION} EXACT)
+ else()
+ find_package(Boost 1.69 REQUIRED COMPONENTS coroutine context)
+ endif()
+ message("++ Using Boost version: " ${Boost_VERSION})
+
+ include_directories(${Boost_INCLUDE_DIRS})
+ link_directories(${Boost_LIBRARY_DIRS})
endif()
include_directories(src)
@@ -78,11 +76,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/management)
set(FILE_DIR src/file)
set(PARSER_DIR src/file/parser)
-set(MANAGER_BUILDER_DIR src/managment/builder)
+set(MANAGER_BUILDER_DIR src/management/builder)
set(CONVERTER_DIR src/converter)
+set(CHECKER_DIR src/checker)
set(SRC_FILES
${SRC_DIR}/main.cpp
@@ -108,13 +107,13 @@ 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}/logger.hpp
+ ${MANAGEMENT_DIR}/logger.cpp
+ ${MANAGEMENT_DIR}/general.hpp
${FILE_DIR}/mail.hpp
${FILE_DIR}/mail.cpp
@@ -137,12 +136,25 @@ set(SRC_FILES
${MANAGER_BUILDER_DIR}/settings.cpp
${MANAGER_BUILDER_DIR}/mail.hpp
${MANAGER_BUILDER_DIR}/mail.cpp
+
+ ${CHECKER_DIR}/registrator_mails.hpp
+ ${CHECKER_DIR}/registrator_mails.cpp
+ ${CHECKER_DIR}/registrator_settings.hpp
+
+ ${CHECKER_DIR}/errors/settings/host_number.cpp
+ ${CHECKER_DIR}/errors/settings/host_number.hpp
+ ${CHECKER_DIR}/errors/mail/empty.hpp
+ ${CHECKER_DIR}/errors/mail/empty.cpp
+
+ ${CHECKER_DIR}/errors/types/imails_error.hpp
+ ${CHECKER_DIR}/errors/types/isettings_error.hpp
)
add_executable(smtp ${SRC_FILES})
if(NOT ${YOCTO_DEPENDENCIES})
- add_dependencies(smtp sdbusplus-project)
+ add_dependencies(smtp sdbusplus-project)
endif()
+
target_link_libraries(smtp boost_context)
target_link_libraries(smtp sdbusplus)
target_link_libraries(smtp systemd)