| 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(service_SRCS
|
|---|
| 11 | StdAfx.cpp
|
|---|
| 12 | NSClient++.cpp
|
|---|
| 13 | NSCPlugin.cpp
|
|---|
| 14 | core_api.cpp
|
|---|
| 15 | settings_logger_impl.cpp
|
|---|
| 16 |
|
|---|
| 17 | ${NSCP_INCLUDEDIR}/nscapi/nscapi_helper.cpp
|
|---|
| 18 | ${NSCP_INCLUDEDIR}/settings/client/settings_client.cpp
|
|---|
| 19 |
|
|---|
| 20 | ${NSCP_INCLUDEDIR}/simpleini/ConvertUTF.c
|
|---|
| 21 | ${NSCP_INCLUDEDIR}/b64/b64.c
|
|---|
| 22 | ${NSCP_INCLUDEDIR}/arrayBuffer.cpp
|
|---|
| 23 |
|
|---|
| 24 | ../resources/nsclient.ico
|
|---|
| 25 | )
|
|---|
| 26 |
|
|---|
| 27 | IF(WIN32)
|
|---|
| 28 | SET(service_SRCS ${service_SRCS}
|
|---|
| 29 | ${NSCP_INCLUDEDIR}/ServiceCmd.cpp
|
|---|
| 30 | )
|
|---|
| 31 | SET(service_SRCS ${service_SRCS}
|
|---|
| 32 | StdAfx.h
|
|---|
| 33 | NSClient++.h
|
|---|
| 34 | NSCPlugin.h
|
|---|
| 35 | core_api.h
|
|---|
| 36 | simple_client.hpp
|
|---|
| 37 | settings_client.hpp
|
|---|
| 38 | cli_parser.hpp
|
|---|
| 39 |
|
|---|
| 40 | plugin_list.hpp
|
|---|
| 41 | commands.hpp
|
|---|
| 42 | channels.hpp
|
|---|
| 43 | routers.hpp
|
|---|
| 44 | logger.hpp
|
|---|
| 45 | service_manager.hpp
|
|---|
| 46 | settings_logger_impl.hpp
|
|---|
| 47 |
|
|---|
| 48 | ${NSCP_INCLUDEDIR}/charEx.h
|
|---|
| 49 | ${NSCP_INCLUDEDIR}/config.h
|
|---|
| 50 | ${NSCP_INCLUDEDIR}/com_helpers.hpp
|
|---|
| 51 | ${NSCP_INCLUDEDIR}/dll/dll.hpp
|
|---|
| 52 | ${NSCP_INCLUDEDIR}/dll/impl_unix.hpp
|
|---|
| 53 | ${NSCP_INCLUDEDIR}/dll/impl_w32.hpp
|
|---|
| 54 | # ${NSCP_INCLUDEDIR}/nsclient_session.hpp
|
|---|
| 55 |
|
|---|
| 56 | ${NSCP_INCLUDEDIR}/service/system_service.hpp
|
|---|
| 57 | ${NSCP_INCLUDEDIR}/service/win32_service.hpp
|
|---|
| 58 | ${NSCP_INCLUDEDIR}/nscapi/nscapi_helper.hpp
|
|---|
| 59 |
|
|---|
| 60 | )
|
|---|
| 61 | SET(service_SRCS ${service_SRCS}
|
|---|
| 62 | ${CMAKE_CURRENT_SOURCE_DIR}/NSClient++.manifest
|
|---|
| 63 | )
|
|---|
| 64 |
|
|---|
| 65 | ADD_DEFINITIONS(-D_WIN32_DCOM)
|
|---|
| 66 |
|
|---|
| 67 |
|
|---|
| 68 | # SET(
|
|---|
| 69 | # CMAKE_LINKER_FLAGS
|
|---|
| 70 | # /MANIFEST
|
|---|
| 71 | # /MANIFESTFILE:"${CMAKE_CURRENT_SOURCE_DIR}/NSClient++.manifest"
|
|---|
| 72 | # )
|
|---|
| 73 | # SET(
|
|---|
| 74 | # CMAKE_MODULE_LINKER_FLAG
|
|---|
| 75 | # /MANIFEST
|
|---|
| 76 | # /MANIFESTFILE:"${CMAKE_CURRENT_SOURCE_DIR}/NSClient++.manifest"
|
|---|
| 77 | # )
|
|---|
| 78 |
|
|---|
| 79 | ENDIF(WIN32)
|
|---|
| 80 | IF(BREAKPAD_FOUND)
|
|---|
| 81 | SET(service_SRCS ${service_SRCS} ${NSCP_INCLUDEDIR}/breakpad/exception_handler_win32.cpp)
|
|---|
| 82 | IF(WIN32)
|
|---|
| 83 | SET(service_SRCS ${service_SRCS} ${NSCP_INCLUDEDIR}/breakpad/exception_handler_win32.hpp)
|
|---|
| 84 | ENDIF(WIN32)
|
|---|
| 85 | SET(EXTRA_LIBS ${BREAKPAD_COMMON_LIBRARY} ${BREAKPAD_EXCEPTION_HANDLER_LIBRARY} ${BREAKPAD_CRASH_GENERATION_CLIENT_LIBRARY})
|
|---|
| 86 | ADD_DEFINITIONS(-DUSE_BREAKPAD)
|
|---|
| 87 | ENDIF(BREAKPAD_FOUND)
|
|---|
| 88 |
|
|---|
| 89 | ADD_DEFINITIONS(${NSCP_GLOBAL_DEFINES})
|
|---|
| 90 |
|
|---|
| 91 | add_executable (${TARGET} ${service_SRCS})
|
|---|
| 92 |
|
|---|
| 93 | MESSAGE(STATUS "All libraries: ${Boost_FILESYSTEM_LIBRARY}, ${NSCP_DEF_PLUGIN_LIB}, ${EXTRA_LIBS}")
|
|---|
| 94 |
|
|---|
| 95 | target_link_libraries(${TARGET}
|
|---|
| 96 | ${Boost_FILESYSTEM_LIBRARY}
|
|---|
| 97 | ${NSCP_DEF_PLUGIN_LIB}
|
|---|
| 98 | ${EXTRA_LIBS}
|
|---|
| 99 | settings_manager
|
|---|
| 100 | )
|
|---|
| 101 | SET_TARGET_PROPERTIES(${TARGET} PROPERTIES FOLDER "core")
|
|---|
| 102 | #IF(WIN32)
|
|---|
| 103 | # SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_FLAGS "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\" /SUBSYSTEM:WINDOWS")
|
|---|
| 104 | #ENDIF(WIN32)
|
|---|
| 105 |
|
|---|
| 106 | SOURCE_GROUP("Common Files" REGULAR_EXPRESSION .*include/.*)
|
|---|
| 107 | SOURCE_GROUP("Parser" REGULAR_EXPRESSION .*include/parser/.*)
|
|---|
| 108 | SOURCE_GROUP("NSCP API" REGULAR_EXPRESSION .*include/nscapi/.*)
|
|---|
| 109 | SOURCE_GROUP("Settings" REGULAR_EXPRESSION .*include/settings/.*)
|
|---|
| 110 |
|
|---|
| 111 | #SOURCE_GROUP("NSCP API/Sources" FILES ${NSCP_DEF_PLUGIN_CPP})
|
|---|
| 112 | #SOURCE_GROUP("Settings" REGULAR_EXPRESSION .*settings.*)
|
|---|
| 113 |
|
|---|
| 114 | INSTALL(TARGETS ${TARGET} RUNTIME DESTINATION .)
|
|---|
| 115 |
|
|---|
| 116 | # First, build the full name of the EXE.
|
|---|
| 117 | INSTALL(CODE "SET(PDB_FULL_PATH ${BUILD_TARGET_EXE_PATH}/${TARGET}.pdb)")
|
|---|
| 118 | INSTALL(CODE "FILE(INSTALL DESTINATION \${CMAKE_INSTALL_PREFIX} TYPE EXECUTABLE FILES \${PDB_FULL_PATH})")
|
|---|
| 119 | #INSTALL(CODE "MESSAGE(STATUS ----->\${CMAKE_INSTALL_PREFIX})")
|
|---|
| 120 | #INSTALL(CODE "MESSAGE(STATUS ----->\${CMAKE_INSTALL_CONFIG_NAME})")
|
|---|
| 121 | #INSTALL(CODE "MESSAGE(STATUS ----->${CMAKE_CURRENT_BINARY_DIR})")
|
|---|
| 122 | #INSTALL(CODE "MESSAGE(STATUS ----->\${PDB_FULL_PATH})")
|
|---|
| 123 | # Then, replace .exe with .pdb.
|
|---|
| 124 | #INSTALL(CODE "STRING(REPLACE .exe .pdb PDB_FULL_PATH \${PDB_FULL_PATH})")
|
|---|
| 125 | # Finally, get it installed.
|
|---|