source: nscp/service/CMakeLists.txt @ b7d17f8

0.4.00.4.10.4.2
Last change on this file since b7d17f8 was b7d17f8, checked in by Michael Medin <michael@…>, 2 years ago

0.4.x: Major update with a lot of fixes and what not.
Now NSCA is working with old config file as well as a brand new http settings store and many many other fixes.

  • Property mode set to 100644
File size: 3.2 KB
Line 
1cmake_minimum_required(VERSION 2.6)
2
3SET(TARGET nscp)
4
5PROJECT(service)
6INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIRS})
7LINK_DIRECTORIES(${BOOST_LIB_DIRS})
8#INCLUDE_DIRECTORIES(${NSCP_INCLUDEDIR})
9
10SET(VERSION_HPP ${CMAKE_CURRENT_SOURCE_DIR}/version.hpp)
11
12ADD_CUSTOM_TARGET(
13        "${TARGET}_VERSION"
14        COMMAND ${PYTHON_EXECUTABLE}
15                "${BUILD_PYTHON_FOLDER}/version.py"
16                --file ${VERSION_TXT}
17                --generate-hpp ${VERSION_HPP}
18                --update build
19        )
20
21SET(service_SRCS
22        StdAfx.cpp
23        nsclient++.cpp
24        NSCPlugin.cpp
25        core_api.cpp
26        settings_logger_impl.cpp
27
28        ${NSCP_INCLUDEDIR}/nscapi/nscapi_helper.cpp
29        ${NSCP_INCLUDEDIR}/settings/client/settings_client.cpp
30
31        ${NSCP_INCLUDEDIR}/simpleini/ConvertUTF.c
32        ${NSCP_INCLUDEDIR}/b64/b64.c
33        ${NSCP_INCLUDEDIR}/arrayBuffer.cpp
34
35        ../resources/nsclient.ico
36)
37
38IF(WIN32)
39        SET(service_SRCS ${service_SRCS}
40                ${NSCP_INCLUDEDIR}/ServiceCmd.cpp
41        )
42        SET(service_SRCS ${service_SRCS}
43                StdAfx.h
44                NSClient++.h
45                NSCPlugin.h
46                core_api.h
47                simple_client.hpp
48                settings_client.hpp
49                cli_parser.hpp
50               
51                commands.hpp
52                channels.hpp
53                logger.hpp
54                service_manager.hpp
55                settings_logger_impl.hpp
56
57                ${NSCP_INCLUDEDIR}/charEx.h
58                ${NSCP_INCLUDEDIR}/config.h
59                ${NSCP_INCLUDEDIR}/msvc_wrappers.h
60                ${NSCP_INCLUDEDIR}/com_helpers.hpp
61                ${NSCP_INCLUDEDIR}/dll/dll.hpp
62                ${NSCP_INCLUDEDIR}/dll/impl_unix.hpp
63                ${NSCP_INCLUDEDIR}/dll/impl_w32.hpp
64#               ${NSCP_INCLUDEDIR}/nsclient_session.hpp
65
66                ${NSCP_INCLUDEDIR}/service/system_service.hpp
67                ${NSCP_INCLUDEDIR}/service/win32_service.hpp
68                ${NSCP_INCLUDEDIR}/nscapi/nscapi_helper.hpp
69
70        )
71        SET(service_SRCS ${service_SRCS}
72                ${CMAKE_CURRENT_SOURCE_DIR}/NSClient++.manifest
73        )
74       
75        ADD_DEFINITIONS(-D_WIN32_DCOM)
76
77       
78#       SET(
79#               CMAKE_LINKER_FLAGS
80#               /MANIFEST
81#               /MANIFESTFILE:"${CMAKE_CURRENT_SOURCE_DIR}/NSClient++.manifest"
82#       )
83#       SET(
84#               CMAKE_MODULE_LINKER_FLAG
85#               /MANIFEST
86#               /MANIFESTFILE:"${CMAKE_CURRENT_SOURCE_DIR}/NSClient++.manifest"
87#       )
88
89ENDIF(WIN32)
90IF(BREAKPAD_FOUND)
91        SET(service_SRCS ${service_SRCS} ${NSCP_INCLUDEDIR}/breakpad/exception_handler_win32.cpp)
92        IF(WIN32)
93                SET(service_SRCS ${service_SRCS} ${NSCP_INCLUDEDIR}/breakpad/exception_handler_win32.hpp)
94        ENDIF(WIN32)
95        SET(EXTRA_LIBS ${BREAKPAD_COMMON_LIBRARY} ${BREAKPAD_EXCEPTION_HANDLER_LIBRARY} ${BREAKPAD_CRASH_GENERATION_CLIENT_LIBRARY})
96        ADD_DEFINITIONS(-DUSE_BREAKPAD)
97ENDIF(BREAKPAD_FOUND)
98
99add_executable (${TARGET} ${service_SRCS})
100add_dependencies(${TARGET} ${TARGET}_VERSION)
101
102MESSAGE(STATUS "Extra: ${EXTRA_LIBS}")
103
104target_link_libraries(${TARGET}
105        ${Boost_FILESYSTEM_LIBRARY}
106        ${NSCP_DEF_PLUGIN_LIB}
107        ${EXTRA_LIBS}
108        settings_manager
109)
110SET_TARGET_PROPERTIES(${TARGET} PROPERTIES FOLDER "core")
111SET_TARGET_PROPERTIES(${TARGET}_VERSION PROPERTIES FOLDER "core")
112#IF(WIN32)
113#       SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_FLAGS "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\" /SUBSYSTEM:WINDOWS")
114#ENDIF(WIN32)
115
116SOURCE_GROUP("Common Files" REGULAR_EXPRESSION .*include/.*)
117SOURCE_GROUP("Parser" REGULAR_EXPRESSION .*include/parser/.*)
118SOURCE_GROUP("NSCP API" REGULAR_EXPRESSION .*include/nscapi/.*)
119SOURCE_GROUP("Settings" REGULAR_EXPRESSION .*include/settings/.*)
120
121#SOURCE_GROUP("NSCP API/Sources" FILES ${NSCP_DEF_PLUGIN_CPP})
122#SOURCE_GROUP("Settings" REGULAR_EXPRESSION .*settings.*)
123
124INSTALL(TARGETS ${TARGET} RUNTIME DESTINATION .)
125
Note: See TracBrowser for help on using the repository browser.