| 1 |
# |
|---|
| 2 |
# CMakeLists.txt for openwsman/ |
|---|
| 3 |
# |
|---|
| 4 |
|
|---|
| 5 |
PROJECT(openwsman) |
|---|
| 6 |
|
|---|
| 7 |
cmake_minimum_required(VERSION 2.4) |
|---|
| 8 |
|
|---|
| 9 |
include(CTest) |
|---|
| 10 |
enable_testing() |
|---|
| 11 |
# |
|---|
| 12 |
# cmake2.6: backward compatibility to cmake 2.4 |
|---|
| 13 |
# |
|---|
| 14 |
if(COMMAND cmake_policy) |
|---|
| 15 |
cmake_policy(SET CMP0003 OLD) |
|---|
| 16 |
endif(COMMAND cmake_policy) |
|---|
| 17 |
|
|---|
| 18 |
if(COMMAND cmake_policy) |
|---|
| 19 |
cmake_policy(SET CMP0005 OLD) |
|---|
| 20 |
endif(COMMAND cmake_policy) |
|---|
| 21 |
|
|---|
| 22 |
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked |
|---|
| 23 |
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) |
|---|
| 24 |
|
|---|
| 25 |
INCLUDE( ${CMAKE_SOURCE_DIR}/VERSION.cmake ) |
|---|
| 26 |
SET(VERSION "\"${OPENWSMAN_MAJOR}.${OPENWSMAN_MINOR}.${OPENWSMAN_PATCH}\"") |
|---|
| 27 |
MESSAGE(STATUS "Version ${VERSION}") |
|---|
| 28 |
|
|---|
| 29 |
# Library path (lib / lib64 ) |
|---|
| 30 |
|
|---|
| 31 |
IF ( DEFINED LIB ) |
|---|
| 32 |
SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}" ) |
|---|
| 33 |
ELSE ( DEFINED LIB ) |
|---|
| 34 |
IF (CMAKE_SIZEOF_VOID_P MATCHES "8") |
|---|
| 35 |
SET( LIB_SUFFIX "64" ) |
|---|
| 36 |
ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "8") |
|---|
| 37 |
SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" ) |
|---|
| 38 |
ENDIF ( DEFINED LIB ) |
|---|
| 39 |
MESSAGE(STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}" ) |
|---|
| 40 |
SET( BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" ) |
|---|
| 41 |
SET( INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" ) |
|---|
| 42 |
SET( SYSCONF_DIR "/etc" ) |
|---|
| 43 |
SET( DEFAULT_CONFIG_FILE "\"${SYSCONF_DIR}/openwsman/openwsman.conf\"") |
|---|
| 44 |
SET( PACKAGE_SUBSCRIPTION_DIR "/var/lib/openwsman/subscriptions" ) |
|---|
| 45 |
SET( PACKAGE_PLUGIN_DIR "${LIB_INSTALL_DIR}/openwsman/plugins" ) |
|---|
| 46 |
SET( PACKAGE_AUTH_DIR "${LIB_INSTALL_DIR}/openwsman/authenticators" ) |
|---|
| 47 |
|
|---|
| 48 |
|
|---|
| 49 |
# Macro for error message when header files not present, but build option |
|---|
| 50 |
# explicitly declared |
|---|
| 51 |
MACRO(NO_HEADERS_WARNING_EXPL optionName pkgName) |
|---|
| 52 |
MESSAGE(STATUS "************ WARNING *************") |
|---|
| 53 |
MESSAGE(STATUS "Didn't Find ${pkgName} Headers... ") |
|---|
| 54 |
MESSAGE(STATUS "${optionName} explicitly requested.") |
|---|
| 55 |
MESSAGE(STATUS "Make sure ${pkgName} header files are available and run cmake again.") |
|---|
| 56 |
MESSAGE(STATUS "************************************") |
|---|
| 57 |
SET(HAVE_WARNINGS YES) |
|---|
| 58 |
ENDMACRO(NO_HEADERS_WARNING_EXPL) |
|---|
| 59 |
|
|---|
| 60 |
# Macro for error message when header files not present, but build option |
|---|
| 61 |
# not explicitly declared |
|---|
| 62 |
MACRO(NO_HEADERS_WARNING optionName pkgName) |
|---|
| 63 |
SET(${optionName} NO) |
|---|
| 64 |
SET(HAVE_WARNINGS YES) |
|---|
| 65 |
MESSAGE(STATUS "************ WARNING *************") |
|---|
| 66 |
MESSAGE(STATUS "Didn't Find ${pkgName} Headers... Not Building ${pkgName} Bindings") |
|---|
| 67 |
MESSAGE(STATUS "************************************") |
|---|
| 68 |
ENDMACRO(NO_HEADERS_WARNING) |
|---|
| 69 |
|
|---|
| 70 |
# For binding options, see if it is explicitly set on the command line, |
|---|
| 71 |
# before defining the option with a default. Then if we don't find |
|---|
| 72 |
# the headers: if it was explicitly set then fail, otherwise |
|---|
| 73 |
# just give a warning message |
|---|
| 74 |
SET( BUILD_PYTHON_EXPLICIT ${BUILD_PYTHON}) |
|---|
| 75 |
SET( BUILD_RUBY_EXPLICIT ${BUILD_RUBY}) |
|---|
| 76 |
SET( BUILD_PERL_EXPLICIT ${BUILD_PERL}) |
|---|
| 77 |
SET( BUILD_JAVA_EXPLICIT ${BUILD_JAVA}) |
|---|
| 78 |
|
|---|
| 79 |
# options |
|---|
| 80 |
|
|---|
| 81 |
OPTION( BUILD_LIBCIM "Build CIM plugin" YES ) |
|---|
| 82 |
OPTION( BUILD_EXAMPLES "Build examples" YES ) |
|---|
| 83 |
OPTION( BUILD_PYTHON "Build Python bindings" YES ) |
|---|
| 84 |
OPTION( BUILD_RUBY "Build Ruby bindings" YES ) |
|---|
| 85 |
OPTION( BUILD_PERL "Build Perl bindings" NO ) |
|---|
| 86 |
OPTION( BUILD_JAVA "Build Java bindings" NO ) |
|---|
| 87 |
OPTION( BUILD_CUNIT_TESTS "Build serialization tests" NO ) |
|---|
| 88 |
OPTION( DISABLE_PLUGINS "Do not build plugins" NO ) |
|---|
| 89 |
OPTION( BUILD_SWIG_PLUGIN "Build SWIG plugin" YES ) |
|---|
| 90 |
OPTION( DISABLE_SERVER "Do not build server component" NO ) |
|---|
| 91 |
OPTION( ENABLE_EVENTING_SUPPORT "WS-Eventing wanted" YES ) |
|---|
| 92 |
OPTION( WSMAN_DEBUG_VERBOSE "Verbose debug logging" YES ) |
|---|
| 93 |
IF( ${WSMAN_DEBUG_VERBOSE}) |
|---|
| 94 |
SET(WSMAN_DEBUG_VERBOSE 1) |
|---|
| 95 |
ELSE( ${WSMAN_DEBUG_VERBOSE}) |
|---|
| 96 |
SET(WSMAN_DEBUG_VERBOSE 0) |
|---|
| 97 |
ENDIF( ${WSMAN_DEBUG_VERBOSE}) |
|---|
| 98 |
|
|---|
| 99 |
OPTION( USE_PAM "Use PAM authentication" YES ) |
|---|
| 100 |
IF( ${USE_PAM} ) |
|---|
| 101 |
SET( HAVE_PAM 1 ) |
|---|
| 102 |
ELSE( ${USE_PAM} ) |
|---|
| 103 |
SET( HAVE_PAM 0 ) |
|---|
| 104 |
ENDIF( ${USE_PAM} ) |
|---|
| 105 |
|
|---|
| 106 |
INCLUDE(FindOpenSSL) |
|---|
| 107 |
IF(OPENSSL_FOUND) |
|---|
| 108 |
SET(HAVE_SSL TRUE) |
|---|
| 109 |
SET(USE_OPENSSL TRUE) |
|---|
| 110 |
ENDIF(OPENSSL_FOUND) |
|---|
| 111 |
|
|---|
| 112 |
IF( BUILD_RUBY ) |
|---|
| 113 |
INCLUDE(FindRuby) |
|---|
| 114 |
EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['sitearchdir']" |
|---|
| 115 |
OUTPUT_VARIABLE RUBY_SITEARCH_DIR) |
|---|
| 116 |
MESSAGE(STATUS "Building Ruby bindings" ) |
|---|
| 117 |
IF(NOT RUBY_INCLUDE_PATH) |
|---|
| 118 |
IF(BUILD_RUBY_EXPLICIT) |
|---|
| 119 |
NO_HEADERS_WARNING_EXPL(BUILD_RUBY Ruby) |
|---|
| 120 |
ELSE(BUILD_RUBY_EXPLICIT) |
|---|
| 121 |
NO_HEADERS_WARNING(BUILD_RUBY Ruby) |
|---|
| 122 |
ENDIF(BUILD_RUBY_EXPLICIT) |
|---|
| 123 |
ENDIF(NOT RUBY_INCLUDE_PATH ) |
|---|
| 124 |
ENDIF( BUILD_RUBY ) |
|---|
| 125 |
|
|---|
| 126 |
IF( BUILD_PYTHON ) |
|---|
| 127 |
MESSAGE(STATUS "Building Python bindings" ) |
|---|
| 128 |
FIND_PACKAGE(PythonLibs) |
|---|
| 129 |
IF (PYTHON_LIBRARY) |
|---|
| 130 |
FIND_PACKAGE(PythonInterp REQUIRED) |
|---|
| 131 |
MESSAGE(STATUS "Found PythonLibs...") |
|---|
| 132 |
FIND_PACKAGE(PythonLinkLibs) |
|---|
| 133 |
IF (PYTHON_LINK_LIBS) |
|---|
| 134 |
MESSAGE(STATUS "Building Python...") |
|---|
| 135 |
ENDIF (PYTHON_LINK_LIBS) |
|---|
| 136 |
ENDIF (PYTHON_LIBRARY) |
|---|
| 137 |
IF(NOT PYTHON_INCLUDE_PATH ) |
|---|
| 138 |
IF(BUILD_PYTHON_EXPLICIT) |
|---|
| 139 |
NO_HEADERS_WARNING_EXPL(BUILD_PYTHON Python) |
|---|
| 140 |
ELSE(BUILD_PYTHON_EXPLICIT) |
|---|
| 141 |
NO_HEADERS_WARNING(BUILD_PYTHON Python) |
|---|
| 142 |
ENDIF(BUILD_PYTHON_EXPLICIT) |
|---|
| 143 |
ENDIF(NOT PYTHON_INCLUDE_PATH ) |
|---|
| 144 |
ENDIF( BUILD_PYTHON ) |
|---|
| 145 |
|
|---|
| 146 |
IF( BUILD_PERL ) |
|---|
| 147 |
INCLUDE(FindPerl) |
|---|
| 148 |
INCLUDE(FindPerlLibs) |
|---|
| 149 |
MESSAGE(STATUS "Building Perl bindings" ) |
|---|
| 150 |
IF(NOT PERL_INCLUDE_PATH ) |
|---|
| 151 |
IF(BUILD_PERL_EXPLICIT) |
|---|
| 152 |
NO_HEADERS_WARNING_EXPL(BUILD_PERL Perl) |
|---|
| 153 |
ELSE(BUILD_PERL_EXPLICIT) |
|---|
| 154 |
NO_HEADERS_WARNING(BUILD_PERL Perl) |
|---|
| 155 |
ENDIF(BUILD_PERL_EXPLICIT) |
|---|
| 156 |
ENDIF(NOT PERL_INCLUDE_PATH ) |
|---|
| 157 |
ENDIF( BUILD_PERL ) |
|---|
| 158 |
|
|---|
| 159 |
# swig |
|---|
| 160 |
|
|---|
| 161 |
FIND_PACKAGE(SWIG) |
|---|
| 162 |
IF( NOT SWIG_EXECUTABLE) |
|---|
| 163 |
FIND_PROGRAM(SWIG_EXECUTABLE |
|---|
| 164 |
NAMES swig-1.3 swig |
|---|
| 165 |
PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin ${CMAKE_INSTALL_PREFIX}/bin |
|---|
| 166 |
) |
|---|
| 167 |
ENDIF( NOT SWIG_EXECUTABLE) |
|---|
| 168 |
|
|---|
| 169 |
IF ( NOT SWIG_EXECUTABLE ) |
|---|
| 170 |
MESSAGE( STATUS "SWIG not found, skipping bindings." ) |
|---|
| 171 |
ELSE ( NOT SWIG_EXECUTABLE ) |
|---|
| 172 |
MESSAGE( STATUS "SWIG found at ${SWIG_EXECUTABLE}" ) |
|---|
| 173 |
ADD_SUBDIRECTORY(bindings) |
|---|
| 174 |
ENDIF ( NOT SWIG_EXECUTABLE ) |
|---|
| 175 |
|
|---|
| 176 |
# curl |
|---|
| 177 |
|
|---|
| 178 |
INCLUDE(FindCURL) |
|---|
| 179 |
IF ( NOT CURL_FOUND) |
|---|
| 180 |
MESSAGE( FATAL_ERROR " curl not found" ) |
|---|
| 181 |
ELSE ( NOT CURL_FOUND) |
|---|
| 182 |
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) |
|---|
| 183 |
ENDIF( NOT CURL_FOUND) |
|---|
| 184 |
|
|---|
| 185 |
# xml2 |
|---|
| 186 |
|
|---|
| 187 |
INCLUDE(FindLibXml2) |
|---|
| 188 |
IF ( NOT LIBXML2_FOUND) |
|---|
| 189 |
MESSAGE( FATAL_ERROR " libxml2 not found" ) |
|---|
| 190 |
ELSE ( NOT LIBXML2_FOUND) |
|---|
| 191 |
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) |
|---|
| 192 |
ENDIF( NOT LIBXML2_FOUND) |
|---|
| 193 |
|
|---|
| 194 |
# pthreads |
|---|
| 195 |
|
|---|
| 196 |
INCLUDE(FindThreads) |
|---|
| 197 |
IF( NOT CMAKE_USE_PTHREADS_INIT ) |
|---|
| 198 |
maMESSAGE( FATAL_ERROR " openwsman needs pthread" ) |
|---|
| 199 |
ELSE( NOT CMAKE_USE_PTHREADS_INIT ) |
|---|
| 200 |
SET(USE_PTHREAD TRUE) |
|---|
| 201 |
ENDIF( NOT CMAKE_USE_PTHREADS_INIT ) |
|---|
| 202 |
|
|---|
| 203 |
# crypt |
|---|
| 204 |
|
|---|
| 205 |
FIND_LIBRARY( HAVE_LIBCRYPT "crypt" ) |
|---|
| 206 |
IF(HAVE_LIBCRYPT) |
|---|
| 207 |
SET(CRYPT_LIBRARIES ${HAVE_LIBCRYPT}) |
|---|
| 208 |
SET(HAVE_LIBCRYPT 1) |
|---|
| 209 |
ELSE(HAVE_LIBCRYPT) |
|---|
| 210 |
SET(HAVE_LIBCRYPT 0) |
|---|
| 211 |
ENDIF(HAVE_LIBCRYPT) |
|---|
| 212 |
|
|---|
| 213 |
# nsl |
|---|
| 214 |
|
|---|
| 215 |
FIND_LIBRARY( HAVE_LIBNSL "nsl" ) |
|---|
| 216 |
IF(HAVE_LIBNSL) |
|---|
| 217 |
SET(HAVE_LIBNSL 1) |
|---|
| 218 |
ELSE(HAVE_LIBNSL) |
|---|
| 219 |
SET(HAVE_LIBNSL 0) |
|---|
| 220 |
ENDIF(HAVE_LIBNSL) |
|---|
| 221 |
|
|---|
| 222 |
# socket |
|---|
| 223 |
|
|---|
| 224 |
FIND_LIBRARY( HAVE_LIBSOCKET "socket" ) |
|---|
| 225 |
IF(HAVE_LIBSOCKET) |
|---|
| 226 |
SET(HAVE_LIBSOCKET 1) |
|---|
| 227 |
ELSE(HAVE_LIBSOCKET) |
|---|
| 228 |
SET(HAVE_LIBSOCKET 0) |
|---|
| 229 |
ENDIF(HAVE_LIBSOCKET) |
|---|
| 230 |
|
|---|
| 231 |
# cmpisfcc |
|---|
| 232 |
IF(BUILD_LIBCIM) |
|---|
| 233 |
FIND_LIBRARY( SFCC_LIBRARIES "cmpisfcc" REQUIRED ) |
|---|
| 234 |
ENDIF(BUILD_LIBCIM) |
|---|
| 235 |
|
|---|
| 236 |
# Various include files |
|---|
| 237 |
|
|---|
| 238 |
INCLUDE(CheckIncludeFile) |
|---|
| 239 |
|
|---|
| 240 |
# |
|---|
| 241 |
# The wsman_config file checks include file existance via "#if", |
|---|
| 242 |
# requiring a 0/1 argument |
|---|
| 243 |
# HoweverHECK_INCLUDE_FILE , returns ""/"1" resulting in |
|---|
| 244 |
# an empty argument to "#if" in the 'false' case |
|---|
| 245 |
# The code below ensures that "HAVE_xxx" is set to "0" or "1" |
|---|
| 246 |
# |
|---|
| 247 |
|
|---|
| 248 |
SET (FILES_TO_TEST "crypt.h" "ctype.h" "CUnit/Basic.h" "dirent.h" "dlfcn.h" "ifaddrs.h" "inttypes.h" "memory.h" "netinet/in.h" "net/if_dl.h" "net/if.h" "pam/pam_appl.h" "pam/pam_misc.h" "pthread.h" "security/pam_appl.h" "security/pam_misc.h" "stdarg.h" "stdint.h" "stdlib.h" "strings.h" "string.h" "sys/ioctl.h" "sys/resource.h" "sys/select.h" "sys/sendfile.h" "sys/signal.h" "sys/socket.h" "sys/sockio.h" "sys/stat.h" "sys/types.h" "unistd.h" "vararg.h" ) |
|---|
| 249 |
#SET(FILES_TO_TEST "crypt.h") |
|---|
| 250 |
FOREACH( FILE ${FILES_TO_TEST}) |
|---|
| 251 |
STRING(REGEX REPLACE "\\." "_" FILEDOT ${FILE}) |
|---|
| 252 |
STRING(REGEX REPLACE "/" "_" FILESLASH ${FILEDOT}) |
|---|
| 253 |
STRING(TOUPPER ${FILESLASH} UPNAME) |
|---|
| 254 |
# MESSAGE(STATUS "Looking for ${FILE} as ${UPNAME}") |
|---|
| 255 |
SET(HAVENAME "HAVE_${UPNAME}") |
|---|
| 256 |
CHECK_INCLUDE_FILE( "${FILE}" HAVE_${FILE}_FILE ) |
|---|
| 257 |
IF(HAVE_${FILE}_FILE) |
|---|
| 258 |
SET(${HAVENAME} 1) |
|---|
| 259 |
ELSE(HAVE_${FILE}_FILE) |
|---|
| 260 |
SET(${HAVENAME} 0) |
|---|
| 261 |
ENDIF(HAVE_${FILE}_FILE) |
|---|
| 262 |
ENDFOREACH( FILE ${FILES_TO_TEST}) |
|---|
| 263 |
|
|---|
| 264 |
#/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ |
|---|
| 265 |
CHECK_INCLUDE_FILE( "sys/time.h" TIME_WITH_SYS_TIME ) |
|---|
| 266 |
IF(NOT TIME_WITH_SYS_TIME) |
|---|
| 267 |
SET(TIME_WITH_SYS_TIME 0) |
|---|
| 268 |
ENDIF(NOT TIME_WITH_SYS_TIME) |
|---|
| 269 |
|
|---|
| 270 |
#/* Define ssize_t to int' if <sys/types.h> does not define. */ |
|---|
| 271 |
SET(SSIZE_T_MISSING 0) |
|---|
| 272 |
|
|---|
| 273 |
# library functions |
|---|
| 274 |
|
|---|
| 275 |
INCLUDE(CheckFunctionExists) |
|---|
| 276 |
CHECK_FUNCTION_EXISTS("getifaddrs" HAVE_GETIFADDRS) |
|---|
| 277 |
#SIOCGIFHWADDR |
|---|
| 278 |
#SIOCGARP |
|---|
| 279 |
|
|---|
| 280 |
SET( CRAY_STACKSEG_END 0 ) |
|---|
| 281 |
|
|---|
| 282 |
CHECK_FUNCTION_EXISTS( "alloca" HAVE_ALLOCA ) |
|---|
| 283 |
IF (NOT HAVE_ALLOCA) |
|---|
| 284 |
SET(HAVE_ALLOCA 0) |
|---|
| 285 |
SET(C_ALLOCA 0) |
|---|
| 286 |
CHECK_INCLUDE_FILE( "alloca.h" HAVE_ALLOCA_H ) |
|---|
| 287 |
ENDIF (NOT HAVE_ALLOCA) |
|---|
| 288 |
|
|---|
| 289 |
# |
|---|
| 290 |
# The wsman_config file checks functions existance via "#if", |
|---|
| 291 |
# requiring a 0/1 argument |
|---|
| 292 |
# CHECK_FUNCTION_EXISTS however, returns ""/"1" resulting in |
|---|
| 293 |
# an empty argument to "#if" in the 'false' case |
|---|
| 294 |
# The code below ensures that "HAVE_xxx" is set to "0" or "1" |
|---|
| 295 |
# |
|---|
| 296 |
|
|---|
| 297 |
SET (FUNCS_TO_TEST "bcopy" "crypt" "daemon" "fnmatch" "getaddrinfo" "getnameinfo" "getpid" "gettimeofday" "gmtime_r" "inet_aton" "inet_ntop" "inet_pton" "sleep" "srandom" "strsep" "strtok_r" "syslog" "timegm" "memmove" "unlink" "va_copy" ) |
|---|
| 298 |
FOREACH( FUNC ${FUNCS_TO_TEST}) |
|---|
| 299 |
STRING(TOUPPER ${FUNC} UPNAME) |
|---|
| 300 |
SET(HAVENAME "HAVE_${UPNAME}") |
|---|
| 301 |
CHECK_FUNCTION_EXISTS( "${FUNC}" HAVE_FUNC ) |
|---|
| 302 |
IF(HAVE_FUNC) |
|---|
| 303 |
SET(${HAVENAME} 1) |
|---|
| 304 |
ELSE(HAVE_FUNC) |
|---|
| 305 |
SET(${HAVENAME} 0) |
|---|
| 306 |
ENDIF(HAVE_FUNC) |
|---|
| 307 |
ENDFOREACH( FUNC ${FUNCS_TO_TEST}) |
|---|
| 308 |
|
|---|
| 309 |
|
|---|
| 310 |
# types |
|---|
| 311 |
|
|---|
| 312 |
INCLUDE(CheckTypeSize) |
|---|
| 313 |
SET( CMAKE_REQUIRED_IUNCLUDE "/usr/include/netinet" ) |
|---|
| 314 |
|
|---|
| 315 |
# |
|---|
| 316 |
# The wsman_config file checks type existance via "#if", |
|---|
| 317 |
# requiring a 0/1 argument |
|---|
| 318 |
# CHECK_TYPE_SIZE however, returns ""/"1" resulting in |
|---|
| 319 |
# an empty argument to "#if" in the 'false' case |
|---|
| 320 |
# The code below ensures that "HAVE_xxx" is set to "0" or "1" |
|---|
| 321 |
# |
|---|
| 322 |
|
|---|
| 323 |
SET (TYPES_TO_TEST "in_addr_t" "in_port_t" "sa_family_t" "int" "long" "long long" "short" ) |
|---|
| 324 |
FOREACH( TYPE ${TYPES_TO_TEST}) |
|---|
| 325 |
STRING(TOUPPER ${TYPE} UPNAME) |
|---|
| 326 |
STRING(REGEX REPLACE " " "_" UPNAME ${UPNAME}) |
|---|
| 327 |
SET(HAVENAME "HAVE_${UPNAME}") |
|---|
| 328 |
CHECK_TYPE_SIZE( "${TYPE}" HAVE_TYPE ) |
|---|
| 329 |
MESSAGE(STATUS "Check type ${TYPE} as ${HAVENAME}") |
|---|
| 330 |
IF(HAVE_TYPE) |
|---|
| 331 |
SET(${HAVENAME} 1) |
|---|
| 332 |
ELSE(HAVE_TYPE) |
|---|
| 333 |
SET(${HAVENAME} 0) |
|---|
| 334 |
ENDIF(HAVE_TYPE) |
|---|
| 335 |
ENDFOREACH( TYPE ${TYPES_TO_TEST}) |
|---|
| 336 |
|
|---|
| 337 |
|
|---|
| 338 |
# |
|---|
| 339 |
#/* Define if struct sockaddr contains sa_len */ |
|---|
| 340 |
# HAVE_SA_LEN |
|---|
| 341 |
SET(HAVE_SA_LEN 0) |
|---|
| 342 |
# |
|---|
| 343 |
# |
|---|
| 344 |
#/* Define to 1 if you have the ANSI C header files. */ |
|---|
| 345 |
# STDC_HEADERS |
|---|
| 346 |
SET(STDC_HEADERS 1) |
|---|
| 347 |
|
|---|
| 348 |
#################################################################### |
|---|
| 349 |
# CONFIGURATION # |
|---|
| 350 |
#################################################################### |
|---|
| 351 |
|
|---|
| 352 |
SET(CMAKE_VERBOSE_MAKEFILE OFF) |
|---|
| 353 |
|
|---|
| 354 |
ADD_DEFINITIONS( -DHAVE_CONFIG_H ) |
|---|
| 355 |
|
|---|
| 356 |
SET(PACKAGE "\"openwsman\"") |
|---|
| 357 |
SET(PACKAGE_BUGREPORT "\"www.openwsman.org\"") |
|---|
| 358 |
SET(PACKAGE_NAME "\"openwsman\"") |
|---|
| 359 |
SET(PACKAGE_STRING "\"WS-Management for all\"") |
|---|
| 360 |
SET(PACKAGE_TARNAME "\"openwsman-${VERSION}.tar.bz2\"") |
|---|
| 361 |
SET(PACKAGE_VERSION "${VERSION}") |
|---|
| 362 |
|
|---|
| 363 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/wsman_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/wsman_config.h) |
|---|
| 364 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) |
|---|
| 365 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openwsman.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/openwsman.pc) |
|---|
| 366 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openwsman++.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/openwsman++.pc) |
|---|
| 367 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openwsman-server.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/openwsman-server.pc) |
|---|
| 368 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/openwsman.spec.cmake ${CMAKE_CURRENT_BINARY_DIR}/openwsman.spec) |
|---|
| 369 |
|
|---|
| 370 |
add_subdirectory(include) |
|---|
| 371 |
add_subdirectory(src) |
|---|
| 372 |
add_subdirectory(doc) |
|---|
| 373 |
add_subdirectory(etc) |
|---|
| 374 |
add_subdirectory(tests) |
|---|
| 375 |
|
|---|
| 376 |
|
|---|
| 377 |
IF ( BUILD_EXAMPLES ) |
|---|
| 378 |
add_subdirectory(examples) |
|---|
| 379 |
ENDIF ( BUILD_EXAMPLES ) |
|---|
| 380 |
|
|---|
| 381 |
INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/include ) |
|---|
| 382 |
|
|---|
| 383 |
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Woverloaded-virtual" ) |
|---|
| 384 |
SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall" ) |
|---|
| 385 |
SET( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O3" ) |
|---|
| 386 |
SET( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O3" ) |
|---|
| 387 |
|
|---|
| 388 |
########### install files ############### |
|---|
| 389 |
|
|---|
| 390 |
install(FILES DESTINATION ${CMAKE_INSTALL_PREFIX}/include/openwsman ) |
|---|
| 391 |
|
|---|
| 392 |
#################################################################### |
|---|
| 393 |
# PACKAGING # |
|---|
| 394 |
#################################################################### |
|---|
| 395 |
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Web Services for Management") |
|---|
| 396 |
SET(CPACK_PACKAGE_VENDOR "openwsman.org") |
|---|
| 397 |
SET(CPACK_PACKAGE_VERSION_MAJOR ${OPENWSMAN_MAJOR}) |
|---|
| 398 |
SET(CPACK_PACKAGE_VERSION_MINOR ${OPENWSMAN_MINOR}) |
|---|
| 399 |
SET(CPACK_PACKAGE_VERSION_PATCH ${OPENWSMAN_PATCH}) |
|---|
| 400 |
SET( CPACK_GENERATOR "TBZ2") |
|---|
| 401 |
SET( CPACK_SOURCE_GENERATOR "TBZ2") |
|---|
| 402 |
SET( CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE}-${VERSION}" ) |
|---|
| 403 |
|
|---|
| 404 |
# The following components are regex's to match anywhere (unless anchored) |
|---|
| 405 |
# in absolute path + filename to find files or directories to be excluded |
|---|
| 406 |
# from source tarball. |
|---|
| 407 |
SET (CPACK_SOURCE_IGNORE_FILES |
|---|
| 408 |
#svn files |
|---|
| 409 |
"\\\\.svn/" |
|---|
| 410 |
"\\\\.cvsignore$" |
|---|
| 411 |
# temporary files |
|---|
| 412 |
"\\\\.swp$" |
|---|
| 413 |
# backup files |
|---|
| 414 |
"~$" |
|---|
| 415 |
# eclipse files |
|---|
| 416 |
"\\\\.cdtproject$" |
|---|
| 417 |
"\\\\.cproject$" |
|---|
| 418 |
"\\\\.project$" |
|---|
| 419 |
"\\\\.settings/" |
|---|
| 420 |
# others |
|---|
| 421 |
"\\\\.#" |
|---|
| 422 |
"/#" |
|---|
| 423 |
"/build/" |
|---|
| 424 |
"/_build/" |
|---|
| 425 |
"/\\\\.git/" |
|---|
| 426 |
# used before |
|---|
| 427 |
"/CVS/" |
|---|
| 428 |
"/\\\\.libs/" |
|---|
| 429 |
"/\\\\.deps/" |
|---|
| 430 |
"\\\\.o$" |
|---|
| 431 |
"\\\\.lo$" |
|---|
| 432 |
"\\\\.la$" |
|---|
| 433 |
"Makefile\\\\.in$" |
|---|
| 434 |
) |
|---|
| 435 |
|
|---|
| 436 |
INCLUDE(CPack) |
|---|
| 437 |
|
|---|
| 438 |
#################################################################### |
|---|
| 439 |
|
|---|
| 440 |
SET( DOC_INSTALL_DIR |
|---|
| 441 |
"${CMAKE_INSTALL_PREFIX}/share/doc/packages/${PACKAGE}" |
|---|
| 442 |
CACHE PATH "The install dir for documentation (default prefix/share/doc/packages/${PACKAGE})" |
|---|
| 443 |
FORCE |
|---|
| 444 |
) |
|---|
| 445 |
|
|---|
| 446 |
IF(HAVE_WARNINGS) |
|---|
| 447 |
MESSAGE(STATUS " ************ NOTE: ************") |
|---|
| 448 |
MESSAGE(STATUS " Warnings occurred during cmake configuration... Please see output") |
|---|
| 449 |
MESSAGE(STATUS " *******************************") |
|---|
| 450 |
ENDIF(HAVE_WARNINGS) |
|---|
| 451 |
|
|---|
| 452 |
#AUTOMAKE_OPTIONS = no-dist-gzip dist-bzip2 |
|---|
| 453 |
# |
|---|
| 454 |
#package: dist |
|---|
| 455 |
# cp openwsman.spec /usr/src/packages/SPEC |
|---|
| 456 |
# cp openwsman-*.tar.gz /usr/src/packages/SOURCES |
|---|
| 457 |
# rpmbuild -ba openwsman.spec |
|---|
| 458 |
# |
|---|
| 459 |
#etags: TAGS |
|---|
| 460 |
# find . -name "*.[chCH]" -print | etags - |
|---|
| 461 |
# |
|---|
| 462 |
#install-data-local: openwsman.pc |
|---|
| 463 |
# $(mkinstalldirs) $(DESTDIR)$(libdir)/pkgconfig |
|---|
| 464 |
# $(INSTALL_DATA) openwsman.pc $(DESTDIR)$(libdir)/pkgconfig |
|---|
| 465 |
# $(INSTALL_DATA) openwsman++.pc $(DESTDIR)$(libdir)/pkgconfig |
|---|
| 466 |
# $(INSTALL_DATA) openwsman-server.pc $(DESTDIR)$(libdir)/pkgconfig |
|---|
| 467 |
# |
|---|
| 468 |
#uninstall-local: |
|---|
| 469 |
# rm $(DESTDIR)$(libdir)/pkgconfig/openwsman.pc |
|---|
| 470 |
# rm $(DESTDIR)$(libdir)/pkgconfig/openwsman++.pc |
|---|
| 471 |
# rm $(DESTDIR)$(libdir)/pkgconfig/openwsman-server.pc |
|---|
| 472 |
# |
|---|
| 473 |
#EXTRA_DIST = OpenWsmanLib.vcproj OpenWsmanLib.sln |
|---|