You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2013/12/04 23:19:02 UTC

svn commit: r1547933 - in /qpid/trunk/qpid/cpp/bindings: qmf2/python/CMakeLists.txt qmf2/python/cqmf2.i qmf2/python/python.i qmf2/ruby/CMakeLists.txt qpid/python/CMakeLists.txt qpid/python/python.i qpid/python/qpid_messaging.i qpid/ruby/CMakeLists.txt

Author: astitcher
Date: Wed Dec  4 22:19:02 2013
New Revision: 1547933

URL: http://svn.apache.org/r1547933
Log:
QPID-5394: Fix the binding dependencies so that we no longer keep on rebuilding the python swig bindings unnecessarily

Added:
    qpid/trunk/qpid/cpp/bindings/qmf2/python/cqmf2.i
      - copied, changed from r1547921, qpid/trunk/qpid/cpp/bindings/qmf2/python/python.i
    qpid/trunk/qpid/cpp/bindings/qpid/python/qpid_messaging.i
      - copied, changed from r1547921, qpid/trunk/qpid/cpp/bindings/qpid/python/python.i
Removed:
    qpid/trunk/qpid/cpp/bindings/qmf2/python/python.i
    qpid/trunk/qpid/cpp/bindings/qpid/python/python.i
Modified:
    qpid/trunk/qpid/cpp/bindings/qmf2/python/CMakeLists.txt
    qpid/trunk/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt
    qpid/trunk/qpid/cpp/bindings/qpid/python/CMakeLists.txt
    qpid/trunk/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt

Modified: qpid/trunk/qpid/cpp/bindings/qmf2/python/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qmf2/python/CMakeLists.txt?rev=1547933&r1=1547932&r2=1547933&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/qmf2/python/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/bindings/qmf2/python/CMakeLists.txt Wed Dec  4 22:19:02 2013
@@ -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}
         )

Copied: qpid/trunk/qpid/cpp/bindings/qmf2/python/cqmf2.i (from r1547921, qpid/trunk/qpid/cpp/bindings/qmf2/python/python.i)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qmf2/python/cqmf2.i?p2=qpid/trunk/qpid/cpp/bindings/qmf2/python/cqmf2.i&p1=qpid/trunk/qpid/cpp/bindings/qmf2/python/python.i&r1=1547921&r2=1547933&rev=1547933&view=diff
==============================================================================
    (empty)

Modified: qpid/trunk/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt?rev=1547933&r1=1547932&r2=1547933&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt Wed Dec  4 22:19:02 2013
@@ -20,7 +20,9 @@
 ##------------------------------------------------------
 ## Use Swig to generate a literal binding to the C++ API
 ##------------------------------------------------------
-set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES CPLUSPLUS ON)
+set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES
+    CPLUSPLUS ON
+    SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include;-I${qpid-cpp_SOURCE_DIR}/bindings")
 
 if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
   set (RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_PATH})
@@ -30,6 +32,10 @@ include_directories(${RUBY_INCLUDE_DIRS}
                     ${qpid-cpp_SOURCE_DIR}/include
                     ${qpid-cpp_SOURCE_DIR}/bindings)
 
+list(APPEND SWIG_MODULE_cqmf2_ruby_EXTRA_DEPS
+    ${CMAKE_SOURCE_DIR}/include/qmf/qmf2.i
+    ${CMAKE_SOURCE_DIR}/include/qpid/swig_ruby_typemaps.i
+)
 swig_add_module(cqmf2_ruby ruby ${CMAKE_CURRENT_SOURCE_DIR}/ruby.i)
 swig_link_libraries(cqmf2_ruby qmf2 ${RUBY_LIBRARY})
 

Modified: qpid/trunk/qpid/cpp/bindings/qpid/python/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/python/CMakeLists.txt?rev=1547933&r1=1547932&r2=1547933&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/qpid/python/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/bindings/qpid/python/CMakeLists.txt Wed Dec  4 22:19:02 2013
@@ -20,15 +20,19 @@
 ##------------------------------------------------------
 ## 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")
-
-list(APPEND SWIG_MODULE_qpid_messaging_python_EXTRA_DEPS
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/qpid/qpid.i
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/qpid/swig_python_typemaps.i
+
+# 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(${CMAKE_CURRENT_SOURCE_DIR}/qpid_messaging.i PROPERTIES
+    CPLUSPLUS ON
+    SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include;-I${qpid-cpp_SOURCE_DIR}/bindings")
+
+list(APPEND SWIG_MODULE_qpid_messaging_EXTRA_DEPS
+    ${CMAKE_SOURCE_DIR}/include/qpid/qpid.i
+    ${CMAKE_SOURCE_DIR}/include/qpid/swig_python_typemaps.i
 )
-swig_add_module(qpid_messaging python ${CMAKE_CURRENT_SOURCE_DIR}/python.i)
+swig_add_module(qpid_messaging python ${CMAKE_CURRENT_SOURCE_DIR}/qpid_messaging.i)
 swig_link_libraries(qpid_messaging qpidmessaging qpidtypes ${PYTHON_LIBRARIES})
 
 set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing")

Copied: qpid/trunk/qpid/cpp/bindings/qpid/python/qpid_messaging.i (from r1547921, qpid/trunk/qpid/cpp/bindings/qpid/python/python.i)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/python/qpid_messaging.i?p2=qpid/trunk/qpid/cpp/bindings/qpid/python/qpid_messaging.i&p1=qpid/trunk/qpid/cpp/bindings/qpid/python/python.i&r1=1547921&r2=1547933&rev=1547933&view=diff
==============================================================================
    (empty)

Modified: qpid/trunk/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt?rev=1547933&r1=1547932&r2=1547933&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt Wed Dec  4 22:19:02 2013
@@ -29,7 +29,9 @@ set(GEM_OUTPUT_FILE ${GEM_OUTPUT_PATH}/p
 ##------------------------------------------------------
 ## Use Swig to generate a literal binding to the C++ API
 ##------------------------------------------------------
-set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES CPLUSPLUS ON)
+set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES
+    CPLUSPLUS ON
+    SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include;-I${qpid-cpp_SOURCE_DIR}/bindings")
 
 if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
   set (RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_PATH})
@@ -40,8 +42,8 @@ include_directories(${RUBY_INCLUDE_DIRS}
                     ${qpid-cpp_SOURCE_DIR}/bindings)
 
 list(APPEND SWIG_MODULE_cqpid_ruby_EXTRA_DEPS
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/qpid/qpid.i
-    ${CMAKE_CURRENT_SOURCE_DIR}/../../../include/qpid/swig_ruby_typemaps.i
+    ${CMAKE_SOURCE_DIR}/include/qpid/qpid.i
+    ${CMAKE_SOURCE_DIR}/include/qpid/swig_ruby_typemaps.i
 )
 swig_add_module(cqpid_ruby ruby ${CMAKE_CURRENT_SOURCE_DIR}/ruby.i)
 swig_link_libraries(cqpid_ruby qpidmessaging qpidtypes qmf2 ${RUBY_LIBRARY})



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org