diff options
| author | Andrew Stitcher <astitcher@apache.org> | 2013-12-04 22:19:02 +0000 |
|---|---|---|
| committer | Andrew Stitcher <astitcher@apache.org> | 2013-12-04 22:19:02 +0000 |
| commit | 6460f4d8e8ca25b1141f454fa93dee433c60cfb2 (patch) | |
| tree | a614d34d5b697b1b71d60d00c16d96bd1954e2a5 /qpid/cpp/bindings/qmf2/python | |
| parent | d13411746a104d58754a1caa42a286140d573788 (diff) | |
| download | qpid-python-6460f4d8e8ca25b1141f454fa93dee433c60cfb2.tar.gz | |
QPID-5394: Fix the binding dependencies so that we no longer keep on rebuilding the python swig bindings unnecessarily
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1547933 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/bindings/qmf2/python')
| -rw-r--r-- | qpid/cpp/bindings/qmf2/python/CMakeLists.txt | 25 | ||||
| -rw-r--r-- | qpid/cpp/bindings/qmf2/python/cqmf2.i (renamed from qpid/cpp/bindings/qmf2/python/python.i) | 0 |
2 files changed, 18 insertions, 7 deletions
diff --git a/qpid/cpp/bindings/qmf2/python/CMakeLists.txt b/qpid/cpp/bindings/qmf2/python/CMakeLists.txt index 851a33f4e4..b000937ee6 100644 --- a/qpid/cpp/bindings/qmf2/python/CMakeLists.txt +++ b/qpid/cpp/bindings/qmf2/python/CMakeLists.txt @@ -20,13 +20,25 @@ ##------------------------------------------------------ ## Use Swig to generate a literal binding to the C++ API ##------------------------------------------------------ -set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES CPLUSPLUS ON) -set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include;-I${qpid-cpp_SOURCE_DIR}/bindings") -swig_add_module(cqmf2_python python ${CMAKE_CURRENT_SOURCE_DIR}/python.i) -swig_link_libraries(cqmf2_python qmf2 ${PYTHON_LIBRARIES}) +# NB For python the SWIG module name must have the same name as the input .i file for CMake to generate the +# correct dependencies -set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -I${PYTHON_INCLUDE_PATH} -I${qpid-cpp_SOURCE_DIR}/include") +set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/cqmf2.i PROPERTIES + CPLUSPLUS ON + SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include;-I${qpid-cpp_SOURCE_DIR}/bindings") + +list(APPEND SWIG_MODULE_cqmf2_EXTRA_DEPS + ${CMAKE_SOURCE_DIR}/include/qmf/qmf2.i + ${CMAKE_SOURCE_DIR}/include/qpid/swig_python_typemaps.i +) +swig_add_module(cqmf2 python ${CMAKE_CURRENT_SOURCE_DIR}/cqmf2.i) +swig_link_libraries(cqmf2 qmf2 ${PYTHON_LIBRARIES}) + +set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing") +include_directories(${PYTHON_INCLUDE_PATH} + ${qpid-cpp_SOURCE_DIR}/include + ${qpid-cpp_SOURCE_DIR}/bindings) # Move source into binary dir so compiled .pyc,pyo files will be in binary dir. # NOTE: not using the file(COPY) command as it is not available in cmake 2.6 @@ -55,8 +67,7 @@ install(FILES COMPONENT ${QPID_COMPONENT_CLIENT} ) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_cqmf2_python.so - RENAME _cqmf2.so +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_cqmf2.so DESTINATION ${PYTHON_SITEARCH_PACKAGES} COMPONENT ${QPID_COMPONENT_CLIENT} ) diff --git a/qpid/cpp/bindings/qmf2/python/python.i b/qpid/cpp/bindings/qmf2/python/cqmf2.i index 6b5326f8cf..6b5326f8cf 100644 --- a/qpid/cpp/bindings/qmf2/python/python.i +++ b/qpid/cpp/bindings/qmf2/python/cqmf2.i |
