| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- PROJECT(XMLRPC)
- INCLUDE_REGULAR_EXPRESSION("^.*$")
- # Include all the necessary files for macros
- SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
- # Check if header file exists and add it to the list.
- SET(CURRENT_INCLUDES)
- INCLUDE (CheckIncludeFiles)
- MACRO(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
- CHECK_INCLUDE_FILES("${CURRENT_INCLUDES};${FILE}" ${VARIABLE})
- IF(${VARIABLE})
- SET(CURRENT_INCLUDES ${CURRENT_INCLUDES} ${FILE})
- ENDIF(${VARIABLE})
- ENDMACRO(CHECK_INCLUDE_FILE_CONCAT)
- CHECK_INCLUDE_FILE_CONCAT("stdio.h" HAVE_STDIO_H)
- CHECK_INCLUDE_FILE_CONCAT("stdarg.h" HAVE_STDARG_H)
- CHECK_INCLUDE_FILE_CONCAT("sys/filio.h" HAVE_SYS_FILIO_H)
- CHECK_INCLUDE_FILE_CONCAT("sys/ioctl.h" HAVE_SYS_IOCTL_H)
- CHECK_INCLUDE_FILE_CONCAT("wchar.h" HAVE_WCHAR_H)
- IF(HAVE_WCHAR_H)
- OPTION(HAVE_UNICODE_WCHAR "Enable Unicode Support" YES)
- MARK_AS_ADVANCED(HAVE_UNICODE_WCHAR)
- ELSE(HAVE_WCHAR_H)
- SET(HAVE_UNICODE_WCHAR 0)
- ENDIF(HAVE_WCHAR_H)
- INCLUDE (CheckSymbolExists)
- CHECK_SYMBOL_EXISTS(asprintf "${CURRENT_INCLUDES}" HAVE_ASPRINTF)
- CHECK_SYMBOL_EXISTS(setgroups "${CURRENT_INCLUDES}" HAVE_SETGROUPS)
- INCLUDE (CheckTypeSize)
- CHECK_TYPE_SIZE(size_t SIZEOF_SIZE_T)
- INCLUDE (TryCompileFromSource)
- SET(HEADER_INCLUDES "${CURRENT_INCLUDES}")
- TRY_COMPILE_FROM_SOURCE("va_list list1, list2; list1 = list2"
- VA_LIST_ISNOT_ARRAY_DEFINE)
- SET(VA_LIST_IS_ARRAY_DEFINE 0)
- IF(NOT VA_LIST_ISNOT_ARRAY_DEFINE)
- SET(VA_LIST_IS_ARRAY_DEFINE 1)
- ENDIF(NOT VA_LIST_ISNOT_ARRAY_DEFINE)
- TRY_COMPILE_FROM_SOURCE("int x __attribute__((__unused__))"
- ATTR_UNUSED_VAR)
- SET(ATTR_UNUSED)
- IF(ATTR_UNUSED_VAR)
- SET(ATTR_UNUSED "__attribute__((__unused__))")
- ENDIF(ATTR_UNUSED_VAR)
- SET(HAVE_LIBWWW_SSL)
- SET(DIRECTORY_SEPARATOR "/")
- SET(HAVE_PTHREADS 0)
- IF(CMAKE_BUILD_XMLRPC_WITH_THREADS)
- FIND_PACKAGE(Threads)
- IF(WIN32 OR CMAKE_USE_PTHREADS_INIT)
- SET(HAVE_PTHREADS 1)
- ENDIF(WIN32 OR CMAKE_USE_PTHREADS_INIT)
- ENDIF(CMAKE_BUILD_XMLRPC_WITH_THREADS)
- INCLUDE_DIRECTORIES(
- "${CMAKE_CURRENT_SOURCE_DIR}"
- "${CMAKE_CURRENT_BINARY_DIR}"
- ${CMAKE_EXPAT_INCLUDES}
- ${CMAKE_CURL_INCLUDES}
- )
- CONFIGURE_FILE(
- "${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_config.h.in"
- "${CMAKE_CURRENT_BINARY_DIR}/xmlrpc_config.h"
- )
- CONFIGURE_FILE(
- "${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_amconfig.h.in"
- "${CMAKE_CURRENT_BINARY_DIR}/xmlrpc_amconfig.h"
- )
- SET(xmlrpc_SRCS
- #XmlRpcCpp.cpp
- xmlrpc_array.c
- xmlrpc_authcookie.c
- xmlrpc_base64.c
- xmlrpc_client.c
- xmlrpc_data.c
- xmlrpc_expat.c
- xmlrpc_parse.c
- xmlrpc_registry.c
- xmlrpc_serialize.c
- xmlrpc_curl_transport.c
- #xmlrpc_server_abyss.c
- xmlrpc_struct.c
- xmlrpc_strutil.c
- xmlrpc_support.c
- casprintf.c
- )
- IF(HAVE_UNICODE_WCHAR)
- SET(xmlrpc_SRCS
- ${xmlrpc_SRCS}
- xmlrpc_utf8.c
- )
- ENDIF(HAVE_UNICODE_WCHAR)
- IF(WIN32)
- SET(xmlrpc_SRCS ${xmlrpc_SRCS}
- win32_pthreads.c
- )
- ENDIF(WIN32)
- ADD_LIBRARY(cmXMLRPC ${xmlrpc_SRCS})
- TARGET_LINK_LIBRARIES(cmXMLRPC ${CMAKE_EXPAT_LIBRARIES} ${CMAKE_CURL_LIBRARIES})
- IF(HAVE_PTHREADS)
- TARGET_LINK_LIBRARIES(cmXMLRPC ${CMAKE_THREAD_LIBS_INIT})
- ENDIF(HAVE_PTHREADS)
- ADD_EXECUTABLE(xrtest synch_client.c)
- TARGET_LINK_LIBRARIES(xrtest cmXMLRPC ${CMAKE_DL_LIBS})
- # comment out test since it doesn pass and Andy doesn;t seem to be fixing it,
- # for now assume that XMLRPC is not production quality code - Ken
- # ADD_TEST(Test-XMLRPC ${EXECUTABLE_OUTPUT_PATH}/xrtest)
|