summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 39e2a5b8d9125fa7084146a657c291dda2af2cc2 (plain)
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
cmake_minimum_required(VERSION 2.6)
project(rabbitmq-c)

#detect amqp_codegen directory
find_path(AMQP_CODEGEN_DIR "amqp-rabbitmq-0.9.1.json"
  PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../rabbitmq-codegen" "${CMAKE_CURRENT_SOURCE_DIR}/../codegen"
  NO_DEFAULT_PATH)

if(NOT AMQP_CODEGEN_DIR)
  message(FATAL_ERROR "rabbitmq-codegen not found")
else()
  message(STATUS "rabbitmq-codegen found at ${AMQP_CODEGEN_DIR}")
  set(AMQP_SPEC_JSON_PATH "${AMQP_CODEGEN_DIR}/amqp-rabbitmq-0.9.1.json")
endif()

#find python
find_package(PythonInterp REQUIRED)

#check simplejson
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import json"
  RESULT_VARIABLE CHECK_PYTHON_JSON_FAILED
)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import simplejson"
  RESULT_VARIABLE CHECK_PYTHON_SIMPLEJSON_FAILED
)
if(CHECK_PYTHON_JSON_FAILED AND CHECK_PYTHON_SIMPLEJSON_FAILED)
  message(FATAL_ERROR "could not find a python that can 'import simplejson")
endif()

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR})
include(TestCInline)

add_subdirectory(librabbitmq)
add_subdirectory(examples)