Blame CMakeLists.txt

Packit Service 64969d
cmake_minimum_required(VERSION 2.8.12)
Packit Service 64969d
project(rabbitmq-c "C")
Packit Service 64969d
Packit Service 64969d
# Enable MACOSX_RPATH by default. See: cmake --help-policy CMP0042
Packit Service 64969d
if (POLICY CMP0042)
Packit Service 64969d
  cmake_policy(SET CMP0042 NEW)
Packit Service 64969d
endif()
Packit Service 64969d
Packit Service 64969d
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
Packit Service 64969d
Packit Service 64969d
# Follow all steps below in order to calculate new ABI version when updating the library
Packit Service 64969d
# NOTE: THIS IS UNRELATED to the actual project version
Packit Service 64969d
#
Packit Service 64969d
# 1. If the library source code has changed at all since the last update, then increment revision
Packit Service 64969d
# 2. If any interfaces have been added, removed, or changed since the last update, increment current and set revision to 0.
Packit Service 64969d
# 3. If any interfaces have been added since the last public release, then increment age.
Packit Service 64969d
# 4. If any interfaces have been removed since the last public release, then set age to 0.
Packit Service 64969d
Packit Service 64969d
set(RMQ_SOVERSION_CURRENT   7)
Packit Service 64969d
set(RMQ_SOVERSION_REVISION  0)
Packit Service 64969d
set(RMQ_SOVERSION_AGE       3)
Packit Service 64969d
Packit Service 64969d
math(EXPR RMQ_SOVERSION_MAJOR "${RMQ_SOVERSION_CURRENT} - ${RMQ_SOVERSION_AGE}")
Packit Service 64969d
math(EXPR RMQ_SOVERSION_MINOR "${RMQ_SOVERSION_AGE}")
Packit Service 64969d
math(EXPR RMQ_SOVERSION_PATCH "${RMQ_SOVERSION_REVISION}")
Packit Service 64969d
Packit Service 64969d
set(RMQ_VERSION ${RMQ_SOVERSION_MAJOR}.${RMQ_SOVERSION_MINOR}.${RMQ_SOVERSION_PATCH})
Packit Service 64969d
set(RMQ_SOVERSION ${RMQ_SOVERSION_MAJOR})
Packit Service 64969d
Packit Service 64969d
file(STRINGS librabbitmq/amqp.h _API_VERSION_MAJOR REGEX "^#define AMQP_VERSION_MAJOR [0-9]+$")
Packit Service 64969d
file(STRINGS librabbitmq/amqp.h _API_VERSION_MINOR REGEX "^#define AMQP_VERSION_MINOR [0-9]+$")
Packit Service 64969d
file(STRINGS librabbitmq/amqp.h _API_VERSION_PATCH REGEX "^#define AMQP_VERSION_PATCH [0-9]+$")
Packit Service 64969d
Packit Service 64969d
string(REGEX MATCH "[0-9]+" _API_VERSION_MAJOR ${_API_VERSION_MAJOR})
Packit Service 64969d
string(REGEX MATCH "[0-9]+" _API_VERSION_MINOR ${_API_VERSION_MINOR})
Packit Service 64969d
string(REGEX MATCH "[0-9]+" _API_VERSION_PATCH ${_API_VERSION_PATCH})
Packit Service 64969d
Packit Service 64969d
# VERSION to match what is in autotools
Packit Service 64969d
set(VERSION ${_API_VERSION_MAJOR}.${_API_VERSION_MINOR}.${_API_VERSION_PATCH})
Packit Service 64969d
Packit Service 64969d
if (CMAKE_GENERATOR MATCHES ".*(Make|Ninja).*"
Packit Service 64969d
    AND NOT CMAKE_BUILD_TYPE)
Packit Service 64969d
  set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
Packit Service 64969d
  message(STATUS "CMAKE_BUILD_TYPE not specified. Creating ${CMAKE_BUILD_TYPE} build")
