diff options
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | CMakeLists.txt | 99 | ||||
m--------- | codegen | 0 | ||||
-rw-r--r-- | librabbitmq/CMakeLists.txt | 50 |
4 files changed, 2 insertions, 150 deletions
diff --git a/.gitmodules b/.gitmodules index b7f37f7..0f0c3df 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "codegen"] - path = codegen - url = https://github.com/rabbitmq/rabbitmq-codegen.git [submodule "travis/run-clang-format"] path = travis/run-clang-format url = https://github.com/Sarcasm/run-clang-format.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 887a295..6c9a0a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,105 +120,6 @@ if (ENABLE_SSL_SUPPORT) cmake_pop_check_state() endif() -option(REGENERATE_AMQP_FRAMING "Regenerate amqp_framing.h/amqp_framing.c sources (for developer use)" OFF) -mark_as_advanced(REGENERATE_AMQP_FRAMING) - -if (REGENERATE_AMQP_FRAMING) - find_package(PythonInterp) - if (NOT PYTHONINTERP_FOUND) - message(FATAL_ERROR "REGENERATE_AMQP_FRAMING requires Python to be available") - endif () - - #Determine Python Version: - if(PYTHON_EXECUTABLE) - execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c - "import sys; sys.stdout.write(';'.join([str(x) for x in sys.version_info[:3]]))" - OUTPUT_VARIABLE _VERSION - RESULT_VARIABLE _PYTHON_VERSION_RESULT - ERROR_QUIET) - if(NOT _PYTHON_VERSION_RESULT) - string(REPLACE ";" "." PYTHON_VERSION_STRING "${_VERSION}") - list(GET _VERSION 0 PYTHON_VERSION_MAJOR) - list(GET _VERSION 1 PYTHON_VERSION_MINOR) - list(GET _VERSION 2 PYTHON_VERSION_PATCH) - if(PYTHON_VERSION_PATCH EQUAL 0) - # it's called "Python 2.7", not "2.7.0" - string(REGEX REPLACE "\\.0$" "" PYTHON_VERSION_STRING "${PYTHON_VERSION_STRING}") - endif() - else() - # sys.version predates sys.version_info, so use that - execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.version)" - OUTPUT_VARIABLE _VERSION - RESULT_VARIABLE _PYTHON_VERSION_RESULT - ERROR_QUIET) - if(NOT _PYTHON_VERSION_RESULT) - string(REGEX REPLACE " .*" "" PYTHON_VERSION_STRING "${_VERSION}") - string(REGEX REPLACE "^([0-9]+)\\.[0-9]+.*" "\\1" PYTHON_VERSION_MAJOR "${PYTHON_VERSION_STRING}") - string(REGEX REPLACE "^[0-9]+\\.([0-9])+.*" "\\1" PYTHON_VERSION_MINOR "${PYTHON_VERSION_STRING}") - if(PYTHON_VERSION_STRING MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+.*") - string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" PYTHON_VERSION_PATCH "${PYTHON_VERSION_STRING}") - else() - set(PYTHON_VERSION_PATCH "0") - endif() - else() - # sys.version was first documented for Python 1.5, so assume - # this is older. - set(PYTHON_VERSION_STRING "1.4") - set(PYTHON_VERSION_MAJOR "1") - set(PYTHON_VERSION_MAJOR "4") - set(PYTHON_VERSION_MAJOR "0") - endif() - endif() - unset(_PYTHON_VERSION_RESULT) - unset(_VERSION) - endif(PYTHON_EXECUTABLE) - - # If we're running v3.x look for a 2to3 utility - if (PYTHON_VERSION_MAJOR GREATER 2) - get_filename_component(PYTHON_EXE_DIR ${PYTHON_EXECUTABLE} PATH) - find_program(PYTHON_2TO3_EXECUTABLE - NAMES 2to3 - HINTS ${PYTHON_EXE_DIR} - ) - - if ("PYTHON_2TO3_EXECUTABLE-NOTFOUND" STREQUAL PYTHON_2TO3_EXECUTABLE) - message(FATAL_ERROR "Unable to find 2to3 python utility, specify python 2.7 or specify 2to3 utility") - endif () - endif (PYTHON_VERSION_MAJOR GREATER 2) - - - #check for json or simplejson - execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import json" - RESULT_VARIABLE CHECK_PYTHON_JSON_FAILED - ) - - if (CHECK_PYTHON_JSON_FAILED) - execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import simplejson" - RESULT_VARIABLE CHECK_PYTHON_SIMPLEJSON_FAILED - ) - - if (CHECK_PYTHON_SIMPLEJSON_FAILED) - message(FATAL_ERROR "REGENERATE_AMQP_FRAMING requires a python with json or simplejson modules") - endif (CHECK_PYTHON_SIMPLEJSON_FAILED) - endif (CHECK_PYTHON_JSON_FAILED) - - - find_path(AMQP_CODEGEN_DIR - amqp_codegen.py - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/codegen - ${CMAKE_CURRENT_SOURCE_DIR}/rabbitmq-codegen - ${CMAKE_CURRENT_SOURCE_DIR}/../rabbitmq-codegen - DOC "Path to directory containing amqp_codegen.py (rabbitmq-codegen)" - NO_DEFAULT_PATH - ) - - if (AMQP_CODEGEN_DIR STREQUAL "AMQP_CODEGEN_DIR-NOTFOUND") - 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") - else () - message(STATUS "Found amqp_codegen.py in ${AMQP_CODEGEN_DIR}") - endif() -endif (REGENERATE_AMQP_FRAMING) - find_package(Doxygen) if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) diff --git a/codegen b/codegen deleted file mode 160000 -Subproject 0a95a69f86cdc2b538f4c58241840563fe4ccf4 diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt index ee9555c..de59954 100644 --- a/librabbitmq/CMakeLists.txt +++ b/librabbitmq/CMakeLists.txt @@ -1,49 +1,3 @@ -if (REGENERATE_AMQP_FRAMING) - 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") - set(AMQP_FRAMING_H_PATH ${CMAKE_CURRENT_BINARY_DIR}/../include/rabbitmq-c/framing.h) - set(AMQP_FRAMING_C_PATH ${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.c) - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/rabbitmq-c) - - if (PYTHON_VERSION_MAJOR GREATER 2) - set(CONVERT_CODEGEN ${PYTHON_2TO3_EXECUTABLE} -w ${CODEGEN_PY} > codegen_2to3.out) - set(CONVERT_AMQP_CODEGEN ${PYTHON_2TO3_EXECUTABLE} -w ${AMQP_CODEGEN_PY} > amqp_codegen_2to3.out) - else () - set(CONVERT_CODEGEN "") - set(CONVERT_AMQP_CODEGEN "") - endif () - - add_custom_command( - OUTPUT ${CODEGEN_PY} - COMMAND ${CMAKE_COMMAND} ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/codegen.py ${CODEGEN_PY} - COMMAND ${CONVERT_CODEGEN} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen.py - VERBATIM) - - add_custom_command( - OUTPUT ${AMQP_CODEGEN_PY} - COMMAND ${CMAKE_COMMAND} ARGS -E copy ${AMQP_CODEGEN_DIR}/amqp_codegen.py ${AMQP_CODEGEN_PY} - COMMAND ${CONVERT_AMQP_CODEGEN} - DEPENDS ${AMQP_CODEGEN_DIR}/amqp_codegen.py ${AMQP_CODEGEN_TARGET} - VERBATIM) - - add_custom_command( - OUTPUT ${AMQP_FRAMING_H_PATH} - COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} header ${AMQP_SPEC_JSON_PATH} ${AMQP_FRAMING_H_PATH} - DEPENDS ${AMQP_SPEC_JSON_PATH} ${CODEGEN_PY} ${AMQP_CODEGEN_PY} - VERBATIM) - - add_custom_command( - OUTPUT ${AMQP_FRAMING_C_PATH} - COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} body ${AMQP_SPEC_JSON_PATH} ${AMQP_FRAMING_C_PATH} - DEPENDS ${AMQP_SPEC_JSON_PATH} ${CODEGEN_PY} ${AMQP_CODEGEN_PY} - VERBATIM) -else (REGENERATE_AMQP_FRAMING) - set(AMQP_FRAMING_H_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../include/rabbitmq-c/framing.h) - set(AMQP_FRAMING_C_PATH ${CMAKE_CURRENT_SOURCE_DIR}/amqp_framing.c) -endif (REGENERATE_AMQP_FRAMING) - if (ENABLE_SSL_SUPPORT) SET(AMQP_SSL_SOCKET_SHIM_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../include/amqp_ssl_socket.h) set(AMQP_SSL_SOCKET_H_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../include/rabbitmq-c/ssl_socket.h) @@ -87,13 +41,13 @@ set(RMQ_SOURCES ${AMQP_SSL_SOCKET_SHIM_PATH} ../include/amqp_tcp_socket.h ../include/rabbitmq-c/amqp.h - ${AMQP_FRAMING_H_PATH} + ../include/rabbitmq-c/framing.h ${AMQP_SSL_SOCKET_H_PATH} ../include/rabbitmq-c/tcp_socket.h amqp_api.c amqp_connection.c amqp_consumer.c - ${AMQP_FRAMING_C_PATH} + amqp_framing.c amqp_mem.c ${AMQP_SSL_SRCS} amqp_private.h |