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)