diff options
author | Alan Antonuk <aega@med.umich.edu> | 2011-08-31 12:19:57 -0400 |
---|---|---|
committer | Alan Antonuk <aega@med.umich.edu> | 2011-08-31 12:19:57 -0400 |
commit | 38c21a4a4e7d7f4d56564766c3eecb315140ab7e (patch) | |
tree | f6fda7b1142b521107c3a40c46d7dc3a1db6440b /CMakeLists.txt | |
parent | 6320f871c824c997772d68de75b2fe8c53ddf4fb (diff) | |
download | rabbitmq-c-github-ask-38c21a4a4e7d7f4d56564766c3eecb315140ab7e.tar.gz |
Adding the codegen stuff as an ExternalProject
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 39e2a5b..1cac545 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,35 +1,42 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 2.8) project(rabbitmq-c) -#detect amqp_codegen directory -find_path(AMQP_CODEGEN_DIR "amqp-rabbitmq-0.9.1.json" - PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../rabbitmq-codegen" "${CMAKE_CURRENT_SOURCE_DIR}/../codegen" - NO_DEFAULT_PATH) - -if(NOT AMQP_CODEGEN_DIR) - message(FATAL_ERROR "rabbitmq-codegen not found") -else() - message(STATUS "rabbitmq-codegen found at ${AMQP_CODEGEN_DIR}") - set(AMQP_SPEC_JSON_PATH "${AMQP_CODEGEN_DIR}/amqp-rabbitmq-0.9.1.json") -endif() - #find python find_package(PythonInterp REQUIRED) -#check simplejson +#check for json or simplejson execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import json" RESULT_VARIABLE CHECK_PYTHON_JSON_FAILED ) -execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import simplejson" - RESULT_VARIABLE CHECK_PYTHON_SIMPLEJSON_FAILED -) -if(CHECK_PYTHON_JSON_FAILED AND CHECK_PYTHON_SIMPLEJSON_FAILED) - message(FATAL_ERROR "could not find a python that can 'import simplejson") -endif() + +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 "could not find a python that can 'import simplejson") + endif (CHECK_PYTHON_SIMPLEJSON_FAILED) +endif (CHECK_PYTHON_JSON_FAILED) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}) include(TestCInline) +include(ExternalProject) +ExternalProject_Add( + amqp_codegen + GIT_REPOSITORY https://github.com/rabbitmq/rabbitmq-codegen.git + GIT_TAG rabbitmq_v2_5_1 + SOURCE_DIR amqp_codegen + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "") + +ExternalProject_Get_Property(amqp_codegen SOURCE_DIR) +set(AMQP_CODEGEN_DIR ${SOURCE_DIR}) + add_subdirectory(librabbitmq) add_subdirectory(examples) |