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 2017/05/11 00:10:06 UTC

qpid-proton git commit: PROTON-1474: Fix CMake config files and cmake files so that Proton C examples compile separately - This reverts commit ed9532e2ae08b04aa5690d43e9002431bd019c21.A - This introduces Core and Proactor package components to the Proton

Repository: qpid-proton
Updated Branches:
  refs/heads/master 180718f07 -> 24a2ed321


PROTON-1474: Fix CMake config files and cmake files so that Proton C examples compile separately
- This reverts commit ed9532e2ae08b04aa5690d43e9002431bd019c21.A
- This introduces Core and Proactor package components to the Proton CMake config script


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/24a2ed32
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/24a2ed32
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/24a2ed32

Branch: refs/heads/master
Commit: 24a2ed32134e2ae5610be3eb46b9817a40ba969b
Parents: 180718f
Author: Andrew Stitcher <as...@apache.org>
Authored: Fri May 5 18:13:34 2017 -0400
Committer: Andrew Stitcher <as...@apache.org>
Committed: Wed May 10 20:05:18 2017 -0400

----------------------------------------------------------------------
 examples/ProtonConfig.cmake        | 23 +++++++++++++++++++++--
 examples/c/CMakeLists.txt          |  4 +++-
 examples/c/proactor/CMakeLists.txt | 12 +++++-------
 proton-c/CMakeLists.txt            |  8 +++-----
 proton-c/src/ProtonConfig.cmake.in | 25 +++++++++++++++++++------
 5 files changed, 51 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/24a2ed32/examples/ProtonConfig.cmake
----------------------------------------------------------------------
diff --git a/examples/ProtonConfig.cmake b/examples/ProtonConfig.cmake
index fe8709c..e0a2ff8 100644
--- a/examples/ProtonConfig.cmake
+++ b/examples/ProtonConfig.cmake
@@ -28,8 +28,27 @@
 # tree build and installed in the appropriate place for cmake on that system.
 
 set (Proton_VERSION       ${PN_VERSION})
+
 set (Proton_INCLUDE_DIRS  ${CMAKE_SOURCE_DIR}/proton-c/include)
 set (Proton_LIBRARIES     qpid-proton)
-set (ProtonCore_LIBRARIES qpid-proton-core)
-set (ProtonProactor_LIBRARIES qpid-proton-proactor)
 set (Proton_FOUND True)
+
+set (Proton_Core_INCLUDE_DIRS  ${CMAKE_SOURCE_DIR}/proton-c/include)
+set (Proton_Core_LIBRARIES qpid-proton-core)
+set (Proton_Core_FOUND True)
+
+if (${HAS_PROACTOR})
+  set (Proton_Proactor_INCLUDE_DIRS  ${CMAKE_SOURCE_DIR}/proton-c/include)
+  set (Proton_Proactor_LIBRARIES qpid-proton-proactor)
+  set (Proton_Proactor_FOUND True)
+endif()
+
+# Check for all required components
+foreach(comp ${Proton_FIND_COMPONENTS})
+  if(NOT Proton_${comp}_FOUND)
+    if(Proton_FIND_REQUIRED_${comp})
+      set(Proton_FOUND FALSE)
+      set(Proton_NOT_FOUND_MESSAGE "Didn't find required component ${comp}")
+    endif()
+  endif()
+endforeach()

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/24a2ed32/examples/c/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/c/CMakeLists.txt b/examples/c/CMakeLists.txt
index 0fed71b..c78e04c 100644
--- a/examples/c/CMakeLists.txt
+++ b/examples/c/CMakeLists.txt
@@ -21,6 +21,8 @@ find_package(Proton REQUIRED)
 include(CheckCCompilerFlag)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
 
-add_subdirectory(proactor)
+if(Proton_Proactor_FOUND)
+  add_subdirectory(proactor)
+endif()
 add_subdirectory(messenger)
 add_subdirectory(reactor)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/24a2ed32/examples/c/proactor/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/examples/c/proactor/CMakeLists.txt b/examples/c/proactor/CMakeLists.txt
index 9759a7c..11fb073 100644
--- a/examples/c/proactor/CMakeLists.txt
+++ b/examples/c/proactor/CMakeLists.txt
@@ -17,12 +17,13 @@
 # under the License.
 #
 
-find_package(Proton REQUIRED)
+find_package(Proton REQUIRED Core Proactor)
+set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+find_package(Threads REQUIRED)
+
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
 include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${Proton_INCLUDE_DIRS})
 
-if(HAS_PROACTOR)
-
 add_definitions(${COMPILE_LANGUAGE_FLAGS} ${COMPILE_WARNING_FLAGS} ${WERROR} ${COMPILE_PLATFORM_FLAGS} ${LINK_TIME_OPTIMIZATION})
 
 # Add a test with the correct environment to find test executables and valgrind.
@@ -30,16 +31,13 @@ if(WIN32)
   set(test_path "$<TARGET_FILE_DIR:broker>;$<TARGET_FILE_DIR:qpid-proton>")
 else(WIN32)
   set(test_path "${CMAKE_CURRENT_BINARY_DIR}:$ENV{PATH}")
