| 1 | cmake_minimum_required(VERSION 2.6) |
|---|
| 2 | |
|---|
| 3 | SET(TARGET nscp) |
|---|
| 4 | |
|---|
| 5 | PROJECT(service) |
|---|
| 6 | INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIRS}) |
|---|
| 7 | LINK_DIRECTORIES(${BOOST_LIB_DIRS}) |
|---|
| 8 | #INCLUDE_DIRECTORIES(${NSCP_INCLUDEDIR}) |
|---|
| 9 | |
|---|
| 10 | SET(VERSION_HPP ${CMAKE_CURRENT_SOURCE_DIR}/version.hpp) |
|---|
| 11 | |
|---|
| 12 | ADD_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 | |
|---|
| 21 | SET(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 | |
|---|
| 38 | IF(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 | |
|---|
| 89 | ENDIF(WIN32) |
|---|
| 90 | IF(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) |
|---|
| 97 | ENDIF(BREAKPAD_FOUND) |
|---|
| 98 | |
|---|
| 99 | add_executable (${TARGET} ${service_SRCS}) |
|---|
| 100 | add_dependencies(${TARGET} ${TARGET}_VERSION) |
|---|
| 101 | |
|---|
| 102 | MESSAGE(STATUS "Extra: ${EXTRA_LIBS}") |
|---|
| 103 | |
|---|
| 104 | target_link_libraries(${TARGET} |
|---|
| 105 | ${Boost_FILESYSTEM_LIBRARY} |
|---|
| 106 | ${NSCP_DEF_PLUGIN_LIB} |
|---|
| 107 | ${EXTRA_LIBS} |
|---|
| 108 | settings_manager |
|---|
| 109 | ) |
|---|
| 110 | SET_TARGET_PROPERTIES(${TARGET} PROPERTIES FOLDER "core") |
|---|
| 111 | SET_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 | |
|---|
| 116 | SOURCE_GROUP("Common Files" REGULAR_EXPRESSION .*include/.*) |
|---|
| 117 | SOURCE_GROUP("Parser" REGULAR_EXPRESSION .*include/parser/.*) |
|---|
| 118 | SOURCE_GROUP("NSCP API" REGULAR_EXPRESSION .*include/nscapi/.*) |
|---|
| 119 | SOURCE_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 | |
|---|
| 124 | INSTALL(TARGETS ${TARGET} RUNTIME DESTINATION .) |
|---|
| 125 | |
|---|