From e1cd16dfc37619a9a953f1e3e2ee611bb97ebec0 Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Fri, 4 Nov 2011 11:32:38 -0400 Subject: codegen.py should be copied to the bin directory Codegen.py should be copied to the bin directory and not the source directory. --- CMakeLists.txt | 1 + librabbitmq/CMakeLists.txt | 16 +++++++++++----- 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) -- cgit v1.2.1