summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Antonuk <aega@med.umich.edu>2011-11-04 11:32:38 -0400
committerAlan Antonuk <aega@med.umich.edu>2011-11-04 11:32:38 -0400
commite1cd16dfc37619a9a953f1e3e2ee611bb97ebec0 (patch)
tree0f69adcee801c97b29705c122426a71467aa8205
parentf5ff8ec5fcebf819b8fbf8b20aff0ce2364553cc (diff)
downloadrabbitmq-c-github-ask-e1cd16dfc37619a9a953f1e3e2ee611bb97ebec0.tar.gz
codegen.py should be copied to the bin directory
Codegen.py should be copied to the bin directory and not the source directory.
-rw-r--r--CMakeLists.txt1
-rw-r--r--librabbitmq/CMakeLists.txt16
2 files changed, 12 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a03152..7601431 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,6 +39,7 @@ if (FETCH_CODEGEN_FROM_GIT)
ExternalProject_Get_Property(amqp_codegen SOURCE_DIR)
set(AMQP_CODEGEN_DIR ${SOURCE_DIR} CACHE PATH "Path to rabbitmq-codegen" FORCE)
+ SET(AMQP_CODEGEN_TARGET amqp_codegen)
message(STATUS "Using amqp_codegen.py in ${AMQP_CODEGEN_DIR}")
else (FETCH_CODEGEN_FROM_GIT)
find_path(RABBITMQ_CODEGEN_DIR
diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt
index d851451..3302e77 100644
--- a/librabbitmq/CMakeLists.txt
+++ b/librabbitmq/CMakeLists.txt
@@ -3,25 +3,31 @@ project(librabbitmq "C")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Stuff dealing with code generation
-set(AMQP_CODEGEN_PY "${AMQP_CODEGEN_DIR}/amqp_codegen.py")
-set(CODEGEN_PY "${AMQP_CODEGEN_DIR}/codegen.py")
+set(AMQP_CODEGEN_PY "${CMAKE_CURRENT_BINARY_DIR}/amqp_codegen.py")
+set(CODEGEN_PY "${CMAKE_CURRENT_BINARY_DIR}/codegen.py")
set(AMQP_SPEC_JSON_PATH "${AMQP_CODEGEN_DIR}/amqp-rabbitmq-0.9.1.json")
#generate amqp_framing.h/amqp_framing.c
add_custom_command(
OUTPUT ${CODEGEN_PY}
COMMAND ${CMAKE_COMMAND} ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/codegen.py ${CODEGEN_PY}
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen.py ${AMQP_CODEGEN_DIR} amqp_codegen
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen.py
VERBATIM)
add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.h
+ OUTPUT ${AMQP_CODEGEN_PY}
+ COMMAND ${CMAKE_COMMAND} ARGS -E copy ${AMQP_CODEGEN_DIR}/amqp_codegen.py ${AMQP_CODEGEN_PY}
+ DEPENDS ${AMQP_CODEGEN_DIR}/amqp_codegen.py ${AMQP_CODEGEN_TARGET}
+ VERBATIM)
+
+add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.h
COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} header ${AMQP_SPEC_JSON_PATH} ${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.h
DEPENDS ${AMQP_SPEC_JSON_PATH} ${CODEGEN_PY} ${AMQP_CODEGEN_PY}
VERBATIM)
add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.c
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.c
COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} body ${AMQP_SPEC_JSON_PATH} ${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.c
DEPENDS ${AMQP_SPEC_JSON_PATH} ${CODEGEN_PY} ${AMQP_CODEGEN_PY}
VERBATIM)