1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
PROJECT(mod_xmlrpc)
SET(PROJECT_VERSION 2.2)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSUPPORT_C")
# XMLRPC-C
FIND_PROGRAM(XMLRPC_C_CONFIG xmlrpc-c-config)
IF(XMLRPC_C_CONFIG)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} `${XMLRPC_C_CONFIG} --cflags`")
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} `${XMLRPC_C_CONFIG} --libs`")
ELSE(XMLRPC_C_CONFIG)
MESSAGE(SEND_ERROR "Cannot find xmlrpc-c-config anywhere in your path. Please update your path to include the directory containing the binary.")
ENDIF(XMLRPC_C_CONFIG)
# APR
FIND_PROGRAM(APR_CONFIG apr-config)
IF (APR_CONFIG)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} `${APR_CONFIG} --cflags` -I`${APR_CONFIG} --includedir`")
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} `${APR_CONFIG} --libs`")
ELSE(APR_CONFIG)
MESSAGE(SEND_ERROR "Cannot find apr-config anywhere in your path. Please update your path to include the directory containing the script.")
ENDIF(APR_CONFIG)
# APACHE2
FIND_PROGRAM(APXS2 apxs2)
IF (APXS2)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} `${APXS2} -q CFLAGS` -I`${APXS2} -q INCLUDEDIR`")
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} `${APXS2} -q LDFLAGS`")
EXEC_PROGRAM(${APXS2}
ARGS "-q libexecdir"
OUTPUT_VARIABLE MOD_DIR)
SET(APACHE_MODULE_DIR "${MOD_DIR}" CACHE PATH
"Installation directory for Apache modules")
ELSE(APXS2)
MESSAGE(SEND_ERROR "Cannot find apxs2 anywhere in your path. Please update your path to include the directory containing the script.")
ENDIF(APXS2)
# RUBY
INCLUDE(FindRuby)
IF (RUBY_EXECUTABLE)
EXEC_PROGRAM(${RUBY_EXECUTABLE}
ARGS -r mkmf -e "'print $CFLAGS + \" -I\" + $hdrdir + \"\\n\"'"
OUTPUT_VARIABLE RB_CFLAGS)
EXEC_PROGRAM(${RUBY_EXECUTABLE}
ARGS -r mkmf -e "'print $LIBS + \" -l\" + Config::CONFIG[\"RUBY_SO_NAME\"] + \"\\n\"'"
OUTPUT_VARIABLE RB_LDFLAGS)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${RB_CFLAGS} -DSUPPORT_RUBY")
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${RB_LDFLAGS}")
ELSE(RUBY_EXECUTABLE)
MESSAGE(STATUS "Cannot find ruby anywhere in your path. Not enabling ruby support.")
ENDIF(RUBY_EXECUTABLE)
ADD_CUSTOM_TARGET(dist
${PROJECT_SOURCE_DIR}/prepare.sh
${PROJECT_NAME}-${PROJECT_VERSION} ${PROJECT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
SET(CMAKE_SHARED_LIBRARY_PREFIX "")
SET(CMAKE_INSTALL_PREFIX / CACHE PATH
"Install path prefix, prepended onto install directories."
FORCE)
SET(INSTALL_INCLUDE_DIR /usr/include CACHE PATH
"Installation directory for header files")
ADD_LIBRARY(mod_xmlrpc SHARED mod_xmlrpc.c mod_xmlrpc_c.c mod_xmlrpc_rb.c mod_xmlrpc_server.c)
INSTALL_TARGETS(${APACHE_MODULE_DIR} mod_xmlrpc)
INSTALL_FILES(${INSTALL_INCLUDE_DIR} mod_xmlrpc_dso.h)
SUBDIRS(examples)
|