Changeset ca3e815 in nscp
- Timestamp:
- 08/13/12 07:26:37 (9 months ago)
- Branches:
- master, 0.4.1, 0.4.2
- Children:
- 2538d72
- Parents:
- 29ff7e1
- Files:
-
- 7 added
- 23 edited
-
CMakeLists.txt (modified) (10 diffs)
-
build.cmake (modified) (1 diff)
-
build/cmake/FindGoogleBreakpad.cmake (modified) (2 diffs)
-
build/cmake/FindGoogleProtoBuf.cmake (modified) (5 diffs)
-
build/cmake/FindLUA.cmake (added)
-
build/cmake/FindPROTOC_GEN_LUA.cmake (added)
-
build/cmake/FindPSDK_2003.cmake (added)
-
build/cmake/FindPSDK_61.cmake (added)
-
build/cmake/FindZeroMQ.cmake (modified) (3 diffs)
-
build/cmake/GoogleProtoBuf.cmake (modified) (1 diff)
-
build/cmake/functions.cmake (modified) (1 diff)
-
build/python/fetchdeps.py (added)
-
build/python/msdev-to-2005.py (added)
-
build/python/msdev-to-static.py (added)
-
include/execute_process_w32.hpp (modified) (1 diff)
-
libs/lua/CMakeLists.txt (modified) (3 diffs)
-
modules/LUAScript/CMakeLists.txt (modified) (1 diff)
-
modules/LUAScript/module.cmake (modified) (1 diff)
-
modules/NRPEClient/CMakeLists.txt (modified) (2 diffs)
-
modules/NRPEClient/NRPEClient.cpp (modified) (1 diff)
-
modules/NRPEServer/CMakeLists.txt (modified) (2 diffs)
-
modules/NRPEServer/NRPEServer.cpp (modified) (1 diff)
-
modules/NRPEServer/handler_impl.hpp (modified) (1 diff)
-
modules/NSCAClient/CMakeLists.txt (modified) (1 diff)
-
modules/NSCPClient/CMakeLists.txt (modified) (2 diffs)
-
modules/NSCPServer/CMakeLists.txt (modified) (2 diffs)
-
modules/NSClientServer/CMakeLists.txt (modified) (2 diffs)
-
service/CMakeLists.txt (modified) (1 diff)
-
service/NSClient++.cpp (modified) (1 diff)
-
version.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
CMakeLists.txt
r3af7590 rca3e815 1 1 cmake_minimum_required(VERSION 2.6) 2 2 3 SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS On) 4 3 PROJECT(NSCP CXX C) 4 5 ############################################################################# 6 # 7 # Setup cmake enviornment and include custom config overrides 8 # 9 ############################################################################# 10 IF(EXISTS ${CMAKE_SOURCE_DIR}/build.cmake) 11 MESSAGE(STATUS "Reading custom variables from: ${CMAKE_SOURCE_DIR}/build.cmake") 12 INCLUDE(${CMAKE_SOURCE_DIR}/build.cmake) 13 ELSEIF(EXISTS ${PROJECT_BINARY_DIR}/build.cmake) 14 MESSAGE(STATUS "Reading custom variables from: ${PROJECT_BINARY_DIR}/build.cmake") 15 INCLUDE(${PROJECT_BINARY_DIR}/build.cmake) 16 ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/build.cmake) 17 SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON) 5 18 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build/cmake;${CMAKE_MODULE_PATH}") 6 7 PROJECT(NSCP CXX C) 8 9 # ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 10 # 11 # Setup section 12 # An option to override this is to set them in the build.cmake file 13 # 14 # ### ### ### ### 15 # Include local build enviornment 16 include(build.cmake) 17 # ### ### ### ### 18 # Generic includes 19 # TODO 20 # ### ### ### ### 21 # NSCP Includes 22 SET(NSCP_LIBRARYDIR "${INC_NSCP_LIBRARYDIR}" CACHE PATH "Generic path to all libraries") 23 SET(NSCP_INCLUDEDIR "${NSCP_SOURCE_DIR}/include" CACHE PATH "Generic include path (for NSCP include files amongst others)") 24 # ### ### ### ### 25 # Boost setup 26 SET(BOOST_INCLUDEDIR "${INC_BOOST_INCLUDEDIR}" CACHE PATH "Path to boost includes") 27 SET(BOOST_LIBRARYDIR "${NSCP_LIBRARYDIR}" CACHE PATH "Path to boost libraries") 28 # ### ### ### ### 29 # Open SSL 30 SET(OPENSSL_INCLUDE_DIR "${INC_OPENSSL_INCLUDEDIR}" CACHE PATH "Path to openssl includes") 31 SET(OPENSSL_LIBRARY_DIR "${NSCP_LIBRARYDIR}" CACHE PATH "Path to openssl libraries") 32 # ### ### ### ### 33 # Google Protocol buffer 34 SET(PROTOBUF_DIR "${INC_PROTOBUF_DIR}" CACHE PATH "Path to google protocol buffer root") 35 IF(WIN32 AND MSVC) 36 SET(PROTOBUF_INCLUDE_DIR "${PROTOBUF_DIR}/src") 37 SET(PROTOBUF_LIBRARYDIR "${INC_PROTOBUF_LIBRARYDIR}") 38 SET(PROTOBUF_LIBRARY_PREFIX "") 39 SET(PROTOBUF_LIBRARY_PREFIX_DEBUG "debug-") 40 SET(PROTOBUF_BINARYDIR "${PROTOBUF_DIR}/vsprojects/debug") 41 ELSE(WIN32 AND MSVC) 42 # TODO 43 ENDIF(WIN32 AND MSVC) 44 SET(PROTOBUF_LIBRARY_SUFFIX "-lite") 45 SET(PROTOBUF_LIBRARY_SUFFIX_DEBUG "-lite") 46 47 48 # ### ### ### ### 49 # Crypto++ 50 SET(CRYPTOPP_DIR "${INC_CRYPTOPP_DIR}" CACHE PATH "Path to crypto++ root folder") 51 # ### ### ### ### 52 # Lua 53 FIND_PATH(LUA_INCLUE_DIR lua.h 54 ${INC_LUA_DIR} 55 ${INC_LUA_DIR}/src 56 ${LUA_DIR} 57 ${LUA_DIR}/src 58 /usr/include/lua 59 /usr/include/lua5.1 60 ) 61 FIND_PROGRAM(PROTOC_GEN_LUA_FOUND 62 NAMES protoc-gen-lua 63 PATHS 64 /usr/local/bin/ 65 /usr/bin/ 66 ) 67 68 IF (LUA_INCLUE_DIR) 69 message(STATUS "Found lua in ${LUA_INCLUE_DIR}") 70 SET(HAVE_LUA TRUE) 71 SET(LUA_SOURCE_DIR ${LUA_INCLUE_DIR}) 72 ELSE (LUA_INCLUE_DIR) 73 message(STATUS "Lua was not found in LUA_INCLUE_DIR=${LUA_INCLUE_DIR}") 74 ENDIF (LUA_INCLUE_DIR) 75 76 # ### ### ### ### 77 # Google breakpad 78 SET(GOOGLE_BREAKPAD_DIR "${INC_GOOGLE_BREAKPAD_DIR}" CACHE PATH "Path to google protocol breakpad root") 79 IF(WIN32 AND MSVC) 80 SET(BREAKPAD_LIBRARY_PREFIX "google-breakpad-") 81 SET(BREAKPAD_LIBRARY_PREFIX_DEBUG "debug-google-breakpad-") 82 SET(BREAKPAD_INCLUDE_DIR "${GOOGLE_BREAKPAD_DIR}/src") 83 ELSE(WIN32 AND MSVC) 84 # TODO 85 ENDIF(WIN32 AND MSVC) 86 87 # ### ### ### ### 88 # Build related paths 19 89 20 SET(BUILD_PYTHON_FOLDER "${CMAKE_SOURCE_DIR}/build/python") 90 21 SET(BUILD_CMAKE_FOLDER "${CMAKE_SOURCE_DIR}/build/cmake") 91 92 SET(MODULE_SUBFOLDER "modules")93 94 22 SET(BUILD_TARGET_EXE_PATH "${PROJECT_BINARY_DIR}") 95 23 SET(BUILD_TARGET_LIB_PATH "${BUILD_TARGET_EXE_PATH}/${MODULE_SUBFOLDER}") 96 24 SET(BUILD_TARGET_INSTLIB_PATH "${BUILD_TARGET_EXE_PATH}/installer-dlls") 97 98 # ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 99 100 if (WIN32) 101 include(${BUILD_CMAKE_FOLDER}/wix.cmake) 102 endif(WIN32) 103 25 SET(MODULE_SUBFOLDER "modules") 26 SET(NSCP_PROJECT_BINARY_DIR ${PROJECT_BINARY_DIR}) 27 28 IF(WIN32) 29 INCLUDE(${BUILD_CMAKE_FOLDER}/wix.cmake) 30 ENDIF(WIN32) 104 31 INCLUDE(${BUILD_CMAKE_FOLDER}/SetMultiThread.cmake) 105 32 INCLUDE(${BUILD_CMAKE_FOLDER}/GoogleProtoBuf.cmake) 106 33 INCLUDE(${BUILD_CMAKE_FOLDER}/functions.cmake) 107 34 108 35 ############################################################################# 36 # 37 # Find all dependencies and report anything missing. 38 # 39 ############################################################################# 40 MESSAGE(STATUS "Looking for dependencies:") 109 41 FIND_PACKAGE(PythonInterpEx) 110 42 FIND_PACKAGE(PythonLibsEx) 111 IF (NOT PYTHONINTERP_FOUND)112 MESSAGE(FATAL_ERROR "Could not find python which is required for building")113 ELSE (NOT PYTHONINTERP_FOUND)114 message(STATUS "Found python in: ${PYTHON_EXECUTABLE}")115 ENDIF (NOT PYTHONINTERP_FOUND)116 IF (PYTHONLIBSEX_FOUND)117 MESSAGE(STATUS "Found python (lib) in: ${PYTHON_LIBRARY}")118 ENDIF (PYTHONLIBSEX_FOUND)119 120 43 FIND_PACKAGE(TINYXML2) 44 FIND_PACKAGE(ZeroMQ) 45 FIND_PACKAGE(CryptoPP) 46 FIND_PACKAGE(LUA) 47 FIND_PACKAGE(PROTOC_GEN_LUA) 48 FIND_PACKAGE(GoogleProtoBuf) 49 FIND_PACKAGE(GoogleBreakpad COMPONENTS common exception_handler crash_report_sender crash_generation_client) 50 FIND_PACKAGE(OpenSSL) 51 FIND_PACKAGE(Boost COMPONENTS system filesystem thread regex date_time program_options python) 52 IF(WIN32) 53 FIND_PACKAGE(PSDK_61) 54 FIND_PACKAGE(PSDK_2003) 55 ELSE(WIN32) 56 FIND_PACKAGE(Threads REQUIRED) 57 # FIND_PACKAGE(ICU REQUIRED) 58 ENDIF(WIN32) 59 MESSAGE(STATUS "Found dependencies:") 60 IF(PYTHONINTERP_FOUND) 61 MESSAGE(STATUS " - python(exe) found: ${PYTHON_EXECUTABLE}") 62 ELSE(PYTHONINTERP_FOUND) 63 MESSAGE(STATUS " ! python(exe) not found: TODO") 64 ENDIF(PYTHONINTERP_FOUND) 65 IF(PYTHONLIBSEX_FOUND) 66 MESSAGE(STATUS " - python(lib) found: ${PYTHON_LIBRARY}") 67 ELSE(PYTHONLIBSEX_FOUND) 68 MESSAGE(STATUS " ! python(lib) not found: TODO") 69 ENDIF(PYTHONLIBSEX_FOUND) 121 70 IF (TINYXML2_FOUND) 122 MESSAGE(STATUS " Found tinyxml2 in: ${TINYXML2_INCLUDE_DIR}")71 MESSAGE(STATUS " - tinyXML found: ${TINYXML2_INCLUDE_DIR}") 123 72 ELSE(TINYXML2_FOUND) 124 MESSAGE(STATUS " Tinyxml was not found: NRDP will not be built!")73 MESSAGE(STATUS " ! tinyXML not found: TODO") 125 74 ENDIF(TINYXML2_FOUND) 126 127 FIND_PACKAGE(ZeroMQ)128 75 IF (ZEROMQ_FOUND) 129 MESSAGE(STATUS "Found zeromq (lib) in: ${ZEROMQ_LIBRARY}") 76 MESSAGE(STATUS " - zeroMQ found in: ZEROMQ_LIBRARY=${ZEROMQ_LIBRARY}") 77 ELSE(ZEROMQ_FOUND) 78 MESSAGE(STATUS " ! zeroMQ not found: ZEROMQ_ROOT=${ZEROMQ_ROOT}") 130 79 ENDIF (ZEROMQ_FOUND) 131 132 FIND_PACKAGE(CryptoPP) 133 IF (CRYPTOPP_FOUND) 80 IF(CRYPTOPP_FOUND) 134 81 IF(CRYPTOPP_IS_LIB) 135 MESSAGE(STATUS " Found library crypto++in: ${CRYPTOPP_INCLUDE_DIR}")82 MESSAGE(STATUS " - crypto++(lib) found in: ${CRYPTOPP_INCLUDE_DIR}") 136 83 ELSE(CRYPTOPP_IS_LIB) 137 MESSAGE(STATUS " Found sources crypto++in: ${CRYPTOPP_INCLUDE_DIR} (will build library)")84 MESSAGE(STATUS " - crypto++(source) found in: ${CRYPTOPP_INCLUDE_DIR} (will build library)") 138 85 ENDIF(CRYPTOPP_IS_LIB) 139 ENDIF (CRYPTOPP_FOUND) 140 141 FIND_PACKAGE(GoogleProtoBuf) 142 if(PROTOBUF_FOUND) 143 message(STATUS "Found proto in: ${PROTOBUF_INCLUDE_DIR} / ${PROTOBUF_LIBRARY} (${PROTOBUF_PROTOC_EXECUTABLE})") 144 INCLUDE_DIRECTORIES("${PROTOBUF_INCLUDE_DIR}") 145 IF(PROTOC_GEN_LUA_FOUND) 146 message(STATUS "Found lua protocol buffers (ie. advanced script support)") 147 ENDIF(PROTOC_GEN_LUA_FOUND) 148 else(PROTOBUF_FOUND) 149 message(FATAL_ERROR "Protocol buffers NOT found (${PROTOBUF_LIBRARYDIR})") 150 endif(PROTOBUF_FOUND) 151 86 ELSE(CRYPTOPP_FOUND) 87 MESSAGE(STATUS " ! crypto++ not found: TODO") 88 ENDIF(CRYPTOPP_FOUND) 89 IF (LUA_FOUND) 90 MESSAGE(STATUS " - lua found in ${LUA_INCLUE_DIR}") 91 ELSE(LUA_FOUND) 92 MESSAGE(STATUS " ! lua not found: LUA_INCLUE_DIR=${LUA_INCLUE_DIR}") 93 ENDIF(LUA_FOUND) 94 IF(PROTOC_GEN_LUA_FOUND) 95 MESSAGE(STATUS " - lua.protocol_buffers found in: ${PROTOC_GEN_LUA_BIN}") 96 ELSE(PROTOC_GEN_LUA_FOUND) 97 MESSAGE(STATUS " ! lua.protocol_buffers not found: PROTOC_GEN_LUA=${PROTOC_GEN_LUA_BIN}") 98 ENDIF(PROTOC_GEN_LUA_FOUND) 99 IF(PROTOBUF_FOUND) 100 MESSAGE(STATUS " - protocol buffers found in: ${PROTOBUF_INCLUDE_DIR} (${PROTOBUF_PROTOC_EXECUTABLE})") 101 ELSE(PROTOBUF_FOUND) 102 MESSAGE(STATUS " ! protocol buffers not foun: PROTOBUF_ROOT=${PROTOBUF_ROOT}") 103 ENDIF(PROTOBUF_FOUND) 104 IF(BREAKPAD_FOUND) 105 MESSAGE(STATUS " - google breakpad found in: ${BREAKPAD_INCLUDE_DIR}") 106 ELSE(BREAKPAD_FOUND) 107 MESSAGE(STATUS " ! google breakpad not found: TODO=${BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR}") 108 ENDIF(BREAKPAD_FOUND) 109 IF(OPENSSL_FOUND) 110 MESSAGE(STATUS " - OpenSSL found in: ${OPENSSL_INCLUDE_DIR}") 111 ELSE(OPENSSL_FOUND) 112 MESSAGE(STATUS " ! OpenSSL not found TODO=${OPENSSL_INCLUDE_DIR}") 113 ENDIF(OPENSSL_FOUND) 114 IF(Boost_FOUND) 115 MESSAGE(STATUS " - boost found in: ${Boost_INCLUDE_DIRS} / ${Boost_LIBRARY_DIRS}") 116 ELSE(Boost_FOUND) 117 MESSAGE(STATUS " ! boost not found: BOOST_ROOT=${BOOST_ROOT} -- ${Boost_ERROR_REASON}") 118 ENDIF(Boost_FOUND) 119 IF(WIN32) 120 IF(PSDK_61_FOUND) 121 MESSAGE(STATUS " - plattform sdk(6.1) found in: ${PSDK_61_INCLUDE_DIRS} (${PSDK_61_LIBRARY_DIRS})") 122 ELSE(PSDK_61_FOUND) 123 MESSAGE(STATUS " ! plattform sdk(6.1) not found: TODO=${PSDK_61_INCLUDE_DIRS}") 124 ENDIF(PSDK_61_FOUND) 125 IF(PSDK_61_FOUND) 126 MESSAGE(STATUS " - plattform sdk(2003) found in: ${PSDK_2003_INCLUDE_DIRS} (${PSDK_2003_LIBRARY_DIRS})") 127 ELSE(PSDK_61_FOUND) 128 MESSAGE(STATUS " ! plattform sdk(2003) not found: TODO=${PSDK_2003_INCLUDE_DIRS}") 129 ENDIF(PSDK_61_FOUND) 130 ENDIF(WIN32) 131 IF(NOT WIN32) 132 IF(CMAKE_USE_PTHREADS_INIT) 133 MESSAGE(STATUS " - POSIX threads found: TODO") 134 ELSE(CMAKE_USE_PTHREADS_INIT) 135 MESSAGE(STATUS " ! POSIX threads not found: TODO") 136 ENDIF(CMAKE_USE_PTHREADS_INIT) 137 # IF(NOT ICU_FOUND) 138 # MESSAGE(STATUS "ICU package not found.") 139 # ELSE(NOT ICU_FOUND) 140 # ADD_DEFINITIONS( -DSI_CONVERT_ICU ) 141 # ENDIF(NOT ICU_FOUND) 142 ENDIF(NOT WIN32) 143 144 145 ############################################################################# 146 # 147 # Validate all required dependencies and terminate on failures. 148 # 149 ############################################################################# 150 MESSAGE(STATUS "Validating required dependencies:") 151 SET(HAVE_REQUIRED_DEPENDENCIES TRUE) 152 IF(NOT PYTHONINTERP_FOUND) 153 SET(HAVE_REQUIRED_DEPENDENCIES FALSE) 154 MESSAGE(WARNING " - python(exe) not found! (Required by the build process)") 155 ENDIF(NOT PYTHONINTERP_FOUND) 156 IF(NOT PROTOBUF_FOUND) 157 SET(HAVE_REQUIRED_DEPENDENCIES FALSE) 158 MESSAGE(WARNING " - protocol buffers not found! XXX=${PROTOBUF_LIBRARYDIR}! (Required by nsclient++)") 159 ENDIF(NOT PROTOBUF_FOUND) 160 IF(NOT Boost_FOUND) 161 SET(HAVE_REQUIRED_DEPENDENCIES FALSE) 162 MESSAGE(WARNING " - boost libraries was not found: ${Boost_ERROR_REASON} (Required by nsclient++)") 163 ENDIF(NOT Boost_FOUND) 164 IF(NOT WIN32) 165 IF(NOT CMAKE_USE_PTHREADS_INIT) 166 SET(HAVE_REQUIRED_DEPENDENCIES FALSE) 167 MESSAGE(WARNING " - Could not find POSIX threads") 168 ENDIF(NOT CMAKE_USE_PTHREADS_INIT) 169 ENDIF(NOT WIN32) 170 171 IF(NOT HAVE_REQUIRED_DEPENDENCIES) 172 MESSAGE(FATAL_ERROR " - missing required dependencies found!") 173 ELSE(NOT HAVE_REQUIRED_DEPENDENCIES) 174 MESSAGE(STATUS " - All required dependecies found! (some modules and features migh stil be missing though)") 175 ENDIF(NOT HAVE_REQUIRED_DEPENDENCIES) 176 177 ############################################################################# 178 # 179 # Bump version number (if requested) and set up variables with current version 180 # 181 ############################################################################# 152 182 SET(VERSION_TXT ${CMAKE_CURRENT_SOURCE_DIR}/version.txt) 153 183 IF("${INCREASE_BUILD}" STREQUAL "1") … … 190 220 ENDIF(WIN32) 191 221 192 193 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "NSClient++") 194 SET(CPACK_PACKAGE_VENDOR "nsclient.org") 195 #SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/docs/readme.txt") 196 #SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt") 197 198 SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_SERIES}.${VERSION_MAJOR}") 199 SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) 200 SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_BUILD}) 201 202 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") 203 IF(WIN32 AND NOT UNIX) 204 SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0) 205 SET(CPACK_GENERATOR ZIP) 206 ELSE(WIN32 AND NOT UNIX) 207 SET(CPACK_STRIP_FILES "bin/MyExecutable") 208 SET(CPACK_SOURCE_STRIP_FILES "") 209 SET(CPACK_PACKAGE_EXECUTABLES "nscp") 210 ENDIF(WIN32 AND NOT UNIX) 211 INCLUDE(CPack) 212 213 214 222 ############################################################################# 223 # 224 # Setup c/C++ build enviornment and flags 225 # 226 ############################################################################# 227 SET(NSCP_INCLUDEDIR ${CMAKE_SOURCE_DIR}/include) 215 228 INCLUDE_DIRECTORIES(${NSCP_INCLUDEDIR} ${CMAKE_CURRENT_BINARY_DIR}/libs) 216 229 SET(CMAKE_LIBRARY_PATH "${CMAKE_LIBRARY_PATH};${OPENSSL_LIBRARY_DIR};${NSCP_LIBRARYDIR};${BOOST_LIBRARYDIR}") 230 231 # This is used to disable "automatic linking on windows which seems to break since I dont know how to set link dir 232 SET(NSCP_GLOBAL_DEFINES ${NSCP_GLOBAL_DEFINES} -DBOOST_ALL_NO_LIB) 217 233 218 234 SET_MULTITHREAD() … … 238 254 ENDIF(NOT SHARED_LIBS) 239 255 240 IF(NOT SHARED_LIBS) 241 SET(NSCP_STATIC true) 242 ENDIF(NOT SHARED_LIBS) 243 244 IF(NOT MULTI_THREADED) 245 OPTION(MULTI_THREADED "Build multi-threaded httpd deamon (if possible)" ON) 246 ENDIF(NOT MULTI_THREADED) 247 256 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) 257 INCLUDE_DIRECTORIES("${PROTOBUF_INCLUDE_DIR}") 258 INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}") 259 add_definitions(-DUNICODE -D_UNICODE) 248 260 249 261 IF(WIN32) … … 259 271 ENDIF(WIN32) 260 272 261 FIND_PACKAGE(GoogleBreakpad COMPONENTS common exception_handler crash_report_sender crash_generation_client) 262 if(BREAKPAD_FOUND) 263 MESSAGE(STATUS "Found google breakpad") 264 SET(NSCP_GLOBAL_DEFINES ${NSCP_GLOBAL_DEFINES} -DUSE_BREAK_PAD) 265 INCLUDE_DIRECTORIES("${BREAKPAD_INCLUDE_DIR}") 266 else(BREAKPAD_FOUND) 267 MESSAGE(WARNING "Breakpad was not found in: ${BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR}/${BREAKPAD_EXCEPTION_HANDLER_LIBRARIES}") 268 endif(BREAKPAD_FOUND) 269 270 FIND_PACKAGE(OpenSSL) 271 if(OPENSSL_FOUND) 272 MESSAGE(STATUS "Found OpenSSL: ${OPENSSL_INCLUDE_DIR}") 273 else(OPENSSL_FOUND) 274 MESSAGE(WARNING " OpenSSL NOT found (no ssl support, ${OPENSSL_INCLUDE_DIR})") 275 endif(OPENSSL_FOUND) 276 277 FIND_PACKAGE(Boost COMPONENTS system filesystem thread regex date_time program_options python REQUIRED) 278 if(Boost_FOUND) 279 MESSAGE(STATUS "Found boost in: ${Boost_INCLUDE_DIRS} / ${Boost_LIBRARY_DIRS}") 280 # Boost is used nearly everywhere, so we can put these here 281 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) 282 #LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) 283 IF(WIN32) 284 #IF(BOOST_DYNAMIC) 285 #ADD_DEFINITIONS(-DBOOST_ALL_DYN_LINK) 286 #ENDIF(BOOST_DYNAMIC) 287 SET(EXTRA_LIBS ${EXTRA_LIBS} Userenv ole32) 288 ENDIF(WIN32) 289 else(Boost_FOUND) 290 MESSAGE(FATAL_ERROR "boost NOT fround: ${Boost_ERROR_REASON}") 291 endif(Boost_FOUND) 292 293 IF(WIN32) 294 FIND_PATH(PSDK_61_INCLUDE_DIRS Windows.h 295 PATHS 296 ${INC_PSDK_61} 297 ${INC_PSDK_61}/include 298 "C:/Program Files/Microsoft SDKs/Windows/v6.1/include" 299 NO_DEFAULT_PATH 300 ) 301 FIND_PATH(PSDK_2003_INCLUDE_DIRS Windows.h 302 PATHS 303 ${INC_PSDK_2003} 304 ${INC_PSDK_2003}/include 305 "C:/Program Files/Microsoft Platform SDK/include" 306 "C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/include" 307 NO_DEFAULT_PATH 308 ) 309 310 if(CMAKE_CL_64) 311 FIND_PATH(PSDK_61_LIBRARY_DIRS WSock32.Lib 312 PATHS 313 ${INC_PSDK_61}/lib/x64 314 "C:/Program Files/Microsoft SDKs/Windows/v6.1/lib/x64" 315 ) 316 FIND_PATH(PSDK_2003_LIBRARY_DIRS WSock32.Lib 317 PATHS 318 ${INC_PSDK_2003}/lib/AMD64 319 "C:/Program Files/Microsoft Platform SDK/lib/AMD64" 320 "C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/lib/AMD64" 321 ) 322 else(CMAKE_CL_64) 323 FIND_PATH(PSDK_61_LIBRARY_DIRS WS2_32.Lib 324 PATHS 325 ${INC_PSDK_61}/lib 326 "C:/Program Files/Microsoft SDKs/Windows/v6.1/lib" 327 ) 328 FIND_PATH(PSDK_2003_LIBRARY_DIRS WS2_32.Lib 329 PATHS 330 ${INC_PSDK_2003}/lib 331 "C:/Program Files/Microsoft Platform SDK/lib" 332 "C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/lib" 333 ) 334 endif(CMAKE_CL_64) 335 if(PSDK_61_INCLUDE_DIRS AND PSDK_61_LIBRARY_DIRS) 336 SET(PSDK_61_FOUND TRUE) 337 message(STATUS "Found PSDK 6.1: ${PSDK_61_INCLUDE_DIRS} (${PSDK_61_LIBRARY_DIRS}) <${INC_PSDK_61}>") 338 else() 339 SET(PSDK_61_FOUND FALSE) 340 message(STATUS "PSDK 6.1 NOT FOUND: ${PSDK_61_INCLUDE_DIRS} (${PSDK_61_LIBRARY_DIRS})") 341 endif() 342 if(PSDK_2003_INCLUDE_DIRS AND PSDK_2003_LIBRARY_DIRS) 343 SET(PSDK_2003_FOUND TRUE) 344 message(STATUS "Found PSDK 2003: ${PSDK_2003_INCLUDE_DIRS} (${PSDK_2003_LIBRARY_DIRS})") 345 else() 346 SET(PSDK_2003_FOUND FALSE) 347 message(STATUS "PSDK 2003 NOT FOUND: ${PSDK_2003_INCLUDE_DIRS} (${PSDK_2003_LIBRARY_DIRS})") 348 endif() 349 endif(WIN32) 350 351 #IF(NOT WIN32) 352 # FIND_PACKAGE(ICU REQUIRED) 353 # IF(NOT ICU_FOUND) 354 # MESSAGE(FATAL_ERROR "ICU package not found..") 355 # ELSE(NOT ICU_FOUND) 356 # ADD_DEFINITIONS( -DSI_CONVERT_ICU ) 357 # ENDIF(NOT ICU_FOUND) 358 #ENDIF(NOT WIN32) 359 360 IF(NOT WIN32) 361 FIND_PACKAGE(Threads REQUIRED) 362 IF (NOT CMAKE_USE_PTHREADS_INIT) 363 message(FATAL_ERROR "Could not find POSIX threads") 364 ELSE (NOT CMAKE_USE_PTHREADS_INIT) 365 #add_definitions(-D_REENTRANT) 366 ENDIF (NOT CMAKE_USE_PTHREADS_INIT) 367 FIND_PACKAGE(Threads REQUIRED) 368 ENDIF(NOT WIN32) 273 IF(CMAKE_COMPILER_IS_GNUCXX) 274 IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" AND NOT APPLE) 275 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fPIC" ) 276 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fPIC" ) 277 ENDIF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" AND NOT APPLE) 278 ENDIF(CMAKE_COMPILER_IS_GNUCXX) 369 279 370 280 SET(NSCP_GLOBAL_DEFINES ${NSCP_GLOBAL_DEFINES} -DBOOST_FILESYSTEM_VERSION=2) 371 281 SET(NSCP_GLOBAL_DEFINES ${NSCP_GLOBAL_DEFINES} -DUNICODE -D_UNICODE) 372 # TODO: Fix this issue! (crypto++ and masm)373 282 IF (WIN32) 374 SET(NSCP_GLOBAL_DEFINES ${NSCP_GLOBAL_DEFINES} -D CRYPTOPP_DISABLE_ASM -D_CRT_SECURE_NO_WARNINGS -D_WIN32_WINNT=0x0403)283 SET(NSCP_GLOBAL_DEFINES ${NSCP_GLOBAL_DEFINES} -D_CRT_SECURE_NO_WARNINGS -D_WIN32_WINNT=0x0403) 375 284 ENDIF (WIN32) 376 285 286 IF(WIN32) 287 SET(EXTRA_LIBS ${EXTRA_LIBS} Userenv ole32) 288 ENDIF(WIN32) 377 289 378 290 IF(CMAKE_HOST_UNIX) … … 386 298 387 299 IF(NOT CMAKE_BUILD_TYPE) 388 SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING 389 "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." 390 FORCE) 300 SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) 391 301 ENDIF(NOT CMAKE_BUILD_TYPE) 392 302 303 LINK_DIRECTORIES(${CMAKE_LIBRARY_PATH} ${OPENSSL_LIBRARY_DIR} ${NSCP_LIBRARYDIR} ${BOOST_LIBRARYDIR}) 304 305 # Compile time constants & make sure our build finds it 306 CONFIGURE_FILE( 307 ${NSCP_INCLUDEDIR}/config.h.in 308 ${NSCP_INCLUDEDIR}/config.h 309 @ONLY 310 ) 311 CONFIGURE_FILE( 312 ${BUILD_PYTHON_FOLDER}/postbuild.py 313 ${BUILD_TARGET_EXE_PATH}/postbuild.py 314 ) 315 CONFIGURE_FILE( 316 ${BUILD_PYTHON_FOLDER}/config.py 317 ${BUILD_TARGET_EXE_PATH}/config.py 318 ) 319 320 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) 321 INCLUDE_DIRECTORIES(${NSCP_LOCAL_INCLUDE_PATH}) 322 INSTALL_FILES(/include FILES ${WCONFIG_H_PATH}) 323 324 ############################################################################# 325 # 326 # Build all included and required libraries 327 # 328 ############################################################################# 329 330 SET(ALL_LIB_NAMES) 331 MESSAGE(STATUS "Adding libraries") 332 FILE(GLOB ALL_LIB_PROJECTS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "libs/*/CMakeLists.txt") 333 FOREACH(CURRENT_LIB ${ALL_LIB_PROJECTS}) 334 GET_FILENAME_COMPONENT(CURRENT_LIB_PATH ${CURRENT_LIB} PATH) 335 GET_FILENAME_COMPONENT(CURRENT_LIB_NAME ${CURRENT_LIB_PATH} NAME) 336 MESSAGE(STATUS " + Library: ${CURRENT_LIB_PATH} (${CURRENT_LIB_NAME})") 337 ADD_SUBDIRECTORY("${CURRENT_LIB_PATH}") 338 SET(ALL_LIB_NAMES ${ALL_LIB_NAMES} ${CURRENT_LIB_NAME}) 339 ENDFOREACH(CURRENT_LIB ${ALL_LIB_PROJECTS}) 340 ADD_SUBDIRECTORY("helpers/settings_manager") 341 ADD_SUBDIRECTORY("helpers/where_filter") 342 343 ############################################################################# 344 # 345 # Construct the bases for plugins 346 # 347 ############################################################################# 348 393 349 SET(NSCP_DEF_PLUGIN_CPP) 394 395 350 SET(NSCP_DEF_PLUGIN_HPP 396 351 ${NSCP_INCLUDEDIR}/utf8.hpp … … 403 358 ) 404 359 405 SET(NSCP_FILTER_CPP 406 ) 407 360 SET(NSCP_FILTER_CPP) 408 361 SET(NSCP_FILTER_HPP 409 362 ${NSCP_INCLUDEDIR}/parsers/where.hpp … … 425 378 ) 426 379 427 message(STATUS "NSCP PLUGIN LIB: ${NSCP_DEF_PLUGIN_LIB}") 428 message(STATUS "NSCP PLUGIN CPP: ${NSCP_DEF_PLUGIN_CPP}") 429 430 LINK_DIRECTORIES(${CMAKE_LIBRARY_PATH} ${OPENSSL_LIBRARY_DIR} ${NSCP_LIBRARYDIR} ${BOOST_LIBRARYDIR}) 431 432 SET(ALL_LIB_NAMES) 433 message(STATUS "Adding libraries") 434 FILE(GLOB ALL_LIB_PROJECTS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "libs/*/CMakeLists.txt") 435 foreach(CURRENT_LIB ${ALL_LIB_PROJECTS}) 436 get_filename_component(CURRENT_LIB_PATH ${CURRENT_LIB} PATH) 437 get_filename_component(CURRENT_LIB_NAME ${CURRENT_LIB_PATH} NAME) 438 message(STATUS " + Library: ${CURRENT_LIB_PATH} (${CURRENT_LIB_NAME})") 439 ADD_SUBDIRECTORY("${CURRENT_LIB_PATH}") 440 SET(ALL_LIB_NAMES ${ALL_LIB_NAMES} ${CURRENT_LIB_NAME}) 441 endforeach(CURRENT_LIB ${ALL_LIB_PROJECTS}) 442 443 # Compile time constants & make sure our build finds it 444 CONFIGURE_FILE( 445 ${NSCP_INCLUDEDIR}/config.h.in 446 ${NSCP_INCLUDEDIR}/config.h 447 @ONLY 448 ) 449 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) 450 INCLUDE_DIRECTORIES(${NSCP_LOCAL_INCLUDE_PATH}) 451 INSTALL_FILES(/include FILES ${WCONFIG_H_PATH}) 452 453 add_definitions(-DUNICODE -D_UNICODE) 454 455 include_directories("${PROJECT_BINARY_DIR}") 456 457 MESSAGE(STATUS "Build path: ${PROJECT_BINARY_DIR}") 458 SET(NSCP_PROJECT_BINARY_DIR ${PROJECT_BINARY_DIR}) 459 ADD_SUBDIRECTORY("helpers/settings_manager") 460 ADD_SUBDIRECTORY("helpers/where_filter") 380 ############################################################################# 381 # 382 # Build everything (not already built lik libraries)! 383 # 384 ############################################################################# 385 386 SET(MAIN_NSCP_TARGET "nscp") 387 461 388 ADD_SUBDIRECTORY("service") 462 SET(MAIN_NSCP_TARGET "nscp")463 MESSAGE(STATUS "NSCP Target: ${MAIN_NSCP_TARGET}")464 465 389 ADD_SUBDIRECTORY("scripts") 466 390 ADD_SUBDIRECTORY("files") … … 470 394 LOAD_SECTIONS(ALL_TOOL_NAMES "tools/*/module.cmake" "Tools") 471 395 LOAD_SECTIONS(ALL_INSTALLERS_DLLS_NAMES "helpers/installer-dlls/*/module.cmake" "Installer DLLs") 472 473 LOAD_SECTIONS(ALL_INSTALLERS_NAMES "helpers/installers/*/module.cmake" "Installers")474 396 IF(WIN32) 397 LOAD_SECTIONS(ALL_INSTALLERS_NAMES "helpers/installers/*/module.cmake" "Installers") 398 ENDIF(WIN32) 475 399 SET_TARGET_PROPERTIES(${MAIN_NSCP_TARGET} ${ALL_MODULE_NAMES} ${ALL_TOOL_NAMES} PROPERTIES 476 400 RUNTIME_OUTPUT_DIRECTORY "${BUILD_TARGET_EXE_PATH}" … … 487 411 ) 488 412 489 if(MSVC_IDE)413 IF(MSVC_IDE) 490 414 # hack to get around the "Debug" and "Release" directories cmake tries to add on Windows 491 set_target_properties(${MAIN_NSCP_TARGET} ${ALL_MODULE_NAMES} ${ALL_TOOL_NAMES} ${ALL_INSTALLERS_DLLS_NAMES} PROPERTIES PREFIX "../") 492 endif() 493 494 IF(CMAKE_COMPILER_IS_GNUCXX) 495 IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" AND NOT APPLE) 496 SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fPIC" ) 497 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fPIC" ) 498 ENDIF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" AND NOT APPLE) 499 ENDIF(CMAKE_COMPILER_IS_GNUCXX) 500 501 CONFIGURE_FILE( 502 ${BUILD_PYTHON_FOLDER}/postbuild.py 503 ${BUILD_TARGET_EXE_PATH}/postbuild.py 504 ) 505 CONFIGURE_FILE( 506 ${BUILD_PYTHON_FOLDER}/config.py 507 ${BUILD_TARGET_EXE_PATH}/config.py 508 ) 415 SET_TARGET_PROPERTIES(${MAIN_NSCP_TARGET} ${ALL_MODULE_NAMES} ${ALL_TOOL_NAMES} ${ALL_INSTALLERS_DLLS_NAMES} PROPERTIES PREFIX "../") 416 ENDIF(MSVC_IDE) 509 417 510 418 ENABLE_TESTING() 511 419 420 ############################################################################# 421 # 422 # CTest setup and add testcases 423 # 424 ############################################################################# 512 425 add_nscp_py_test(nsca test_nsca) 513 426 add_nscp_py_test(nrpe test_nrpe) … … 517 430 add_nscp_py_test(w32_system test_w32_system) 518 431 ENDIF(WIN32) 432 433 ############################################################################# 434 # 435 # CPacke setup (currently not used) 436 # 437 ############################################################################# 438 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "NSClient++") 439 SET(CPACK_PACKAGE_VENDOR "nsclient.org") 440 #SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/docs/readme.txt") 441 #SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt") 442 443 SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_SERIES}.${VERSION_MAJOR}") 444 SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) 445 SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_BUILD}) 446 447 SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") 448 IF(WIN32 AND NOT UNIX) 449 SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0) 450 SET(CPACK_GENERATOR ZIP) 451 ELSE(WIN32 AND NOT UNIX) 452 SET(CPACK_STRIP_FILES "bin/MyExecutable") 453 SET(CPACK_SOURCE_STRIP_FILES "") 454 SET(CPACK_PACKAGE_EXECUTABLES "nscp") 455 ENDIF(WIN32 AND NOT UNIX) 456 INCLUDE(CPack) 457 -
build.cmake
r53be5c8 rca3e815 1 1 IF(WIN32) 2 if(CMAKE_CL_64) 3 SET(LIBRARY_ROOT_FOLDER "d:/source/x64") 4 ELSE(CMAKE_CL_64) 5 SET(LIBRARY_ROOT_FOLDER "d:/source/w32") 6 ENDIF(CMAKE_CL_64) 7 8 # Setup boost 2 9 set(Boost_USE_STATIC_LIBS ON) 3 10 set(Boost_USE_STATIC_RUNTIME ON) 4 11 set(BOOST_USE_MULTITHREADED ON) 5 SET(NSCP_GLOBAL_DEFINES ${NSCP_GLOBAL_DEFINES} -DBOOST_ALL_NO_LIB) # THis is used to disable "automatic linking on windows which seems to break since I dont know how to set link dir 6 SET(INC_NSCP_INCLUDEDIR D:/source/include) 7 SET(INC_PSDK_61 "C:/Program Files/Microsoft SDKs/Windows/v6.1/") 8 SET(INC_PSDK_2003 "C:/Program Files/Microsoft Platform SDK/") 9 SET(TINYXML2_DIR "D:/source/libraries/tinyxml2") 12 SET(BOOST_ROOT "${LIBRARY_ROOT_FOLDER}/boost_1_49_0") 13 SET(BOOST_LIBRARYDIR "${BOOST_ROOT}/stage/lib") 10 14 15 # Tiny XML 16 SET(TINYXML2_DIR "${LIBRARY_ROOT_FOLDER}/tinyxml2") 17 18 # Python (python requires two installations to build bith versions) 11 19 if(CMAKE_CL_64) 12 MESSAGE(STATUS "Detected x64") 13 SET(INC_NSCP_LIBRARYDIR D:/source/lib/x64) 14 SET(PYTHON_ROOT c:/python/27x64) 15 ELSE() 16 MESSAGE(STATUS "Detected w32") 17 SET(INC_NSCP_LIBRARYDIR D:/source/lib/x86) 18 SET(PYTHON_ROOT c:/python/27) 19 ENDIF() 20 SET(PYTHON_ROOT c:/python/27x64) 21 ELSE(CMAKE_CL_64) 22 SET(PYTHON_ROOT c:/python/27) 23 ENDIF(CMAKE_CL_64) 24 25 # Lua protocol buffers 26 SET(PROTOC_GEN_LUA "C:/Python/27x64/Scripts/") 27 28 # Google breakpad 29 SET(GOOGLE_BREAKPAD_DIR "${LIBRARY_ROOT_FOLDER}/google-breakpad-svn") 30 #SET(BREAKPAD_LIBRARY_PREFIX "google-breakpad-") 31 #SET(BREAKPAD_LIBRARY_PREFIX_DEBUG "debug-google-breakpad-") 32 #SET(BREAKPAD_INCLUDE_DIR "${GOOGLE_BREAKPAD_DIR}/src") 33 34 # Google protocol buffers 35 #SET(PROTOBUF_LIBRARY_SUFFIX "-lite") 36 #SET(PROTOBUF_LIBRARY_SUFFIX_DEBUG "-lite") 37 SET(PROTOBUF_ROOT "${LIBRARY_ROOT_FOLDER}/protobuf-2.4.1") 20 38 21 SET(PROTOC_GEN_LUA_CMD "C:/Python/27x64/Scripts/protoc-gen-lua.cmd") 39 # OpenSSL 40 #SET(OPENSSL_ROOT_DIR "${LIBRARY_ROOT_FOLDER}/openssl-1.0.1c") 41 # Due to crappy defaul openssl script we need to set these... 42 SET(OPENSSL_ROOT_DIR "${LIBRARY_ROOT_FOLDER}/openssl-1.0.1c/out32dll") 43 SET(_OPENSSL_INCLUDEDIR "${LIBRARY_ROOT_FOLDER}/openssl-1.0.1c/include") 22 44 23 SET(INC_GOOGLE_BREAKPAD_DIR "D:/source/libraries/google-breakpad-svn") 24 25 SET(INC_BOOST_INCLUDEDIR "D:/source/include/boost-1_47") 26 SET(INC_BOOST_LIBRARYDIR "${INC_NSCP_LIBRARYDIR}") 27 SET(INC_PROTOBUF_LIBRARYDIR "${INC_NSCP_LIBRARYDIR}") 45 # ZeroMQ 46 SET(ZEROMQ_ROOT "${LIBRARY_ROOT_FOLDER}/zeromq-2.2.0") 28 47 29 SET(INC_OPENSSL_INCLUDEDIR "${INC_NSCP_INCLUDEDIR}") 48 # Crypto++ 49 SET(CRYPTOPP_DIR "${LIBRARY_ROOT_FOLDER}/crypto++-5.6.1") 50 51 # Lua 52 SET(LUA_ROOT "${LIBRARY_ROOT_FOLDER}/lua-5.2.1") 53 54 # Archive generated binaries after build? 55 #SET(ARCHIVE_FOLDER "D:/archive") 30 56 31 SET(ZEROMQ_INCLUDE_DIR "D:/source/libraries/zeromq-2.1.9/include") 32 33 SET(INC_PROTOBUF_DIR "D:/source/libraries/protobuf-2.4.0a") 34 35 SET(INC_CRYPTOPP_DIR "D:/source/libraries/crypto++-5.6.1") 36 37 SET(INC_LUA_DIR "D:/source/libraries/lua-5.1.4") 38 39 SET(ARCHIVE_FOLDER "D:/archive") 40 41 SET(TARGET_SITE "nscp@nsclient.org:/var/nsclient/www/files/nightly/;op5=mickem@home.medin.name:/home/nscp-dist/op5/nscp/;opsera=mickem@home.medin.name:/home/nscp-dist/opsera/nscp/") 57 # Upload generated binaries after build? 58 #SET(TARGET_SITE "nscp@nsclient.org:/var/nsclient/www/files/nightly/;op5=mickem@home.medin.name:/home/nscp-dist/op5/nscp/;opsera=mickem@home.medin.name:/home/nscp-dist/opsera/nscp/") 42 59 43 60 ELSE(WIN32) 44 61 45 SET(INC_OPENSSL_INCLUDEDIR "/usr/include/")46 SET(PROTOBUF_INCLUDE_DIR "/usr/include/")47 48 62 ENDIF(WIN32) 49 63 -
build/cmake/FindGoogleBreakpad.cmake
r53be5c8 rca3e815 28 28 ENDIF(NOT BREAKPAD_LIBRARY_SUFFIX_DEBUG) 29 29 30 MESSAGE(STATUS "Breakpad config: ${BREAKPAD_LIBRARY_PREFIX}...${BREAKPAD_LIBRARY_SUFFIX}, ${BREAKPAD_LIBRARY_PREFIX_DEBUG}...${BREAKPAD_LIBRARY_SUFFIX_DEBUG}" ) 31 SET(BREAKPAD_FOUND TRUE) 32 FOREACH(COMPONENT ${GoogleBreakpad_FIND_COMPONENTS}) 33 string(TOUPPER ${COMPONENT} UPPERCOMPONENT) 34 FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE 35 NAMES ${BREAKPAD_LIBRARY_PREFIX}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX}) 36 FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG 37 NAMES ${BREAKPAD_LIBRARY_PREFIX_DEBUG}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX_DEBUG}) 38 IF(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG) 39 SET(BREAKPAD_${UPPERCOMPONENT}_FOUND TRUE) 40 SET(BREAKPAD_${UPPERCOMPONENT}_LIBRARY optimized ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE} debug ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG}) 41 set(BREAKPAD_${UPPERCOMPONENT}_LIBRARY ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY} CACHE FILEPATH "The breakpad ${UPPERCOMPONENT} library") 42 ELSE(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG) 43 SET(BREAKPAD_FOUND FALSE) 44 SET(BREAKPAD_${UPPERCOMPONENT}_FOUND FALSE) 45 SET(BREAKPAD_${UPPERCOMPONENT}_LIBRARY "${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE-NOTFOUND}") 46 ENDIF(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG) 47 ENDFOREACH(COMPONENT) 30 IF(CMAKE_TRACE) 31 MESSAGE(STATUS "Breakpad config: ${BREAKPAD_LIBRARY_PREFIX}...${BREAKPAD_LIBRARY_SUFFIX}, ${BREAKPAD_LIBRARY_PREFIX_DEBUG}...${BREAKPAD_LIBRARY_SUFFIX_DEBUG}" ) 32 ENDIF(CMAKE_TRACE) 33 IF(BREAKPAD_INCLUDE_DIR) 34 SET(BREAKPAD_FOUND TRUE) 35 FOREACH(COMPONENT ${GoogleBreakpad_FIND_COMPONENTS}) 36 string(TOUPPER ${COMPONENT} UPPERCOMPONENT) 37 FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE 38 NAMES ${BREAKPAD_LIBRARY_PREFIX}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX}) 39 FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG 40 NAMES ${BREAKPAD_LIBRARY_PREFIX_DEBUG}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX_DEBUG}) 41 IF(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG) 42 SET(BREAKPAD_${UPPERCOMPONENT}_FOUND TRUE) 43 SET(BREAKPAD_${UPPERCOMPONENT}_LIBRARY optimized ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE} debug ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG}) 44 set(BREAKPAD_${UPPERCOMPONENT}_LIBRARY ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY} CACHE FILEPATH "The breakpad ${UPPERCOMPONENT} library") 45 ELSE(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG) 46 SET(BREAKPAD_FOUND FALSE) 47 SET(BREAKPAD_${UPPERCOMPONENT}_FOUND FALSE) 48 SET(BREAKPAD_${UPPERCOMPONENT}_LIBRARY "${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE-NOTFOUND}") 49 ENDIF(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG) 50 ENDFOREACH(COMPONENT) 51 ENDIF(BREAKPAD_INCLUDE_DIR) 48 52 IF(BREAKPAD_FOUND) 49 MESSAGE(STATUS "Looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries" ) 53 IF(CMAKE_TRACE) 54 MESSAGE(STATUS "Looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries" ) 55 ENDIF(CMAKE_TRACE) 50 56 FIND_PROGRAM(BREAKPAD_DUMPSYMS_EXE 51 57 dump_syms.exe NAMES dump_syms dumpsyms 52 58 PATHS ENV PATH ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries 53 59 ) 54 MESSAGE(STATUS "Looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries: ${BREAKPAD_DUMPSYMS_EXE}" ) 60 IF(CMAKE_TRACE) 61 MESSAGE(STATUS "Looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries: ${BREAKPAD_DUMPSYMS_EXE}" ) 62 ENDIF(CMAKE_TRACE) 55 63 IF(BREAKPAD_DUMPSYMS_EXE) 56 64 SET(BREAKPAD_DUMPSYMS_EXE_FOUND TRUE) … … 60 68 ENDIF(BREAKPAD_DUMPSYMS_EXE) 61 69 ELSE(BREAKPAD_FOUND) 62 MESSAGE("NOT looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries" ) 70 IF(CMAKE_TRACE) 71 MESSAGE("NOT looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries" ) 72 ENDIF(CMAKE_TRACE) 63 73 ENDIF(BREAKPAD_FOUND) -
build/cmake/FindGoogleProtoBuf.cmake
r53be5c8 rca3e815 26 26 SET(PROTOBUF_FOUND TRUE) 27 27 ELSE (PROTOBUF_LIBRARY AND PROTOBUF_INCLUDE_DIR AND PROTOBUF_PROTOC_EXECUTABLE) 28 FIND_PATH(PROTOBUF_INCLUDE_DIR stubs/common.h 29 /usr/include/google/protobuf 28 FIND_PATH(PROTOBUF_INCLUDE_DIR 29 stubs/common.h 30 google/protobuf/package_info.h 31 PATHS 32 /usr/include/google/protobuf 33 ${PROTOBUF_ROOT} 34 ${PROTOBUF_ROOT}/src 30 35 ) 31 36 … … 36 41 ${PROTOBUF_LIBRARYDIR_RELEASE} 37 42 ${PROTOBUF_LIBRARYDIR} 43 ${PROTOBUF_ROOT}/vsprojects/Release 38 44 ) 39 45 FIND_LIBRARY(PROTOBUF_LIBRARY_DEBUG … … 43 49 ${PROTOBUF_LIBRARYDIR_DEBUG} 44 50 ${PROTOBUF_LIBRARYDIR} 51 ${PROTOBUF_ROOT}/vsprojects/Debug 45 52 ) 46 53 SET(PROTOBUF_LIBRARY … … 51 58 FIND_PROGRAM(PROTOBUF_PROTOC_EXECUTABLE protoc) 52 59 IF(NOT PROTOBUF_PROTOC_EXECUTABLE) 53 FIND_PROGRAM(PROTOBUF_PROTOC_EXECUTABLE protoc PATHS ${PROTOBUF_BINARYDIR}) 60 FIND_PROGRAM(PROTOBUF_PROTOC_EXECUTABLE protoc 61 PATHS 62 ${PROTOBUF_BINARYDIR} 63 ${PROTOBUF_ROOT}/vsprojects/Release 64 ${PROTOBUF_ROOT}/vsprojects/Debug 65 ) 54 66 ENDIF(NOT PROTOBUF_PROTOC_EXECUTABLE) 55 67 … … 62 74 SET(PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE} CACHE INTERNAL "The protocol buffers compiler") 63 75 ENDIF (PROTOBUF_LIBRARY AND PROTOBUF_INCLUDE_DIR AND PROTOBUF_PROTOC_EXECUTABLE) 64 65 IF(PROTOC_GEN_LUA)66 SET(PROTOC_GEN_LUA_FOUND TRUE)67 ELSEIF(PROTOC_GEN_LUA_CMD)68 SET(PROTOC_GEN_LUA_FOUND TRUE)69 ENDIF(PROTOC_GEN_LUA) -
build/cmake/FindZeroMQ.cmake
r7515d00 rca3e815 18 18 PATHS 19 19 ${ZEROMQ_LIBRARIES} 20 ${ZEROMQ_ROOT}/lib 20 21 ) 21 22 ENDIF(WIN32) … … 26 27 ${ZEROMQ_LIBRARIES} 27 28 ${NSCP_LIBRARYDIR} 29 ${ZEROMQ_ROOT}/lib 28 30 ) 29 31 … … 42 44 ${NSCP_INCLUDEDIR} 43 45 ${ZEROMQ_INCLUDE_DIR} 46 ${ZEROMQ_ROOT}/include 44 47 ) 45 48 -
build/cmake/GoogleProtoBuf.cmake
rd6194a0 rca3e815 38 38 LIST(APPEND ARGS --python_out ${PROJECT_BINARY_DIR}/scripts/python/lib) 39 39 IF(PROTOC_GEN_LUA_FOUND) 40 IF(PROTOC_GEN_LUA_ CMD)41 SET(PROTOC_GEN_LUA_EXTRA --plugin=protoc-gen-lua=${PROTOC_GEN_LUA_ CMD})42 ENDIF(PROTOC_GEN_LUA_ CMD)40 IF(PROTOC_GEN_LUA_BIN) 41 SET(PROTOC_GEN_LUA_EXTRA --plugin=protoc-gen-lua=${PROTOC_GEN_LUA_BIN}) 42 ENDIF(PROTOC_GEN_LUA_BIN) 43 43 LIST(APPEND ARGS --lua_out ${PROJECT_BINARY_DIR}/libs/lua_pb ${PROTOC_GEN_LUA_EXTRA}) 44 44 ENDIF(PROTOC_GEN_LUA_FOUND) -
build/cmake/functions.cmake
rede02fb rca3e815 8 8 SET(BUILD_MODULE 0) 9 9 SET(BUILD_MODULE_SKIP_REASON "") 10 SET(MODULE_NOTE "") 10 11 include(${_CURRENT_MODULE}) 11 12 IF(BUILD_MODULE) 12 message(STATUS " + ${CURRENT_MODULE_NAME}") 13 IF(MODULE_NOTE) 14 SET(MODULE_NOTE " (${MODULE_NOTE})") 15 ENDIF(MODULE_NOTE) 16 message(STATUS " + ${CURRENT_MODULE_NAME}${MODULE_NOTE}") 13 17 ADD_SUBDIRECTORY("${CURRENT_MODULE_PATH}") 14 18 SET(${_TARGET_LIST} ${${_TARGET_LIST}} ${CURRENT_MODULE_NAME}) -
include/execute_process_w32.hpp
r83c2453 rca3e815 64 64 // Set up members of STARTUPINFO structure. 65 65 66 ZeroMemory(&si, sizeof(STARTUPINFO ));67 si.cb = sizeof(STARTUPINFO );66 ZeroMemory(&si, sizeof(STARTUPINFOW)); 67 si.cb = sizeof(STARTUPINFOW); 68 68 si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW; 69 69 si.hStdInput = hChildInR; -
libs/lua/CMakeLists.txt
rd6194a0 rca3e815 3 3 IF (HAVE_LUA) 4 4 5 6 FIND_LIBRARY(LUA_LIB 7 NAMES liblua5.1 lua5.1 lua 8 ) 9 IF(LUA_LIB) 10 MESSAGE(STATUS "Found existing LUA lib: ${LUA_LIB}") 11 ELSE(LUA_LIB) 5 IF(NOT LUA_LIBS_FOUND) 12 6 FIND_PATH(LUA_SOURCE_DIR lapi.c 13 7 ${LUA_INCLUE_DIR} … … 17 11 ) 18 12 19 MESSAGE(STATUS "* * * * * NOT Found LUA sources (will build library): ${LUA_SOURCE_DIR}")20 21 13 SET(lua_SOURCES 22 14 ${LUA_SOURCE_DIR}/lapi.c … … 81 73 SET(LUA_LIB lua_static) 82 74 SET(LUA_LIB lua_static PARENT_SCOPE) 83 ENDIF( LUA_LIB)75 ENDIF(NOT LUA_LIBS_FOUND) 84 76 ENDIF (HAVE_LUA) -
modules/LUAScript/CMakeLists.txt
rd6194a0 rca3e815 32 32 SET(LUA_PB) 33 33 IF (PROTOC_GEN_LUA_FOUND) 34 MESSAGE(STATUS "Lua has PB support")35 34 SET(LUA_PB lua_pb_static) 36 35 ADD_DEFINITIONS(-DHAVE_LUA_PB) -
modules/LUAScript/module.cmake
r87cf3c4 rca3e815 1 1 IF(HAVE_LUA) 2 2 SET (BUILD_MODULE 1) 3 IF(NOT PROTOC_GEN_LUA_FOUND) 4 SET(MODULE_NOTE "without protocol buffer support") 5 ENDIF(NOT PROTOC_GEN_LUA_FOUND) 3 6 ELSE(HAVE_LUA) 4 7 MESSAGE(STATUS "Disabling CheckLua since Lua was not foun") -
modules/NRPEClient/CMakeLists.txt
r465866c rca3e815 18 18 IF(OPENSSL_FOUND) 19 19 ADD_DEFINITIONS(-DUSE_SSL) 20 SET(EXTRA_LIBS ${EXTRA_LIBS} ${OPENSSL_LIBRARIES}) 20 21 ENDIF(OPENSSL_FOUND) 21 22 … … 43 44 ${Boost_PROGRAM_OPTIONS_LIBRARY} 44 45 ${NSCP_DEF_PLUGIN_LIB} 45 ${ OPENSSL_LIBRARIES}46 ${EXTRA_LIBS} 46 47 ) 47 48 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/NRPEClient/NRPEClient.cpp
rd6194a0 rca3e815 301 301 void log_debug(std::string file, int line, std::string msg) const { 302 302 if (GET_CORE()->should_log(NSCAPI::log_level::debug)) { 303 GET_CORE()->log(NSCAPI::log_level::debug, file, line, utf8:: to_unicode(msg));303 GET_CORE()->log(NSCAPI::log_level::debug, file, line, utf8::cvt<std::wstring>(msg)); 304 304 } 305 305 } 306 306 void log_error(std::string file, int line, std::string msg) const { 307 307 if (GET_CORE()->should_log(NSCAPI::log_level::error)) { 308 GET_CORE()->log(NSCAPI::log_level::error, file, line, utf8:: to_unicode(msg));308 GET_CORE()->log(NSCAPI::log_level::error, file, line, utf8::cvt<std::wstring>(msg)); 309 309 } 310 310 } -
modules/NRPEServer/CMakeLists.txt
r9bd40e2 rca3e815 21 21 IF(OPENSSL_FOUND) 22 22 ADD_DEFINITIONS(-DUSE_SSL) 23 SET(EXTRA_LIBS ${EXTRA_LIBS} ${OPENSSL_LIBRARIES}) 23 24 ENDIF(OPENSSL_FOUND) 24 25 … … 49 50 ${Boost_THREAD_LIBRARY} 50 51 ${NSCP_DEF_PLUGIN_LIB} 51 ${ OPENSSL_LIBRARIES}52 ${EXTRA_LIBS} 52 53 ) 53 54 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/NRPEServer/NRPEServer.cpp
ra48fd4c rca3e815 86 86 _T("TIMEOUT"), _T("Timeout when reading packets on incoming sockets. If the data has not arrived within this time we will bail out.")) 87 87 88 (_T("use ssl"), sh::bool_key(&info_.ssl.enabled, false),89 _T("ENABLE SSL ENCRYPTION"), _T("This option controls if SSL should be enabled."), true)88 (_T("use ssl"), sh::bool_key(&info_.ssl.enabled, true), 89 _T("ENABLE SSL ENCRYPTION"), _T("This option controls if SSL should be enabled."), false) 90 90 91 91 (_T("certificate"), sh::path_key(&info_.ssl.dh_key, "${certificate-path}/nrpe_dh_512.pem"), -
modules/NRPEServer/handler_impl.hpp
ra48fd4c rca3e815 44 44 void log_debug(std::string module, std::string file, int line, std::string msg) const { 45 45 if (GET_CORE()->should_log(NSCAPI::log_level::debug)) { 46 GET_CORE()->log(NSCAPI::log_level::debug, file, line, utf8:: to_unicode(msg));46 GET_CORE()->log(NSCAPI::log_level::debug, file, line, utf8::cvt<std::wstring>(msg)); 47 47 } 48 48 } 49 49 void log_error(std::string module, std::string file, int line, std::string msg) const { 50 50 if (GET_CORE()->should_log(NSCAPI::log_level::error)) { 51 GET_CORE()->log(NSCAPI::log_level::error, file, line, utf8:: to_unicode(msg));51 GET_CORE()->log(NSCAPI::log_level::error, file, line, utf8::cvt<std::wstring>(msg)); 52 52 } 53 53 } -
modules/NSCAClient/CMakeLists.txt
r3af7590 rca3e815 43 43 44 44 add_library(${TARGET} MODULE ${SRCS}) 45 MESSAGE(STATUS "Libs: ${NSCP_DEF_PLUGIN_LIB}")46 MESSAGE(STATUS "Libs: ${CRYPTOPP_LIB}")47 45 48 46 target_link_libraries(${TARGET} -
modules/NSCPClient/CMakeLists.txt
r465866c rca3e815 18 18 IF(OPENSSL_FOUND) 19 19 ADD_DEFINITIONS(-DUSE_SSL) 20 SET(EXTRA_LIBS ${EXTRA_LIBS} ${OPENSSL_LIBRARIES}) 20 21 ENDIF(OPENSSL_FOUND) 21 22 … … 43 44 ${Boost_PROGRAM_OPTIONS_LIBRARY} 44 45 ${NSCP_DEF_PLUGIN_LIB} 45 ${ OPENSSL_LIBRARIES}46 ${EXTRA_LIBS} 46 47 ) 47 48 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/NSCPServer/CMakeLists.txt
rc6a974c rca3e815 21 21 IF(OPENSSL_FOUND) 22 22 ADD_DEFINITIONS(-DUSE_SSL) 23 SET(EXTRA_LIBS ${EXTRA_LIBS} ${OPENSSL_LIBRARIES}) 23 24 ENDIF(OPENSSL_FOUND) 24 25 … … 47 48 ${Boost_THREAD_LIBRARY} 48 49 ${NSCP_DEF_PLUGIN_LIB} 49 ${ OPENSSL_LIBRARIES}50 ${EXTRA_LIBS} 50 51 ) 51 52 -
modules/NSClientServer/CMakeLists.txt
r9bd40e2 rca3e815 20 20 IF(OPENSSL_FOUND) 21 21 ADD_DEFINITIONS(-DUSE_SSL) 22 SET(EXTRA_LIBS ${EXTRA_LIBS} ${OPENSSL_LIBRARIES}) 22 23 ENDIF(OPENSSL_FOUND) 23 24 … … 48 49 ${Boost_THREAD_LIBRARY} 49 50 ${NSCP_DEF_PLUGIN_LIB} 50 ${ OPENSSL_LIBRARIES}51 ${EXTRA_LIBS} 51 52 ) 52 53 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
service/CMakeLists.txt
r8d89d7a rca3e815 6 6 INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIRS}) 7 7 LINK_DIRECTORIES(${BOOST_LIB_DIRS}) 8 9 10 IF(BREAKPAD_FOUND) 11 SET(NSCP_GLOBAL_DEFINES ${NSCP_GLOBAL_DEFINES} -DUSE_BREAK_PAD) 12 INCLUDE_DIRECTORIES("${BREAKPAD_INCLUDE_DIR}") 13 ENDIF(BREAKPAD_FOUND) 8 14 9 15 SET(service_SRCS -
service/NSClient++.cpp
r29ff7e1 rca3e815 393 393 LOG_INFO_CORE(SERVICE_NAME _T(" booting...")); 394 394 LOG_DEBUG_CORE(_T("Booted settings subsystem...")); 395 LOG_ERROR_CORE(_T("===> ") + strEx::itos_as_time(11171600000));396 395 397 396 bool crash_submit = false; -
version.txt
r29ff7e1 rca3e815 1 1 version=0.4.1 2 build=3 53 date=2012-08- 072 build=37 3 date=2012-08-11
Note: See TracChangeset
for help on using the changeset viewer.








