-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
60 lines (49 loc) · 1.4 KB
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 3.14)
project(iotic VERSION 0.4.0 LANGUAGES C CXX)
include(cmake/CPM.cmake)
CPMAddPackage("gh:mincequi/uvw_iot#3116d99")
set(CMAKE_CXX_STANDARD 11)
option(BUILD_TESTING "Build test programs" OFF)
find_package(Threads)
add_subdirectory(src/cli)
add_subdirectory(src/common)
add_subdirectory(src/config)
#add_subdirectory(src/fronius)
#add_subdirectory(src/influx)
add_subdirectory(src/strategies)
add_subdirectory(src/rules)
add_subdirectory(src/things)
add_subdirectory(src/webapp)
add_subdirectory(src/webserver)
if(BUILD_TESTING)
add_subdirectory(tests)
endif()
add_executable(iotic
src/main.cpp
src/appDaemon/AppBackend.cpp
src/appDiscover/AppDiscover.cpp
)
target_link_libraries(iotic
Threads::Threads
uvw_iot
uvw_net::dns_sd
${CMAKE_DL_LIBS}
cli
common
config
#influx
#modbus
#mqtt
rules
things
webserver
)
install(TARGETS iotic DESTINATION bin)
#install(FILES ${PROJECT_SOURCE_DIR}/etc/iotic.conf DESTINATION /var/lib/iotic)
install(FILES ${PROJECT_SOURCE_DIR}/debian/iotic.service DESTINATION /usr/lib/systemd/system)
set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Manuel Weichselbaumer <mincequi@web.de>") #required
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
set(CPACK_DEBIAN_PACKAGE_DEPENDS adduser)
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJECT_SOURCE_DIR}/debian/postinst;${PROJECT_SOURCE_DIR}/debian/postrm")
include(CPack)