From 7a446d48b9270dbe2628b462a54a7a23ff43c572 Mon Sep 17 00:00:00 2001 From: claiff Date: Mon, 19 Sep 2022 14:03:14 +0300 Subject: temp --- CMakeLists.txt | 142 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 77 insertions(+), 65 deletions(-) (limited to 'CMakeLists.txt') 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 && ./bootstrap.sh - BUILD_COMMAND cd && ./b2 --exec-prefix= - --prefix= --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 && ./bootstrap.sh + BUILD_COMMAND cd && ./b2 --exec-prefix= + --prefix= --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) -- cgit v1.2.3