Packit Service 64969d
endif()
Packit Service 64969d
Packit Service 64969d
include(TestCInline)
Packit Service 64969d
include(CheckSymbolExists)
Packit Service 64969d
include(CheckLibraryExists)
Packit Service 64969d
include(CMakePushCheckState)
Packit Service 64969d
include(GNUInstallDirs)
Packit Service 64969d
include(CheckCCompilerFlag)
Packit Service 64969d
Packit Service 64969d
# Detect if we need to link against a socket library:
Packit Service 64969d
cmake_push_check_state()
Packit Service 64969d
if (WIN32)
Packit Service 64969d
  # Always use WinSock2 on Windows
Packit Service 64969d
  set(SOCKET_LIBRARIES ws2_32)
Packit Service 64969d
else ()
Packit Service 64969d
  # Is it in the default link?
Packit Service 64969d
  check_symbol_exists(getaddrinfo "sys/types.h;sys/socket.h;netdb.h" HAVE_GETADDRINFO)
Packit Service 64969d
  if (NOT (HAVE_GETADDRINFO EQUAL 1))
Packit Service 64969d
    SET(CMAKE_REQUIRED_LIBRARIES "socket")
Packit Service 64969d
    check_symbol_exists(getaddrinfo "sys/types.h;sys/socket.h;netdb.h" HAVE_GETADDRINFO2)
Packit Service 64969d
    if (HAVE_GETADDRINFO2 EQUAL 1)
Packit Service 64969d
      set(SOCKET_LIBRARIES socket)
Packit Service 64969d
    else ()
Packit Service 64969d
      SET(CMAKE_REQUIRED_LIBRARIES "socket;nsl")
Packit Service 64969d
      check_symbol_exists(getaddrinfo "sys/types.h;sys/socket.h;netdb.h" HAVE_GETADDRINFO3)
Packit Service 64969d
      if (HAVE_GETADDRINFO3 EQUAL 1)
Packit Service 64969d
        set(SOCKET_LIBRARIES socket nsl)
Packit Service 64969d
      else ()
Packit Service 64969d
        message(FATAL_ERROR "Cannot find name resolution library (containing symbol getaddrinfo)")
Packit Service 64969d
      endif ()
Packit Service 64969d
    endif ()
Packit Service 64969d
  endif ()
Packit Service 64969d
Packit Service 64969d
  set(CMAKE_REQUIRED_LIBRARIES ${SOCKET_LIBRARIES})
Packit Service 64969d
  check_symbol_exists(socket "sys/types.h;sys/socket.h" HAVE_SOCKET)
Packit Service 64969d
  if (NOT HAVE_SOCKET EQUAL 1)
Packit Service 64969d
    set(CMAKE_REQUIRED_LIBRARIES socket ${SOCKET_LIBRARIES})
Packit Service 64969d
    check_symbol_exists(socket "sys/types.h;sys/socket.h" HAVE_SOCKET2)
Packit Service 64969d
    if (HAVE_SOCKET2 EQUAL 1)
Packit Service 64969d
      set(SOCKET_LIBRARIES socket ${SOCKET_LIBRARIES})
Packit Service 64969d
    else ()
Packit Service 64969d
      set(CMAKE_REQUIRED_LIBRARIES socket nsl ${SOCKET_LIBRARIES})
Packit Service 64969d
      check_symbol_exists(socket "sys/types.h;sys/socket.h" HAVE_SOCKET3)
Packit Service 64969d
      if (HAVE_SOCKET3 EQUAL 1)
Packit Service 64969d
        set(SOCKET_LIBRARIES socket nsl ${SOCKET_LIBRARIES})
Packit Service 64969d
      else ()
Packit Service 64969d
        message(FATAL_ERROR "Cannot find socket library (containing symbol socket)")
Packit Service 64969d
      endif ()
Packit Service 64969d
    endif ()
Packit Service 64969d
  endif ()
Packit Service 64969d
endif ()
Packit Service 64969d
cmake_pop_check_state()
Packit Service 64969d
Packit Service 64969d
cmake_push_check_state()
Packit Service 64969d
set(CMAKE_REQUIRED_LIBRARIES ${SOCKET_LIBRARIES})
Packit Service 64969d
check_symbol_exists(poll poll.h HAVE_POLL)
Packit Service 64969d
if (NOT HAVE_POLL)
Packit Service 64969d
  if (WIN32)
Packit Service 64969d
    set(HAVE_SELECT 1)
Packit Service 64969d
  else()