-  set(PLATFORM_LIBS pthread)
 endif(WIN32)
 
 foreach(name broker send receive direct)
   add_executable(proactor-${name} ${name}.c)
-  target_link_libraries(proactor-${name} ${ProtonProactor_LIBRARIES} ${PLATFORM_LIBS})
+  target_link_libraries(proactor-${name} ${Proton_Proactor_LIBRARIES} ${Proton_Core_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
   set_target_properties(proactor-${name} PROPERTIES OUTPUT_NAME ${name})
 endforeach()
 
 set(run_env ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/proton-c/env.py ${EXAMPLE_ENV} "PATH=${test_path}" ${VALGRIND_ENV})
 add_test(c-example-proactor ${run_env} -- ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test.py -v)
-
-endif(HAS_PROACTOR)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/24a2ed32/proton-c/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/proton-c/CMakeLists.txt b/proton-c/CMakeLists.txt
index 5589a11..33933b8 100644
--- a/proton-c/CMakeLists.txt
+++ b/proton-c/CMakeLists.txt
@@ -608,8 +608,9 @@ if (MSVC)
 endif(MSVC)
 
 if (qpid-proton-proactor)
-  set(HAS_PROACTOR 1)
-  set(HAS_PROACTOR 1 PARENT_SCOPE) # Visible to examples
+  # Bizarre CMake variable setting
+  set(HAS_PROACTOR True)
+  set(HAS_PROACTOR ${HAS_PROACTOR} PARENT_SCOPE)
   add_library (
     qpid-proton-proactor SHARED ${qpid-proton-proactor})
   target_link_libraries (qpid-proton-proactor  LINK_PUBLIC qpid-proton-core)
@@ -666,9 +667,6 @@ configure_lib(PROTONLIB qpid-proton)
 configure_lib(PROTONCORELIB qpid-proton-core)
 if(HAS_PROACTOR)
   configure_lib(PROTONPROACTORLIB qpid-proton-proactor)
-  # For ProtonConfig.in
-  set(PROTONPROACTOR_INCLUDE_DIRS ${INCLUDEDIR})
-  set(PROTONPROACTOR_LIBRARIES "optimized ${LIBDIR}/${PROTONPROACTORLIB} debug ${LIBDIR}/${PROTONPROACTORLIBDEBUG}")
 endif(HAS_PROACTOR)
 
 include(WriteBasicConfigVersionFile)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/24a2ed32/proton-c/src/ProtonConfig.cmake.in
----------------------------------------------------------------------
diff --git a/proton-c/src/ProtonConfig.cmake.in b/proton-c/src/ProtonConfig.cmake.in
index 5a09d68..5b23be0 100644
--- a/proton-c/src/ProtonConfig.cmake.in
+++ b/proton-c/src/ProtonConfig.cmake.in
@@ -26,12 +26,25 @@ set (Proton_VERSION       @PN_VERSION@)
 
 set (Proton_INCLUDE_DIRS  @INCLUDEDIR@)
 set (Proton_LIBRARIES     optimized @LIBDIR@/@PROTONLIB@ debug @LIBDIR@/@PROTONLIBDEBUG@)
+set (Proton_FOUND True)
 
-set (ProtonCore_INCLUDE_DIRS  @INCLUDEDIR@)
-set (ProtonCore_LIBRARIES     optimized @LIBDIR@/@PROTONCORELIB@ debug @LIBDIR@/@PROTONCORELIBDEBUG@)
+set (Proton_Core_INCLUDE_DIRS  @INCLUDEDIR@)
+set (Proton_Core_LIBRARIES     optimized @LIBDIR@/@PROTONCORELIB@ debug @LIBDIR@/@PROTONCORELIBDEBUG@)
+set (Proton_Core_FOUND True)
 
-set (ProtonProactor_INCLUDE_DIRS  @PROTONPROACTOR_INCLUDE_DIRS@)
-set (ProtonProactor_LIBRARIES     @PROTONPROACTOR_LIBRARIES@)
-set (ProtonProactor_FOUND         @HAS_PROACTOR@)
+set (HAS_PROACTOR @HAS_PROACTOR@)
+if (HAS_PROACTOR)
+  set (Proton_Proactor_INCLUDE_DIRS  @INCLUDEDIR@)
+  set (Proton_Proactor_LIBRARIES     optimized @LIBDIR@/@PROTONPROACTORLIB@ debug @LIBDIR@/@PROTONPROACTORLIBDEBUG@)
+  set (Proton_Proactor_FOUND True)
+endif()
 
-set (Proton_FOUND True)
+# Check for all required components
+foreach(comp ${Proton_FIND_COMPONENTS})
+  if(NOT Proton_${comp}_FOUND)
+    if(Proton_FIND_REQUIRED_${comp})
+      set(Proton_FOUND FALSE)
+      set(Proton_NOT_FOUND_MESSAGE "Didn't find required component ${comp}")
+    endif()
+  endif()
+endforeach()


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