1 # Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+
4 set(WindowsSources icinga.rc)
9 set(icingaloader_SOURCES
14 add_library(icingaloader OBJECT ${icingaloader_SOURCES})
15 add_dependencies(icingaloader base config cli)
17 set_target_properties (
18 icingaloader PROPERTIES
22 include_directories(${Boost_INCLUDE_DIRS})
24 if(ICINGA2_WITH_CHECKER)
25 list(APPEND icinga_app_SOURCES $<TARGET_OBJECTS:checker>)
28 if(ICINGA2_WITH_COMPAT)
29 list(APPEND icinga_app_SOURCES $<TARGET_OBJECTS:compat>)
32 if(ICINGA2_WITH_MYSQL OR ICINGA2_WITH_PGSQL)
33 list(APPEND icinga_app_SOURCES $<TARGET_OBJECTS:db_ido>)
36 if(ICINGA2_WITH_MYSQL)
37 list(APPEND icinga_app_SOURCES $<TARGET_OBJECTS:db_ido_mysql>)
40 if(ICINGA2_WITH_PGSQL)
41 list(APPEND icinga_app_SOURCES $<TARGET_OBJECTS:db_ido_pgsql>)
44 if(ICINGA2_WITH_LIVESTATUS)
45 list(APPEND icinga_app_SOURCES $<TARGET_OBJECTS:livestatus>)
48 if(ICINGA2_WITH_NOTIFICATION)
49 list(APPEND icinga_app_SOURCES $<TARGET_OBJECTS:notification>)
52 if(ICINGA2_WITH_PERFDATA)
53 list(APPEND icinga_app_SOURCES $<TARGET_OBJECTS:perfdata>)
56 add_executable(icinga-app
57 $<TARGET_OBJECTS:icingaloader>
59 $<TARGET_OBJECTS:config>
60 $<TARGET_OBJECTS:remote>
62 $<TARGET_OBJECTS:icinga>
63 $<TARGET_OBJECTS:methods>
67 target_link_libraries(icinga-app ${base_DEPS})
69 set_target_properties (
76 set(InstallPath "${CMAKE_INSTALL_SBINDIR}")
78 configure_file(icinga2.cmake ${CMAKE_CURRENT_BINARY_DIR}/icinga2 @ONLY)
81 FILES ${CMAKE_CURRENT_BINARY_DIR}/icinga2
82 DESTINATION ${CMAKE_INSTALL_SBINDIR}
83 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
86 set(InstallPath "${CMAKE_INSTALL_LIBDIR}/icinga2/sbin")
91 RUNTIME DESTINATION ${InstallPath}
94 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${ICINGA2_FULL_LOGDIR}\")")
95 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${ICINGA2_FULL_DATADIR}\")")
96 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${ICINGA2_FULL_INITRUNDIR}\")")