Packit Service 64969d
    check_symbol_exists(select sys/select.h HAVE_SELECT)
Packit Service 64969d
  endif()
Packit Service 64969d
  if (NOT HAVE_SELECT)
Packit Service 64969d
    message(FATAL_ERROR "rabbitmq-c requires poll() or select() to be available")
Packit Service 64969d
  endif()
Packit Service 64969d
endif()
Packit Service 64969d
cmake_pop_check_state()
Packit Service 64969d
Packit Service 64969d
check_library_exists(rt clock_gettime "time.h" CLOCK_GETTIME_NEEDS_LIBRT)
Packit Service 64969d
check_library_exists(rt posix_spawnp "spawn.h" POSIX_SPAWNP_NEEDS_LIBRT)
Packit Service 64969d
if (CLOCK_GETTIME_NEEDS_LIBRT OR POSIX_SPAWNP_NEEDS_LIBRT)
Packit Service 64969d
  set(LIBRT rt)
Packit Service 64969d
endif()
Packit Service 64969d
Packit Service 64969d
option(ENABLE_SSL_SUPPORT "Enable SSL support" ON)
Packit Service 64969d
Packit Service 64969d
if (ENABLE_SSL_SUPPORT)
Packit Service 64969d
  find_package(OpenSSL 0.9.8 REQUIRED)
Packit Service 64969d
Packit Service 64969d
  cmake_push_check_state()
Packit Service 64969d
  set(THREADS_PREFER_PTHREAD_FLAG ON)
Packit Service 64969d
  find_package(Threads REQUIRED)
Packit Service 64969d
  cmake_pop_check_state()
Packit Service 64969d
endif()
Packit Service 64969d
Packit Service 64969d
if (MSVC)
Packit Service 64969d
  set(CMAKE_C_FLAGS "/W4 /nologo ${CMAKE_C_FLAGS}")
Packit Service 64969d
elseif (CMAKE_C_COMPILER_ID MATCHES ".*Clang")
Packit Service 64969d
  set(CMAKE_C_FLAGS "-Wall -Wextra -Wstrict-prototypes -Wno-unused-function -fno-common -fvisibility=hidden ${CMAKE_C_FLAGS}")
Packit Service 64969d
elseif (CMAKE_COMPILER_IS_GNUCC)
Packit Service 64969d
  set(RMQ_C_FLAGS "-Wall -Wextra -Wstrict-prototypes -Wno-unused-function -fno-common")
Packit Service 64969d
  execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
Packit Service 64969d
  if (GCC_VERSION VERSION_GREATER 4.0 OR GCC_VERSION VERSION_EQUAL 4.0)
Packit Service 64969d
      set(RMQ_C_FLAGS "${RMQ_C_FLAGS} -fvisibility=hidden")
Packit Service 64969d
  endif()
Packit Service 64969d
  set(CMAKE_C_FLAGS "${RMQ_C_FLAGS} ${CMAKE_C_FLAGS}")
Packit Service 64969d
endif ()
Packit Service 64969d
Packit Service 64969d
CHECK_C_COMPILER_FLAG("-std=gnu90" HAVE_GNU90)
Packit Service 64969d
if (HAVE_GNU90)
Packit Service 64969d
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu90")
Packit Service 64969d
else()
Packit Service 64969d
  CHECK_C_COMPILER_FLAG("-std=c90" HAVE_C90)
Packit Service 64969d
  if (HAVE_C90)
Packit Service 64969d
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c90")
Packit Service 64969d
  endif()
Packit Service 64969d
endif()
Packit Service 64969d
Packit Service 64969d
option(REGENERATE_AMQP_FRAMING "Regenerate amqp_framing.h/amqp_framing.c sources (for developer use)" OFF)
Packit Service 64969d
mark_as_advanced(REGENERATE_AMQP_FRAMING)
Packit Service 64969d
Packit Service 64969d
if (REGENERATE_AMQP_FRAMING)
Packit Service 64969d
  find_package(PythonInterp)
Packit Service 64969d
  if (NOT PYTHONINTERP_FOUND)
Packit Service 64969d
    message(FATAL_ERROR "REGENERATE_AMQP_FRAMING requires Python to be available")
