blob: 96702803db48b83491153f11e94172bc18edb188 (
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
|
project(librabbitmq "C")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
file(COPY "${AMQP_CODEGEN_DIR}/amqp_codegen.py" "codegen.py"
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
)
file(COPY "${AMQP_CODEGEN_DIR}/amqp_codegen.py"
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
)
set(CODEGEN_PY "${CMAKE_CURRENT_BINARY_DIR}/codegen.py")
#generate amqp_framing.h/amqp_framing.c
add_custom_command(
OUTPUT "amqp_framing.h" "amqp_framing.c"
COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} header ${AMQP_SPEC_JSON_PATH} "amqp_framing.h"
COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} body ${AMQP_SPEC_JSON_PATH} "amqp_framing.c"
DEPENDS ${AMQP_SPEC_JSON_PATH}
VERBATIM)
#prepare config.h
file(WRITE "config.h" "#define VERSION \"0.0.1\"")
include_directories("unix")
set(RABBITMQ_SOURCES
${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.h
${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.c
amqp_api.c amqp.h
amqp_connection.c amqp_mem.c amqp_private.h amqp_socket.c amqp_table.c
unix/socket.h unix/socket.c
)
add_library(rabbitmq ${RABBITMQ_SOURCES})
|