diff options
author | Alan Antonuk <aega@med.umich.edu> | 2011-06-06 17:25:25 -0400 |
---|---|---|
committer | Alan Antonuk <aega@med.umich.edu> | 2011-06-06 17:25:25 -0400 |
commit | de2436dbc025f23ed51bee65ceff4c6219cfcbed (patch) | |
tree | 91a381c28cf064b5be26dfa7a8440c9ff99ee13e /librabbitmq | |
parent | e054a2e4f24d56ff3d737df9776d6ffeb829e2aa (diff) | |
download | rabbitmq-c-github-ask-de2436dbc025f23ed51bee65ceff4c6219cfcbed.tar.gz |
Changes to support building on Win32/64
Diffstat (limited to 'librabbitmq')
-rw-r--r-- | librabbitmq/CMakeLists.txt | 47 |
1 files changed, 35 insertions, 12 deletions
diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt index d6af3da..eb6ba74 100644 --- a/librabbitmq/CMakeLists.txt +++ b/librabbitmq/CMakeLists.txt @@ -2,33 +2,56 @@ 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} -) +# Stuff dealing with code generation +configure_file(codegen.py ${CMAKE_CURRENT_BINARY_DIR}/codegen.py) +configure_file(${AMQP_CODEGEN_DIR}/amqp_codegen.py ${CMAKE_CURRENT_BINARY_DIR}/amqp_codegen.py) + +set(AMQP_CODEGEN_PY "${CMAKE_CURRENT_BINARY_DIR}/amqp_codegen.py") 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" + OUTPUT "amqp_framing.h" COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} header ${AMQP_SPEC_JSON_PATH} "amqp_framing.h" + DEPENDS ${AMQP_SPEC_JSON_PATH} ${CODEGEN_PY} ${AMQP_CODEGEN_PY} + VERBATIM) + +add_custom_command( + OUTPUT "amqp_framing.c" COMMAND ${PYTHON_EXECUTABLE} ARGS ${CODEGEN_PY} body ${AMQP_SPEC_JSON_PATH} "amqp_framing.c" - DEPENDS ${AMQP_SPEC_JSON_PATH} + DEPENDS ${AMQP_SPEC_JSON_PATH} ${CODEGEN_PY} ${AMQP_CODEGEN_PY} VERBATIM) + +SET(CONFIG_CONTENTS "#define VERSION \"0.0.1\" +#ifndef __cplusplus +# define inline ${C_INLINE} +#endif // __cplusplus +") + #prepare config.h -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config.h" "#define VERSION \"0.0.1\"") +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config.h" ${CONFIG_CONTENTS}) -include_directories("unix") +if(WIN32) + set(SOCKET_IMPL "windows") + set(MSINTTYPES_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/../msinttypes") +else(WIN32) + set(SOCKET_IMPL "unix") +endif(WIN32) + +include_directories(${SOCKET_IMPL} ${MSINTTYPES_INCLUDE}) +add_definitions(-DBUILDING_LIBRABBITMQ) 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 + ${SOCKET_IMPL}/socket.h ${SOCKET_IMPL}/socket.c ) -add_library(rabbitmq ${RABBITMQ_SOURCES}) +add_library(rabbitmq SHARED ${RABBITMQ_SOURCES}) + +if(WIN32) + target_link_libraries(rabbitmq ws2_32) +endif(WIN32) |