Packit Service 64969d
  endif ()
Packit Service 64969d
Packit Service 64969d
  #Determine Python Version:
Packit Service 64969d
  if(PYTHON_EXECUTABLE)
Packit Service 64969d
    execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
Packit Service 64969d
      "import sys; sys.stdout.write(';'.join([str(x) for x in sys.version_info[:3]]))"
Packit Service 64969d
      OUTPUT_VARIABLE _VERSION
Packit Service 64969d
      RESULT_VARIABLE _PYTHON_VERSION_RESULT
Packit Service 64969d
      ERROR_QUIET)
Packit Service 64969d
    if(NOT _PYTHON_VERSION_RESULT)
Packit Service 64969d
      string(REPLACE ";" "." PYTHON_VERSION_STRING "${_VERSION}")
Packit Service 64969d
      list(GET _VERSION 0 PYTHON_VERSION_MAJOR)
Packit Service 64969d
      list(GET _VERSION 1 PYTHON_VERSION_MINOR)
Packit Service 64969d
      list(GET _VERSION 2 PYTHON_VERSION_PATCH)
Packit Service 64969d
      if(PYTHON_VERSION_PATCH EQUAL 0)
Packit Service 64969d
        # it's called "Python 2.7", not "2.7.0"
Packit Service 64969d
        string(REGEX REPLACE "\\.0$" "" PYTHON_VERSION_STRING "${PYTHON_VERSION_STRING}")
Packit Service 64969d
      endif()
Packit Service 64969d
    else()
Packit Service 64969d
      # sys.version predates sys.version_info, so use that
Packit Service 64969d
      execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.version)"
Packit Service 64969d
        OUTPUT_VARIABLE _VERSION
Packit Service 64969d
        RESULT_VARIABLE _PYTHON_VERSION_RESULT
Packit Service 64969d
        ERROR_QUIET)
Packit Service 64969d
      if(NOT _PYTHON_VERSION_RESULT)
Packit Service 64969d
        string(REGEX REPLACE " .*" "" PYTHON_VERSION_STRING "${_VERSION}")
Packit Service 64969d
        string(REGEX REPLACE "^([0-9]+)\\.[0-9]+.*" "\\1" PYTHON_VERSION_MAJOR "${PYTHON_VERSION_STRING}")
Packit Service 64969d
        string(REGEX REPLACE "^[0-9]+\\.([0-9])+.*" "\\1" PYTHON_VERSION_MINOR "${PYTHON_VERSION_STRING}")
Packit Service 64969d
        if(PYTHON_VERSION_STRING MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+.*")
Packit Service 64969d
          string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" PYTHON_VERSION_PATCH "${PYTHON_VERSION_STRING}")
Packit Service 64969d
        else()
Packit Service 64969d
          set(PYTHON_VERSION_PATCH "0")
Packit Service 64969d
        endif()
Packit Service 64969d
      else()
Packit Service 64969d
        # sys.version was first documented for Python 1.5, so assume
Packit Service 64969d
        # this is older.
Packit Service 64969d
        set(PYTHON_VERSION_STRING "1.4")
Packit Service 64969d
        set(PYTHON_VERSION_MAJOR "1")
Packit Service 64969d
        set(PYTHON_VERSION_MAJOR "4")
Packit Service 64969d
        set(PYTHON_VERSION_MAJOR "0")
Packit Service 64969d
      endif()
Packit Service 64969d
    endif()
Packit Service 64969d
    unset(_PYTHON_VERSION_RESULT)
Packit Service 64969d
    unset(_VERSION)
Packit Service 64969d
  endif(PYTHON_EXECUTABLE)
Packit Service 64969d
Packit Service 64969d
  # If we're running v3.x look for a 2to3 utility
Packit Service 64969d
  if (PYTHON_VERSION_MAJOR GREATER 2)
Packit Service 64969d
    get_filename_component(PYTHON_EXE_DIR ${PYTHON_EXECUTABLE} PATH)
Packit Service 64969d
    find_program(PYTHON_2TO3_EXECUTABLE
Packit Service 64969d
      NAMES 2to3
Packit Service 64969d
      HINTS ${PYTHON_EXE_DIR}
Packit Service 64969d
      )
Packit Service 64969d
Packit Service 64969d
    if ("PYTHON_2TO3_EXECUTABLE-NOTFOUND" STREQUAL PYTHON_2TO3_EXECUTABLE)
Packit Service 64969d
      message(FATAL_ERROR "Unable to find 2to3 python utility, specify python 2.7 or specify 2to3 utility")
Packit Service 64969d
    endif ()
Packit Service 64969d
  endif (PYTHON_VERSION_MAJOR GREATER 2)
Packit Service 64969d
Packit Service 64969d
Packit Service 64969d
  #check for json or simplejson
Packit Service 64969d
  execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import json"
Packit Service 64969d
    RESULT_VARIABLE CHECK_PYTHON_JSON_FAILED
Packit Service 64969d
  )
