Skip to content

Commit 4c45949

Browse files
committed
cmake: remove framing generation from cmake
This will be replaced with some sort of shell script. Signed-off-by: GitHub <noreply@github.com>
1 parent 6342f39 commit 4c45949

File tree

4 files changed

+2
-151
lines changed

4 files changed

+2
-151
lines changed

.gitmodules

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
[submodule "codegen"]
2-
path = codegen
3-
url = https://github.com/rabbitmq/rabbitmq-codegen.git
41
[submodule "travis/run-clang-format"]
52
path = travis/run-clang-format
63
url = https://github.com/Sarcasm/run-clang-format.git

CMakeLists.txt

Lines changed: 0 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -120,105 +120,6 @@ if (ENABLE_SSL_SUPPORT)
120120
cmake_pop_check_state()
121121
endif()
122122

123-
option(REGENERATE_AMQP_FRAMING "Regenerate amqp_framing.h/amqp_framing.c sources (for developer use)" OFF)
124-
mark_as_advanced(REGENERATE_AMQP_FRAMING)
125-
126-
if (REGENERATE_AMQP_FRAMING)
127-
find_package(PythonInterp)
128-
if (NOT PYTHONINTERP_FOUND)
129-
message(FATAL_ERROR "REGENERATE_AMQP_FRAMING requires Python to be available")
130-
endif ()
131-
132-
#Determine Python Version:
133-
if(PYTHON_EXECUTABLE)
134-
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
135-
"import sys; sys.stdout.write(';'.join([str(x) for x in sys.version_info[:3]]))"
136-
OUTPUT_VARIABLE _VERSION
137-
RESULT_VARIABLE _PYTHON_VERSION_RESULT
138-
ERROR_QUIET)
139-
if(NOT _PYTHON_VERSION_RESULT)
140-
string(REPLACE ";" "." PYTHON_VERSION_STRING "${_VERSION}")
141-
list(GET _VERSION 0 PYTHON_VERSION_MAJOR)
142-
list(GET _VERSION 1 PYTHON_VERSION_MINOR)
143-
list(GET _VERSION 2 PYTHON_VERSION_PATCH)
144-
if(PYTHON_VERSION_PATCH EQUAL 0)
145-
# it's called "Python 2.7", not "2.7.0"
146-
string(REGEX REPLACE "\\.0$" "" PYTHON_VERSION_STRING "${PYTHON_VERSION_STRING}")
147-
endif()
148-
else()
149-
# sys.version predates sys.version_info, so use that
150-
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.version)"
151-
OUTPUT_VARIABLE _VERSION
152-
RESULT_VARIABLE _PYTHON_VERSION_RESULT
153-
ERROR_QUIET)
154-
if(NOT _PYTHON_VERSION_RESULT)
155-
string(REGEX REPLACE " .*" "" PYTHON_VERSION_STRING "${_VERSION}")
156-
string(REGEX REPLACE "^([0-9]+)\\.[0-9]+.*" "\\1" PYTHON_VERSION_MAJOR "${PYTHON_VERSION_STRING}")
157-
string(REGEX REPLACE "^[0-9]+\\.([0-9])+.*" "\\1" PYTHON_VERSION_MINOR "${PYTHON_VERSION_STRING}")
158-
if(PYTHON_VERSION_STRING MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+.*")
159-
string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" PYTHON_VERSION_PATCH "${PYTHON_VERSION_STRING}")
160-
else()
161-
set(PYTHON_VERSION_PATCH "0")
162-
endif()
163-
else()
164-
# sys.version was first documented for Python 1.5, so assume
165-
# this is older.
166-
set(PYTHON_VERSION_STRING "1.4")
167-
set(PYTHON_VERSION_MAJOR "1")
168-
set(PYTHON_VERSION_MAJOR "4")
169-
set(PYTHON_VERSION_MAJOR "0")
170-
endif()
171-
endif()
172-
unset(_PYTHON_VERSION_RESULT)
173-
unset(_VERSION)
174-
endif(PYTHON_EXECUTABLE)
175-
176-
# If we're running v3.x look for a 2to3 utility
177-
if (PYTHON_VERSION_MAJOR GREATER 2)
178-
get_filename_component(PYTHON_EXE_DIR ${PYTHON_EXECUTABLE} PATH)
179-
find_program(PYTHON_2TO3_EXECUTABLE
180-
NAMES 2to3
181-
HINTS ${PYTHON_EXE_DIR}
182-
)
183-
184-
if ("PYTHON_2TO3_EXECUTABLE-NOTFOUND" STREQUAL PYTHON_2TO3_EXECUTABLE)
185-
message(FATAL_ERROR "Unable to find 2to3 python utility, specify python 2.7 or specify 2to3 utility")
186-
endif ()
187-
endif (PYTHON_VERSION_MAJOR GREATER 2)
188-
189-
190-
#check for json or simplejson
191-
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import json"
192-
RESULT_VARIABLE CHECK_PYTHON_JSON_FAILED
193-
)
194-
195-
if (CHECK_PYTHON_JSON_FAILED)
196-
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import simplejson"
197-
RESULT_VARIABLE CHECK_PYTHON_SIMPLEJSON_FAILED
198-
)
199-
200-
if (CHECK_PYTHON_SIMPLEJSON_FAILED)
201-
message(FATAL_ERROR "REGENERATE_AMQP_FRAMING requires a python with json or simplejson modules")
202-
endif (CHECK_PYTHON_SIMPLEJSON_FAILED)
203-
endif (CHECK_PYTHON_JSON_FAILED)
204-
205-
206-
find_path(AMQP_CODEGEN_DIR
207-
amqp_codegen.py
208-
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/codegen
209-
${CMAKE_CURRENT_SOURCE_DIR}/rabbitmq-codegen
210-
${CMAKE_CURRENT_SOURCE_DIR}/../rabbitmq-codegen
211-
DOC "Path to directory containing amqp_codegen.py (rabbitmq-codegen)"
212-
NO_DEFAULT_PATH
213-
)
214-
215-
if (AMQP_CODEGEN_DIR STREQUAL "AMQP_CODEGEN_DIR-NOTFOUND")
216-
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")
217-
else ()
218-
message(STATUS "Found amqp_codegen.py in ${AMQP_CODEGEN_DIR}")
219-
endif()
220-
endif (REGENERATE_AMQP_FRAMING)
221-
222123
find_package(Doxygen)
223124

