diff --git a/rabbitmq_consumer/CMakeLists.txt b/rabbitmq_consumer/CMakeLists.txt index 2363b9e15..bad2de7b3 100644 --- a/rabbitmq_consumer/CMakeLists.txt +++ b/rabbitmq_consumer/CMakeLists.txt @@ -1,17 +1,25 @@ -cmake_minimum_required(VERSION 2.6) -include(../macros.cmake) +cmake_minimum_required(VERSION 2.8.12) + +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/../cmake") +include(../cmake/macros.cmake) +include(../cmake/install_layout.cmake) enable_testing() set_variables() -set(CMAKE_INSTALL_PREFIX "/usr/local/rabbitmq-consumer" CACHE PATH "Prefix prepended to install directories.") -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/../cmake") project("RabbitMQ Consumer") -configure_file(${CMAKE_SOURCE_DIR}/consumer.c ${CMAKE_BINARY_DIR}/consumer.c) - find_package(RabbitMQ) find_package(MySQLClient) +if(NOT (RABBITMQ_FOUND AND MYSQLCLIENT_FOUND)) + message(FATAL_ERROR "Both the librabbitmq-c and mysqlclient libraries are required libraries.") +endif() + +set(CMAKE_INSTALL_PREFIX "/usr") +message(STATUS "Installing to ${CMAKE_INSTALL_PREFIX}") + +configure_file(${CMAKE_SOURCE_DIR}/consumer.c ${CMAKE_BINARY_DIR}/consumer.c) + set(CMAKE_C_FLAGS "-Wall -fPIC") set(CMAKE_CXX_FLAGS "-Wall -fPIC") include_directories(${MYSQLCLIENT_HEADERS}) @@ -20,46 +28,40 @@ include_directories(inih) add_subdirectory(inih) add_executable (consumer ${CMAKE_BINARY_DIR}/consumer.c) -if(MYSQLCLIENT_FOUND) - target_link_libraries(consumer ${MYSQLCLIENT_LIBRARIES} rabbitmq inih ssl crypt crypto dl z m pthread) -elseif(MYSQLCLIENT_STATIC_FOUND) +if(MYSQLCLIENT_STATIC_FOUND) target_link_libraries(consumer ${MYSQLCLIENT_STATIC_LIBRARIES} rabbitmq inih ssl crypt crypto dl z m pthread) -endif() - -install(TARGETS consumer DESTINATION bin) -install(FILES consumer.cnf DESTINATION etc) - -if(${CMAKE_VERSION} VERSION_LESS 2.8.12) - message(WARNING "CMake version is ${CMAKE_VERSION}. Building of packages requires version 2.8.12 or greater.") else() - # See if we are on a RPM-capable or DEB-capable system - find_program(RPMBUILD rpmbuild) - find_program(DEBBUILD dpkg-buildpackage) - set(CPACK_GENERATOR "TGZ") - if(NOT ( ${RPMBUILD} STREQUAL "RPMBUILD-NOTFOUND" ) ) - message(STATUS "Generating RPM packages") - set(CPACK_GENERATOR "${CPACK_GENERATOR};RPM") - endif() - - if(NOT ( ${DEBBUILD} STREQUAL "DEBBUILD-NOTFOUND" ) ) - set(CPACK_GENERATOR "${CPACK_GENERATOR};DEB") - execute_process(COMMAND dpgk --print-architecture OUTPUT_VARIABLE DEB_ARCHITECTURE) - set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${DEB_ARCHITECTURE}) - set (CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) - message(STATUS "Generating DEB packages for ${DEB_ARCHITECTURE}") - endif() - - set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "RabbitMQ Consumer") - set(CPACK_PACKAGE_VERSION_MAJOR "1") - set(CPACK_PACKAGE_VERSION_MINOR "0") - set(CPACK_PACKAGE_VERSION_PATCH "0") - set(CPACK_PACKAGE_CONTACT "MariaDB Corporation Ab") - set(CPACK_PACKAGE_FILE_NAME "rabbitmq-consumer-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") - set(CPACK_PACKAGE_NAME "rabbitmq-consumer") - set(CPACK_PACKAGE_VENDOR "MariaDB Corporation Ab") - set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - set(CPACK_RPM_PACKAGE_NAME "rabbitmq-consumer") - set(CPACK_RPM_PACKAGE_VENDOR "MariaDB Corporation Ab") - set(CPACK_RPM_PACKAGE_LICENSE "GPLv2") - include(CPack) + target_link_libraries(consumer ${MYSQLCLIENT_LIBRARIES} rabbitmq inih ssl crypt crypto dl z m pthread) endif() + +install(TARGETS consumer DESTINATION ${MAXSCALE_BINDIR}) +install(FILES consumer.cnf DESTINATION ${MAXSCALE_CONFDIR}) + +# See if we are on a RPM-capable or DEB-capable system +find_program(RPMBUILD rpmbuild) +find_program(DEBBUILD dpkg-buildpackage) +set(CPACK_GENERATOR "TGZ") +if(NOT (${RPMBUILD} MATCHES "NOTFOUND" )) + message(STATUS "Generating RPM packages") + set(CPACK_GENERATOR "${CPACK_GENERATOR};RPM") +elseif(NOT (${DEBBUILD} MATCHES "NOTFOUND" ) ) + set(CPACK_GENERATOR "${CPACK_GENERATOR};DEB") + execute_process(COMMAND dpgk --print-architecture OUTPUT_VARIABLE DEB_ARCHITECTURE) + set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${DEB_ARCHITECTURE}) + set (CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) + message(STATUS "Generating DEB packages for ${DEB_ARCHITECTURE}") +endif() + +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "RabbitMQ Consumer") +set(CPACK_SET_DESTDIR ON) +set(CPACK_PACKAGE_VERSION_MAJOR "1") +set(CPACK_PACKAGE_VERSION_MINOR "0") +set(CPACK_PACKAGE_VERSION_PATCH "0") +set(CPACK_PACKAGE_CONTACT "MariaDB Corporation Ab") +set(CPACK_PACKAGE_FILE_NAME "rabbitmq-consumer-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") +set(CPACK_PACKAGE_NAME "rabbitmq-consumer") +set(CPACK_PACKAGE_VENDOR "MariaDB Corporation Ab") +set(CPACK_RPM_PACKAGE_NAME "rabbitmq-consumer") +set(CPACK_RPM_PACKAGE_VENDOR "MariaDB Corporation Ab") +set(CPACK_RPM_PACKAGE_LICENSE "GPLv2") +include(CPack) diff --git a/rabbitmq_consumer/rabbitmq-message-consumer.spec b/rabbitmq_consumer/rabbitmq-message-consumer.spec deleted file mode 100644 index 5e810c00f..000000000 --- a/rabbitmq_consumer/rabbitmq-message-consumer.spec +++ /dev/null @@ -1,55 +0,0 @@ -%define _topdir %(echo $PWD)/ -%define name rabbitmq-message-consumer -%define release beta -%define version 1.0 -%define install_path /usr/local/mariadb/rabbitmq-consumer/ - -BuildRoot: %{buildroot} -Summary: rabbitmq-message-consumer -License: GPL -Name: %{name} -Version: %{version} -Release: %{release} -Source: %{name}-%{version}-%{release}.tar.gz -Prefix: / -Group: Development/Tools -Requires: maxscale - -%if 0%{?suse_version} -BuildRequires: gcc gcc-c++ ncurses-devel bison glibc-devel cmake libgcc_s1 perl make libtool libopenssl-devel libaio libaio-devel mariadb libedit-devel librabbitmq-devel MariaDB-shared -%else -BuildRequires: gcc gcc-c++ ncurses-devel bison glibc-devel cmake libgcc perl make libtool openssl-devel libaio libaio-devel librabbitmq-devel MariaDB-shared -%if 0%{?rhel} == 6 -BuildRequires: libedit-devel -%endif -%if 0%{?rhel} == 7 -BuildRequires: mariadb-devel mariadb-embedded-devel libedit-devel -%else -BuildRequires: MariaDB-devel MariaDB-server -%endif -%endif - -%description -rabbitmq-message-consumer - -%prep - -%setup -q - -%build -make clean -make - -%install -mkdir -p $RPM_BUILD_ROOT%{install_path} -cp consumer $RPM_BUILD_ROOT%{install_path} -cp consumer.cnf $RPM_BUILD_ROOT%{install_path} - -%clean - -%files -%defattr(-,root,root) -%{install_path}/consumer -%{install_path}/consumer.cnf - -%changelog