Packit Service 64969d
Packit Service 64969d
  if (CHECK_PYTHON_JSON_FAILED)
Packit Service 64969d
    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import simplejson"
Packit Service 64969d
      RESULT_VARIABLE CHECK_PYTHON_SIMPLEJSON_FAILED
Packit Service 64969d
    )
Packit Service 64969d
Packit Service 64969d
    if (CHECK_PYTHON_SIMPLEJSON_FAILED)
Packit Service 64969d
      message(FATAL_ERROR "REGENERATE_AMQP_FRAMING requires a python with json or simplejson modules")
Packit Service 64969d
    endif (CHECK_PYTHON_SIMPLEJSON_FAILED)
Packit Service 64969d
  endif (CHECK_PYTHON_JSON_FAILED)
Packit Service 64969d
Packit Service 64969d
Packit Service 64969d
  find_path(AMQP_CODEGEN_DIR
Packit Service 64969d
    amqp_codegen.py
Packit Service 64969d
    PATHS ${CMAKE_CURRENT_SOURCE_DIR}/codegen
Packit Service 64969d
          ${CMAKE_CURRENT_SOURCE_DIR}/rabbitmq-codegen
Packit Service 64969d
          ${CMAKE_CURRENT_SOURCE_DIR}/../rabbitmq-codegen
Packit Service 64969d
          DOC "Path to directory containing amqp_codegen.py (rabbitmq-codegen)"
Packit Service 64969d
          NO_DEFAULT_PATH
Packit Service 64969d
          )
Packit Service 64969d
Packit Service 64969d
  if (AMQP_CODEGEN_DIR STREQUAL "AMQP_CODEGEN_DIR-NOTFOUND")
Packit Service 64969d
    message(SEND_ERROR "REGENERATE_AMQP_FRAMING requires the amqp_codegen.py script. If this is a git clone you can:\n\ngit submodule init\ngit submodule update\n\n Or set AMQP_CODEGEN_DIR to directory containing amqp_codegen.py")
Packit Service 64969d
  else ()
Packit Service 64969d
    message(STATUS "Found amqp_codegen.py in ${AMQP_CODEGEN_DIR}")
Packit Service 64969d
  endif()
Packit Service 64969d
endif (REGENERATE_AMQP_FRAMING)
Packit Service 64969d
Packit Service 64969d
find_package(POPT)
Packit Service 64969d
find_package(XmlTo)
Packit Service 64969d
find_package(Doxygen)
Packit Service 64969d
Packit Service 64969d
if (POPT_FOUND AND XmlTo_FOUND)
Packit Service 64969d
  set(DO_DOCS ON)
Packit Service 64969d
endif()
Packit Service 64969d
Packit Service 64969d
Packit Service 64969d
option(BUILD_SHARED_LIBS "Build rabbitmq-c as a shared library" ON)
Packit Service 64969d
option(BUILD_STATIC_LIBS "Build rabbitmq-c as a static library" ON)
Packit Service 64969d
Packit Service 64969d
option(BUILD_EXAMPLES "Build Examples" ON)
Packit Service 64969d
option(BUILD_TOOLS "Build Tools (requires POPT Library)" ${POPT_FOUND})
Packit Service 64969d
option(BUILD_TOOLS_DOCS "Build man pages for Tools (requires xmlto)" ${DO_DOCS})
Packit Service 64969d
option(BUILD_TESTS "Build tests (run tests with make test)" ON)
Packit Service 64969d
option(BUILD_API_DOCS "Build Doxygen API docs" ${DOXYGEN_FOUND})
Packit Service 64969d
Packit Service 64969d
if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS)
Packit Service 64969d
    message(FATAL_ERROR "One or both of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be set to ON to build")