224125
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)

codegen

Lines changed: 0 additions & 1 deletion
This file was deleted.

librabbitmq/CMakeLists.txt

Lines changed: 2 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,3 @@
1-
if (REGENERATE_AMQP_FRAMING)
2-
set(AMQP_CODEGEN_PY "${CMAKE_CURRENT_BINARY_DIR}/amqp_codegen.py")
3-
set(CODEGEN_PY "${CMAKE_CURRENT_BINARY_DIR}/codegen.py")
4-
set(AMQP_SPEC_JSON_PATH "${AMQP_CODEGEN_DIR}/amqp-rabbitmq-0.9.1.json")
5-
set(AMQP_FRAMING_H_PATH ${CMAKE_CURRENT_BINARY_DIR}/../include/rabbitmq-c/framing.h)
6-
set(AMQP_FRAMING_C_PATH ${CMAKE_CURRENT_BINARY_DIR}/amqp_framing.c)
7-
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/rabbitmq-c)
8-
9-
if (PYTHON_VERSION_MAJOR GREATER 2)
10-
set(CONVERT_CODEGEN ${PYTHON_2TO3_EXECUTABLE} -w ${CODEGEN_PY} > codegen_2to3.out)
11-
set(CONVERT_AMQP_CODEGEN ${PYTHON_2TO3_EXECUTABLE} -w ${AMQP_CODEGEN_PY} > amqp_codegen_2to3.out)
12-
else ()
13-
set(CONVERT_CODEGEN "")
14-
set(CONVERT_AMQP_CODEGEN "")
15-
endif ()
16-
17-
add_custom_command(
18-
OUTPUT ${CODEGEN_PY}
19-
COMMAND ${CMAKE_COMMAND} ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/codegen.py ${CODEGEN_PY}
20-
COMMAND ${CONVERT_CODEGEN}
21-
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen.py
22-
VERBATIM)
23-
24-
add_custom_command(
25-
OUTPUT ${AMQP_CODEGEN_PY}
26-
COMMAND ${CMAKE_COMMAND} ARGS -E copy ${AMQP_CODEGEN_DIR}/amqp_codegen.py ${AMQP_CODEGEN_PY}
27-
COMMAND ${CONVERT_AMQP_CODEGEN}
28-
DEPENDS ${AMQP_CODEGEN_DIR}/amqp_codegen.py ${AMQP_CODEGEN_TARGET}
29-
VERBATIM)
30-
31-
add_custom_command(
32-
OUTPUT ${AMQP_FRAMING_H_PATH}
33-
COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} header ${AMQP_SPEC_JSON_PATH} ${AMQP_FRAMING_H_PATH}
34-
DEPENDS ${AMQP_SPEC_JSON_PATH} ${CODEGEN_PY} ${AMQP_CODEGEN_PY}
35-
VERBATIM)
36-
37-
add_custom_command(
38-
OUTPUT ${AMQP_FRAMING_C_PATH}
39-
COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} body ${AMQP_SPEC_JSON_PATH} ${AMQP_FRAMING_C_PATH}
40-
DEPENDS ${AMQP_SPEC_JSON_PATH} ${CODEGEN_PY} ${AMQP_CODEGEN_PY}
41-
VERBATIM)
42-
else (REGENERATE_AMQP_FRAMING)
43-
set(AMQP_FRAMING_H_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../include/rabbitmq-c/framing.h)
44-
set(AMQP_FRAMING_C_PATH ${CMAKE_CURRENT_SOURCE_DIR}/amqp_framing.c)
45-
endif (REGENERATE_AMQP_FRAMING)
46-
471
if (ENABLE_SSL_SUPPORT)
482
SET(AMQP_SSL_SOCKET_SHIM_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../include/amqp_ssl_socket.h)
493
set(AMQP_SSL_SOCKET_H_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../include/rabbitmq-c/ssl_socket.h)
@@ -87,13 +41,13 @@ set(RMQ_SOURCES
8741
${AMQP_SSL_SOCKET_SHIM_PATH}
8842
../include/amqp_tcp_socket.h
8943
../include/rabbitmq-c/amqp.h
90-
${AMQP_FRAMING_H_PATH}
44+
../include/rabbitmq-c/framing.h
9145
${AMQP_SSL_SOCKET_H_PATH}
9246
../include/rabbitmq-c/tcp_socket.h
9347
amqp_api.c
9448
amqp_connection.c
9549
amqp_consumer.c
96-
${AMQP_FRAMING_C_PATH}
50+
amqp_framing.c
9751
amqp_mem.c
9852
${AMQP_SSL_SRCS}
9953
amqp_private.h

0 commit comments

Comments
 (0)