-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
86 lines (61 loc) · 2.56 KB
/
CMakeLists.txt
File metadata and controls
86 lines (61 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
cmake_minimum_required(VERSION 3.5)
project(plugins)
message(STATUS "Project Plugins")
set(VERSION_MAJOR 0)
set(VERSION_MINOR 1)
set(VERSION_PATCH 1)
set(SO_VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS -pthread)
set(BUILD_DOXYGEN FALSE)
find_package(Boost 1.58 REQUIRED COMPONENTS
filesystem
program_options
serialization
iostreams)
if (Boost_FOUND)
include_directories(SYSTEM ${Boost_INCLUDE_DIR})
MESSAGE("BOOST ROOT SET")
set(CMAKE_EXPORT_COMPILE_COMMANDS "ON")
set(Boost_USE_STATIC_LIBS ON CACHE STRING "ON or OFF")
endif ()
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/library/AMQP-CPP/include)
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/library/poco/Net/include)
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/library/poco/Foundation/include)
set(SOURCE_FILES
src/Task.cpp
src/rabbitmq_worker.cpp
src/SimplePocoHandler.cpp
src/Container.cpp
src/Sota.cpp src/main.cpp)
add_subdirectory(library)
add_executable(plugins ${SOURCE_FILES})
target_link_libraries(plugins amqpcpp PocoNet PocoFoundation ${Boost_LIBRARIES})
install(TARGETS plugins DESTINATION bin)
#make package for debian-based distributions
#cd directory build and run command cpack
if(UNIX AND NOT APPLE)
set(LINUX TRUE)
set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Postnikov Dmitry")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "C++ code for RabbitMQ. Start queue name hello, listen queue and send testing data")
set(CPACK_PACKAGE_EXECUTABLES "Plugins" "Plugins")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS} cmake (>=3.5)")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libboost-all-dev (>=1.58)")
#set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libpocofoundation50 (>=50)")
endif()
include(CPack)
find_package(Doxygen)
if (DOXYGEN_FOUND AND ${BUILD_DOXYGEN})
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile)
set(DOXYGEN_OUT ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile)
configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
message("Doxygen build started")
add_custom_target(doc_doxygen ALL
COMMAND ${CMAKE_COMMAND} -E echo_append "Building API Documentation..."
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
COMMAND ${CMAKE_COMMAND} -E echo "Done."
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Generating API documentation with Doxygen"
VERBATIM)
endif (DOXYGEN_FOUND AND ${BUILD_DOXYGEN})