root/openwsman/trunk/CMakeLists.txt

Revision 3023, 14.5 kB (checked in by kkaempf, 2 months ago)

make cmpisfcc required when building CIM plugin

Line 
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