Packit Service 64969d
endif()
Packit Service 64969d
Packit Service 64969d
add_subdirectory(librabbitmq)
Packit Service 64969d
Packit Service 64969d
if (BUILD_EXAMPLES)
Packit Service 64969d
  add_subdirectory(examples)
Packit Service 64969d
endif ()
Packit Service 64969d
Packit Service 64969d
if (BUILD_TOOLS)
Packit Service 64969d
  if (POPT_FOUND)
Packit Service 64969d
    add_subdirectory(tools)
Packit Service 64969d
  else ()
Packit Service 64969d
    message(WARNING "POpt library was not found. Tools will not be built")
Packit Service 64969d
  endif ()
Packit Service 64969d
endif ()
Packit Service 64969d
Packit Service 64969d
if (BUILD_TESTS)
Packit Service 64969d
  if (NOT BUILD_STATIC_LIBS)
Packit Service 64969d
    message(FATAL_ERROR
Packit Service 64969d
      "Tests can only be built against static libraries "
Packit Service 64969d
      "(set BUILD_STATIC_LIBS=ON)")
Packit Service 64969d
  endif ()
Packit Service 64969d
  enable_testing()
Packit Service 64969d
  add_subdirectory(tests)
Packit Service 64969d
endif (BUILD_TESTS)
Packit Service 64969d
Packit Service 64969d
if (BUILD_API_DOCS)
Packit Service 64969d
  if (NOT DOXYGEN_FOUND)
Packit Service 64969d
    message(FATAL_ERROR "Doxygen is required to build the API documentation")
Packit Service 64969d
  endif ()
Packit Service 64969d
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/docs/Doxyfile @ONLY)
Packit Service 64969d
Packit Service 64969d
  add_custom_target(docs
Packit Service 64969d
    COMMAND ${DOXYGEN_EXECUTABLE}
Packit Service 64969d
    VERBATIM
Packit Service 64969d
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs
Packit Service 64969d
    DEPENDS rabbitmq
Packit Service 64969d
    COMMENT "Generating API documentation"
Packit Service 64969d
    SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in
Packit Service 64969d
    )
Packit Service 64969d
endif ()
Packit Service 64969d
Packit Service 64969d
set(libs_private ${SOCKET_LIBRARIES} ${LIBRT})
Packit Service 64969d
if (ENABLE_SSL_SUPPORT)
Packit Service 64969d
  set(requires_private "openssl")
Packit Service 64969d
  set(libs_private ${libs_private} ${CMAKE_THREAD_LIBS_INIT})
Packit Service 64969d
endif()
Packit Service 64969d
Packit Service 64969d
set(prefix ${CMAKE_INSTALL_PREFIX})
Packit Service 64969d
set(exec_prefix "\${prefix}")
Packit Service 64969d
set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
Packit Service 64969d
set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
Packit Service 64969d
Packit Service 64969d
configure_file(cmake/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq/config.h)
Packit Service 64969d
configure_file(librabbitmq.pc.in ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq.pc @ONLY)
Packit Service 64969d
Packit Service 64969d
install(FILES
Packit Service 64969d
  ${CMAKE_CURRENT_BINARY_DIR}/librabbitmq.pc
Packit Service 64969d
  DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
Packit Service 64969d
  )
Packit Service 64969d
Packit Service 64969d
if (BUILD_SHARED_LIBS)
Packit Service 64969d
  message(STATUS "Building rabbitmq as a shared library - yes")
Packit Service 64969d
else ()
Packit Service 64969d
  message(STATUS "Building rabbitmq as a shared library - no")
Packit Service 64969d
endif ()
Packit Service 64969d
Packit Service 64969d
if (BUILD_STATIC_LIBS)
Packit Service 64969d
  message(STATUS "Building rabbitmq as a static library - yes")
Packit Service 64969d
else ()
Packit Service 64969d
  message(STATUS "Building rabbitmq as a static library - no")
Packit Service 64969d
endif ()