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/09/04 00:09:18 UTC
svn commit: r1519866 - in /qpid/trunk/qpid/cpp:
bindings/qmf2/examples/cpp/CMakeLists.txt examples/messaging/CMakeLists.txt
src/CMakeLists.txt src/amqp.cmake src/qpid/store/CMakeLists.txt
src/rdma.cmake src/tests/CMakeLists.txt
Author: astitcher
Date: Tue Sep 3 22:09:17 2013
New Revision: 1519866
URL: http://svn.apache.org/r1519866
Log:
QPID-5111: Make library dependencies clearer in build system
- Use -as-needed to link libraries to avoid unnecessary libraries
- Tidyup mess with nss and qpid-proton libraries
Modified:
qpid/trunk/qpid/cpp/bindings/qmf2/examples/cpp/CMakeLists.txt
qpid/trunk/qpid/cpp/examples/messaging/CMakeLists.txt
qpid/trunk/qpid/cpp/src/CMakeLists.txt
qpid/trunk/qpid/cpp/src/amqp.cmake
qpid/trunk/qpid/cpp/src/qpid/store/CMakeLists.txt
qpid/trunk/qpid/cpp/src/rdma.cmake
qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt
Modified: qpid/trunk/qpid/cpp/bindings/qmf2/examples/cpp/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qmf2/examples/cpp/CMakeLists.txt?rev=1519866&r1=1519865&r2=1519866&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/qmf2/examples/cpp/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/bindings/qmf2/examples/cpp/CMakeLists.txt Tue Sep 3 22:09:17 2013
@@ -57,10 +57,10 @@ macro(add_example subdir example)
add_executable(${subdir}_${example} ${example}.cpp)
set_target_properties(${subdir}_${example} PROPERTIES OUTPUT_NAME ${example})
if (${ARGC} GREATER 2)
- target_link_libraries(${subdir}_${example} ${ARGN} qpidclient
+ target_link_libraries(${subdir}_${example} ${ARGN} qpidmessaging qpidtypes
${_boost_libs_needed})
else (${ARGC} GREATER 2)
- target_link_libraries(${subdir}_${example} qpidclient
+ target_link_libraries(${subdir}_${example} qpidmessaging qpidtypes
${_boost_libs_needed})
endif (${ARGC} GREATER 2)
endmacro(add_example)
Modified: qpid/trunk/qpid/cpp/examples/messaging/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/examples/messaging/CMakeLists.txt?rev=1519866&r1=1519865&r2=1519866&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/examples/messaging/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/examples/messaging/CMakeLists.txt Tue Sep 3 22:09:17 2013
@@ -23,7 +23,7 @@
macro(add_messaging_example example)
add_executable(${example} ${example}.cpp OptionParser.cpp)
set_target_properties(${example} PROPERTIES OUTPUT_NAME ${example})
- target_link_libraries(${example} qpidmessaging ${_boost_libs_needed})
+ target_link_libraries(${example} qpidmessaging qpidtypes ${_boost_libs_needed})
# For installs, don't install the built example; that would be pointless.
# Install the things a user needs to build the example on-site.
install (FILES
Modified: qpid/trunk/qpid/cpp/src/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/CMakeLists.txt?rev=1519866&r1=1519865&r2=1519866&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/CMakeLists.txt Tue Sep 3 22:09:17 2013
@@ -279,6 +279,9 @@ if (ENABLE_VALGRIND AND NOT VALGRIND)
message(STATUS "Can't locate the valgrind command; no run-time error detection")
endif (ENABLE_VALGRIND AND NOT VALGRIND)
+# Do not keep on linking against transitive library dependencies
+set (CMAKE_LINK_INTERFACE_LIBRARIES "")
+
if (CMAKE_COMPILER_IS_GNUCXX)
# Warnings: Enable as many as possible, keep the code clean. Please
# do not disable warnings or remove -Werror without discussing on
@@ -295,12 +298,13 @@ if (CMAKE_COMPILER_IS_GNUCXX)
if (CMAKE_SYSTEM_NAME STREQUAL SunOS)
set (CATCH_UNDEFINED "")
endif (CMAKE_SYSTEM_NAME STREQUAL SunOS)
- set (COMPILER_FLAGS "-fvisibility-inlines-hidden")
+ set (COMPILER_FLAGS "-fvisibility-inlines-hidden -Wl,--as-needed")
# gcc 4.1.2 on RHEL 5 needs -Wno-attributes to avoid an error that's fixed
# in later gcc versions.
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
OUTPUT_VARIABLE GCC_VERSION)
if (GCC_VERSION VERSION_EQUAL 4.1.2)
+ set (COMPILER_FLAGS "-Wl,--as-needed")
message (STATUS "Cannot use -fvisibility=hidden on gcc 4.1.2")
else (GCC_VERSION VERSION_EQUAL 4.1.2)
set (HIDE_SYMBOL_FLAGS "-fno-visibility-inlines-hidden -fvisibility=hidden")
@@ -534,13 +538,15 @@ include_directories( ${CMAKE_CURRENT_BIN
link_directories( ${Boost_LIBRARY_DIRS} )
-CHECK_LIBRARY_EXISTS (rt clock_gettime "" CLOCK_GETTIME_IN_RT)
-if (NOT CLOCK_GETTIME_IN_RT)
- CHECK_FUNCTION_EXISTS (clock_gettime QPID_HAS_CLOCK_GETTIME)
-else (NOT CLOCK_GETTIME_IN_RT)
- set(CMAKE_REQUIRED_LIBS ${CMAKE_REQUIRED_LIBS} rt)
- set(QPID_HAS_CLOCK_GETTIME YES CACHE BOOL "Platform has clock_gettime")
-endif (NOT CLOCK_GETTIME_IN_RT)
+CHECK_FUNCTION_EXISTS (clock_gettime CLOCK_GETTIME_IN_LIBC)
+if (NOT CLOCK_GETTIME_IN_LIBC)
+ CHECK_LIBRARY_EXISTS (rt clock_gettime "" CLOCK_GETTIME_IN_RT)
+ if (CLOCK_GETTIME_IN_RT)
+ set(clock_gettime_LIB "rt")
+ else ()
+ message(FATAL_ERROR "Cannot find clock_gettime()")
+ endif (CLOCK_GETTIME_IN_RT)
+endif (NOT CLOCK_GETTIME_IN_LIBC)
# Check for header file for dtrace static probes
check_include_files(sys/sdt.h HAVE_SYS_SDT_H)
@@ -572,6 +578,7 @@ if (NOT CMAKE_SYSTEM_NAME STREQUAL Windo
if (NOT HAVE_UUID AND NOT HAVE_UUID_H)
message(FATAL_ERROR "Uuid library and/or header file not found")
endif (NOT HAVE_UUID AND NOT HAVE_UUID_H)
+ set (uuid_LIB "uuid")
endif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
# See if Cyrus SASL is desired and available
@@ -599,7 +606,7 @@ if (BUILD_SASL)
qpid/sys/cyrus/CyrusSecurityLayer.h
qpid/sys/cyrus/CyrusSecurityLayer.cpp
)
- set(qpidcommon_sasl_lib sasl2)
+ set(sasl_LIB sasl2)
else (BUILD_SASL)
set(HAVE_SASL OFF)
set(BROKER_SASL_NAME "qpidd" CACHE STRING "SASL app name for the qpid broker")
@@ -628,27 +635,21 @@ if (BUILD_SSL)
set (sslcommon_SOURCES
qpid/sys/windows/SslAsynchIO.cpp
)
+
set (ssl_SOURCES
qpid/broker/windows/SslProtocolFactory.cpp
)
+
set (sslconnector_SOURCES
qpid/client/windows/SslConnector.cpp
)
- set (windows_ssl_libs Secur32.lib)
- set (windows_ssl_server_libs Crypt32.lib)
+ set (ssl_LIBS Secur32.lib)
+ set (ssl_server_LIBS Crypt32.lib Secur32.lib)
else (CMAKE_SYSTEM_NAME STREQUAL Windows)
if (NOT NSS_FOUND)
message(FATAL_ERROR "nss/nspr not found, required for ssl support")
endif (NOT NSS_FOUND)
- foreach(f ${NSS_CFLAGS})
- set (NSS_COMPILE_FLAGS "${NSS_COMPILE_FLAGS} ${f}")
- endforeach(f)
-
- foreach(f ${NSS_LDFLAGS})
- set (NSS_LINK_FLAGS "${NSS_LINK_FLAGS} ${f}")
- endforeach(f)
-
set (sslcommon_SOURCES
qpid/sys/ssl/check.h
qpid/sys/ssl/check.cpp
@@ -667,13 +668,9 @@ if (BUILD_SSL)
qpid/messaging/amqp/SslTransport.cpp
)
- set_source_files_properties (
- ${sslcommon_SOURCES}
- ${ssl_SOURCES}
- ${sslconnector_SOURCES}
- PROPERTIES
- COMPILE_FLAGS "${NSS_COMPILE_FLAGS}"
- )
+ set (ssl_INCLUDES "${NSS_INCLUDE_DIRS}")
+ set (ssl_LIBS "${NSS_LIBRARIES}")
+ set (ssl_server_LIBS "${NSS_LIBRARIES}")
endif (CMAKE_SYSTEM_NAME STREQUAL Windows)
endif (BUILD_SSL)
@@ -714,7 +711,7 @@ if (BUILD_XML)
qpid/xml/XmlExchange.cpp
qpid/xml/XmlExchange.h
qpid/xml/XmlExchangePlugin.cpp)
- target_link_libraries (xml xerces-c xqilla qpidbroker pthread)
+ target_link_libraries (xml xerces-c xqilla qpidbroker qpidcommon)
set_target_properties (xml PROPERTIES
PREFIX ""
COMPILE_DEFINITIONS _IN_QPID_BROKER
@@ -805,13 +802,13 @@ if (BUILD_HA)
)
add_library (ha MODULE ${ha_SOURCES})
- set_target_properties (ha PROPERTIES PREFIX "" COMPILE_DEFINITIONS _IN_QPID_BROKER)
- target_link_libraries (ha qpidtypes qpidcommon qpidbroker qpidmessaging)
- if (CMAKE_COMPILER_IS_GNUCXX)
- set_target_properties (ha PROPERTIES
- PREFIX ""
- LINK_FLAGS -Wl,--no-undefined)
- endif (CMAKE_COMPILER_IS_GNUCXX)
+ target_link_libraries (ha
+ qpidtypes qpidcommon qpidbroker qpidmessaging
+ "${Boost_PROGRAM_OPTIONS_LIBRARY}")
+ set_target_properties (ha PROPERTIES
+ PREFIX ""
+ COMPILE_DEFINITIONS _IN_QPID_BROKER
+ LINK_FLAGS "${CATCH_UNDEFINED}")
install (TARGETS ha
DESTINATION ${QPIDD_MODULE_DIR}
COMPONENT ${QPID_COMPONENT_BROKER})
@@ -861,20 +858,20 @@ if (CMAKE_SYSTEM_NAME STREQUAL Windows)
)
set (qpidcommon_platform_LIBS
- ${Boost_THREAD_LIBRARY} ${windows_ssl_libs} ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_DATE_TIME_LIBRARY} ${Boost_SYSTEM_LIBRARY} ws2_32 )
+ ${Boost_THREAD_LIBRARY}
+ ${Boost_DATE_TIME_LIBRARY}
+ ${Boost_SYSTEM_LIBRARY}
+ ws2_32
+ )
+
set (qpidbroker_platform_SOURCES
qpid/broker/windows/BrokerDefaults.cpp
qpid/broker/windows/SaslAuthenticator.cpp
)
- set (qpidbroker_platform_LIBS
- ${windows_ssl_libs} ${windows_ssl_server_libs}
- )
+
set (qpidclient_platform_SOURCES
qpid/client/windows/ClientDllMain.cpp
)
- set (qpidclient_platform_LIBS
- ${windows_ssl_libs}
- )
set (qpidd_platform_SOURCES
windows/QpiddBroker.cpp
@@ -935,8 +932,7 @@ else (CMAKE_SYSTEM_NAME STREQUAL Windows
set (qpidtypes_platform_SOURCES)
set (qpidtypes_platform_LIBS
- uuid
- ${Boost_SYSTEM_LIBRARY}
+ "${uuid_LIB}"
)
set (qpidcommon_platform_SOURCES
@@ -961,9 +957,11 @@ else (CMAKE_SYSTEM_NAME STREQUAL Windows
${qpid_system_module}
${qpid_poller_module}
)
+
set (qpidcommon_platform_LIBS
- ${Boost_PROGRAM_OPTIONS_LIBRARY}
- ${CMAKE_DL_LIBS}
+ "${CMAKE_DL_LIBS}"
+ "${clock_gettime_LIB}"
+ "${uuid_LIB}"
)
set (qpidbroker_platform_SOURCES
@@ -1092,20 +1090,21 @@ set (qpidcommon_SOURCES
add_msvc_version (qpidcommon library dll)
add_library (qpidcommon SHARED ${qpidcommon_SOURCES})
-if (CLOCK_GETTIME_IN_RT)
- set (qpidcommon_platform_LIBS ${qpidcommon_platform_LIBS} rt)
-endif (CLOCK_GETTIME_IN_RT)
-# Not all platforms have NSS_LINK_FLAGS
-if (NSS_LINK_FLAGS)
- set (qpidcommon_LINK_FLAGS LINK_FLAGS ${NSS_LINK_FLAGS})
-endif (NSS_LINK_FLAGS)
+
target_link_libraries (qpidcommon qpidtypes
${qpidcommon_platform_LIBS}
- ${qpidcommon_sasl_lib})
+ ${Boost_PROGRAM_OPTIONS_LIBRARY}
+ "${sasl_LIB}"
+ "${ssl_LIBS}")
+
+get_target_property(qpidcommon_includes qpidcommon INCLUDE_DIRECTORIES)
+list(APPEND qpidcommon_includes ${ssl_INCLUDES})
set_target_properties (qpidcommon PROPERTIES
+ INCLUDE_DIRECTORIES "${qpidcommon_includes}"
VERSION ${qpidcommon_version}
- SOVERSION ${qpidcommon_version_major}
- ${qpidcommon_LINK_FLAGS})
+ SOVERSION ${qpidcommon_version_major})
+unset(qpidcommon_includes)
+
install (TARGETS qpidcommon
DESTINATION ${QPID_INSTALL_LIBDIR}
COMPONENT ${QPID_COMPONENT_COMMON})
@@ -1178,9 +1177,19 @@ set (qpidclient_SOURCES
add_msvc_version (qpidclient library dll)
add_library (qpidclient SHARED ${qpidclient_SOURCES})
-target_link_libraries (qpidclient qpidcommon ${qpidclient_platform_LIBS})
-set_target_properties (qpidclient PROPERTIES VERSION ${qpidclient_version}
-SOVERSION ${qpidclient_version_major})
+
+target_link_libraries (qpidclient qpidcommon
+ ${Boost_PROGRAM_OPTIONS_LIBRARY}
+ "${ssl_LIBS}")
+
+get_target_property(qpidclient_includes qpidclient INCLUDE_DIRECTORIES)
+list(APPEND qpidclient_includes ${ssl_INCLUDES})
+set_target_properties (qpidclient PROPERTIES
+ INCLUDE_DIRECTORIES "${qpidclient_includes}"
+ VERSION ${qpidclient_version}
+ SOVERSION ${qpidclient_version_major})
+unset(qpidclient_includes)
+
install (TARGETS qpidclient
DESTINATION ${QPID_INSTALL_LIBDIR}
COMPONENT ${QPID_COMPONENT_CLIENT})
@@ -1251,7 +1260,7 @@ set_source_files_properties(
add_msvc_version (qpidmessaging library dll)
add_library (qpidmessaging SHARED ${qpidmessaging_SOURCES})
-target_link_libraries (qpidmessaging qpidclient)
+target_link_libraries (qpidmessaging qpidtypes qpidclient qpidcommon)
set_target_properties (qpidmessaging PROPERTIES
LINK_FLAGS "${HIDE_SYMBOL_FLAGS} ${LINK_VERSION_SCRIPT_FLAG}"
VERSION ${qpidmessaging_version}
@@ -1377,11 +1386,21 @@ set (qpidbroker_SOURCES
)
add_msvc_version (qpidbroker library dll)
add_library (qpidbroker SHARED ${qpidbroker_SOURCES})
-target_link_libraries (qpidbroker qpidcommon ${qpidbroker_platform_LIBS})
+
+target_link_libraries (qpidbroker qpidcommon qpidtypes
+ "${Boost_PROGRAM_OPTIONS_LIBRARY}"
+ "${sasl_LIB}"
+ "${ssl_server_LIBS}")
+
+get_target_property(qpidbroker_includes qpidcommon INCLUDE_DIRECTORIES)
+list(APPEND qpidbroker_includes ${ssl_INCLUDES})
set_target_properties (qpidbroker PROPERTIES
+ INCLUDE_DIRECTORIES "${qpidbroker_includes}"
VERSION ${qpidbroker_version}
SOVERSION ${qpidbroker_version_major}
COMPILE_DEFINITIONS _IN_QPID_BROKER)
+unset(qpidbroker_includes)
+
if (MSVC)
set_target_properties (qpidbroker PROPERTIES COMPILE_FLAGS /wd4290)
endif (MSVC)
Modified: qpid/trunk/qpid/cpp/src/amqp.cmake
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/amqp.cmake?rev=1519866&r1=1519865&r2=1519866&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/amqp.cmake (original)
+++ qpid/trunk/qpid/cpp/src/amqp.cmake Tue Sep 3 22:09:17 2013
@@ -48,15 +48,6 @@ if (BUILD_AMQP)
message(FATAL_ERROR "Qpid proton not found, required for amqp 1.0 support")
endif (NOT PROTON_FOUND)
- foreach(f ${PROTON_CFLAGS})
- set (PROTON_COMPILE_FLAGS "${PROTON_COMPILE_FLAGS} ${f}")
- endforeach(f)
-
- foreach(f ${PROTON_LDFLAGS})
- set (PROTON_LINK_FLAGS "${PROTON_LINK_FLAGS} ${f}")
- endforeach(f)
-
-
set (amqp_SOURCES
qpid/broker/amqp/Authorise.h
qpid/broker/amqp/Authorise.cpp
@@ -108,18 +99,21 @@ if (BUILD_AMQP)
qpid/broker/amqp/Translation.h
qpid/broker/amqp/Translation.cpp
)
+
+ include_directories(${PROTON_INCLUDE_DIRS})
+ link_directories(${PROTON_LIBRARY_DIRS})
+
add_library (amqp MODULE ${amqp_SOURCES})
- target_link_libraries (amqp qpidbroker qpidcommon)
+ target_link_libraries (amqp qpidtypes qpidbroker qpidcommon ${PROTON_LIBRARIES} ${Boost_PROGRAM_OPTIONS_LIBRARY})
set_target_properties (amqp PROPERTIES
PREFIX ""
- COMPILE_FLAGS "${PROTON_COMPILE_FLAGS}"
- LINK_FLAGS "${PROTON_LINK_FLAGS}")
- set_target_properties (amqp PROPERTIES COMPILE_DEFINITIONS _IN_QPID_BROKER)
+ LINK_FLAGS "${CATCH_UNDEFINED}"
+ COMPILE_DEFINITIONS _IN_QPID_BROKER)
+
install (TARGETS amqp
DESTINATION ${QPIDD_MODULE_DIR}
COMPONENT ${QPID_COMPONENT_BROKER})
-
set (amqpc_SOURCES
qpid/messaging/amqp/AddressHelper.h
qpid/messaging/amqp/AddressHelper.cpp
@@ -147,11 +141,11 @@ if (BUILD_AMQP)
qpid/messaging/amqp/TcpTransport.cpp
)
add_library (amqpc MODULE ${amqpc_SOURCES})
- target_link_libraries (amqpc qpidmessaging qpidclient qpidcommon)
+ target_link_libraries (amqpc qpidmessaging qpidtypes qpidclient qpidcommon ${PROTON_LIBRARIES})
set_target_properties (amqpc PROPERTIES
PREFIX ""
- COMPILE_FLAGS "${PROTON_COMPILE_FLAGS}"
- LINK_FLAGS "${PROTON_LINK_FLAGS}")
+ LINK_FLAGS "${CATCH_UNDEFINED}")
+
install (TARGETS amqpc
DESTINATION ${QPIDC_MODULE_DIR}
COMPONENT ${QPID_COMPONENT_CLIENT})
Modified: qpid/trunk/qpid/cpp/src/qpid/store/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/store/CMakeLists.txt?rev=1519866&r1=1519865&r2=1519866&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/store/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/qpid/store/CMakeLists.txt Tue Sep 3 22:09:17 2013
@@ -32,7 +32,7 @@ set (store_SOURCES
MessageStorePlugin.cpp
)
add_library (store MODULE ${store_SOURCES})
-target_link_libraries (store qpidbroker ${Boost_PROGRAM_OPTIONS_LIBRARY})
+target_link_libraries (store qpidbroker qpidcommon ${Boost_PROGRAM_OPTIONS_LIBRARY})
if (CMAKE_COMPILER_IS_GNUCXX)
set (GCC_CATCH_UNDEFINED "-Wl,--no-undefined")
# gcc on SunOS uses native linker whose "-z defs" is too fussy
Modified: qpid/trunk/qpid/cpp/src/rdma.cmake
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/rdma.cmake?rev=1519866&r1=1519865&r2=1519866&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/rdma.cmake (original)
+++ qpid/trunk/qpid/cpp/src/rdma.cmake Tue Sep 3 22:09:17 2013
@@ -78,7 +78,7 @@ if (BUILD_RDMA)
COMPONENT ${QPID_COMPONENT_COMMON})
add_library (rdma MODULE qpid/sys/RdmaIOPlugin.cpp)
- target_link_libraries (rdma qpidbroker rdmawrap)
+ target_link_libraries (rdma qpidbroker qpidcommon rdmawrap)
set_target_properties (rdma PROPERTIES
COMPILE_DEFINITIONS _IN_QPID_BROKER
LINK_FLAGS "${CATCH_UNDEFINED}"
@@ -94,7 +94,7 @@ if (BUILD_RDMA)
COMPONENT ${QPID_COMPONENT_BROKER})
add_library (rdmaconnector MODULE qpid/client/RdmaConnector.cpp)
- target_link_libraries (rdmaconnector qpidclient rdmawrap)
+ target_link_libraries (rdmaconnector qpidclient qpidcommon rdmawrap)
set_target_properties (rdmaconnector PROPERTIES
LINK_FLAGS "${CATCH_UNDEFINED}"
PREFIX "")
Modified: qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt?rev=1519866&r1=1519865&r2=1519866&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt Tue Sep 3 22:09:17 2013
@@ -171,7 +171,7 @@ add_executable (unit_test unit_test
${actual_unit_tests} ${platform_test_additions})
target_link_libraries (unit_test
${qpid_test_boost_libs}
- qpidmessaging qpidbroker)
+ qpidmessaging qpidtypes qpidbroker qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
set_target_properties (unit_test PROPERTIES COMPILE_DEFINITIONS _IN_QPID_BROKER)
remember_location(unit_test)
@@ -191,105 +191,104 @@ endif (BUILD_SASL)
# Other test programs
#
add_executable (qpid-perftest qpid-perftest.cpp ${platform_test_additions})
-target_link_libraries (qpid-perftest qpidclient)
+target_link_libraries (qpid-perftest qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#qpid_perftest_SOURCES=qpid-perftest.cpp test_tools.h TestOptions.h ConnectionOptions.h
remember_location(qpid-perftest)
add_executable (qpid-txtest qpid-txtest.cpp ${platform_test_additions})
-target_link_libraries (qpid-txtest qpidclient)
+target_link_libraries (qpid-txtest qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#qpid_txtest_SOURCES=qpid-txtest.cpp TestOptions.h ConnectionOptions.h
remember_location(qpid-txtest)
add_executable (qpid-latency-test qpid-latency-test.cpp ${platform_test_additions})
-target_link_libraries (qpid-latency-test qpidclient)
+target_link_libraries (qpid-latency-test qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#qpid_latencytest_SOURCES=qpid-latency-test.cpp TestOptions.h ConnectionOptions.h
remember_location(qpid-latency-test)
add_executable (echotest echotest.cpp ${platform_test_additions})
-target_link_libraries (echotest qpidclient)
+target_link_libraries (echotest qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#echotest_SOURCES=echotest.cpp TestOptions.h ConnectionOptions.h
remember_location(echotest)
add_executable (qpid-client-test qpid-client-test.cpp ${platform_test_additions})
-target_link_libraries (qpid-client-test qpidclient)
+target_link_libraries (qpid-client-test qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#qpid_client_test_SOURCES=qpid-client-test.cpp TestOptions.h ConnectionOptions.h
remember_location(qpid-client-test)
add_executable (qpid-topic-listener qpid-topic-listener.cpp ${platform_test_additions})
-target_link_libraries (qpid-topic-listener qpidclient)
+target_link_libraries (qpid-topic-listener qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#qpid_topic_listener_SOURCES=qpid-topic-listener.cpp TestOptions.h ConnectionOptions.h
remember_location(qpid-topic-listener)
add_executable (qpid-topic-publisher qpid-topic-publisher.cpp ${platform_test_additions})
-target_link_libraries (qpid-topic-publisher qpidclient)
+target_link_libraries (qpid-topic-publisher qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#qpid_topic_publisher_SOURCES=qpid-topic-publisher.cpp TestOptions.h ConnectionOptions.h
remember_location(qpid-topic-publisher)
add_executable (publish publish.cpp ${platform_test_additions})
-target_link_libraries (publish qpidclient)
+target_link_libraries (publish qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#publish_SOURCES=publish.cpp TestOptions.h ConnectionOptions.h
remember_location(publish)
add_executable (consume consume.cpp ${platform_test_additions})
-target_link_libraries (consume qpidclient)
+target_link_libraries (consume qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#consume_SOURCES=consume.cpp TestOptions.h ConnectionOptions.h
remember_location(consume)
add_executable (header_test header_test.cpp ${platform_test_additions})
-target_link_libraries (header_test qpidclient)
+target_link_libraries (header_test qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#header_test_SOURCES=header_test.cpp TestOptions.h ConnectionOptions.h
remember_location(header_test)
add_executable (declare_queues declare_queues.cpp ${platform_test_additions})
-target_link_libraries (declare_queues qpidclient)
+target_link_libraries (declare_queues qpidclient qpidcommon)
remember_location(declare_queues)
add_executable (replaying_sender replaying_sender.cpp ${platform_test_additions})
-target_link_libraries (replaying_sender qpidclient)
+target_link_libraries (replaying_sender qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
remember_location(replaying_sender)
add_executable (resuming_receiver resuming_receiver.cpp ${platform_test_additions})
-target_link_libraries (resuming_receiver qpidclient)
+target_link_libraries (resuming_receiver qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
remember_location(resuming_receiver)
add_executable (txshift txshift.cpp ${platform_test_additions})
-target_link_libraries (txshift qpidclient)
+target_link_libraries (txshift qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#txshift_SOURCES=txshift.cpp TestOptions.h ConnectionOptions.h
remember_location(txshift)
add_executable (txjob txjob.cpp ${platform_test_additions})
-target_link_libraries (txjob qpidclient)
+target_link_libraries (txjob qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
#txjob_SOURCES=txjob.cpp TestOptions.h ConnectionOptions.h
remember_location(txjob)
add_executable (receiver receiver.cpp ${platform_test_additions})
-target_link_libraries (receiver qpidclient)
-#receiver_SOURCES=receiver.cpp TestOptions.h ConnectionOptions.h
+target_link_libraries (receiver qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
remember_location(receiver)
+# This is bizarre - using both messaging and client libraries
add_executable (sender sender.cpp Statistics.cpp ${platform_test_additions})
-target_link_libraries (sender qpidmessaging)
-#sender_SOURCES=sender.cpp TestOptions.h ConnectionOptions.h
+target_link_libraries (sender qpidmessaging qpidtypes qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
remember_location(sender)
add_executable (qpid-receive qpid-receive.cpp Statistics.cpp ${platform_test_additions})
-target_link_libraries (qpid-receive qpidmessaging)
+target_link_libraries (qpid-receive qpidmessaging qpidtypes qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
remember_location(qpid-receive)
add_executable (qpid-send qpid-send.cpp Statistics.cpp ${platform_test_additions})
-target_link_libraries (qpid-send qpidmessaging)
+target_link_libraries (qpid-send qpidmessaging qpidtypes qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
remember_location(qpid-send)
add_executable (qpid-ping qpid-ping.cpp ${platform_test_additions})
-target_link_libraries (qpid-ping qpidclient)
+target_link_libraries (qpid-ping qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
remember_location(qpid-ping)
add_executable (datagen datagen.cpp ${platform_test_additions})
-target_link_libraries (datagen qpidclient)
+target_link_libraries (datagen qpidclient qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
remember_location(datagen)
add_executable (msg_group_test msg_group_test.cpp ${platform_test_additions})
-target_link_libraries (msg_group_test qpidmessaging)
+target_link_libraries (msg_group_test qpidmessaging qpidtypes qpidcommon "${Boost_PROGRAM_OPTIONS_LIBRARY}")
remember_location(msg_group_test)
if (BUILD_SASL)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
Re: Build broken (was Re: svn commit: r1519866 - in
/qpid/trunk/qpid/cpp: bindings/qmf2/examples/cpp/CMakeLists.txt
examples/messaging/CMakeLists.txt src/CMakeLists.txt src/amqp.cmake
src/qpid/store/CMakeLists.txt src/rdma.cmake src/tests/CMakeLists.txt)
Posted by Andrew Stitcher <as...@redhat.com>.
On Wed, 2013-09-04 at 14:18 +0100, Gordon Sim wrote:
> On 09/04/2013 01:37 PM, Gordon Sim wrote:
> > On 09/03/2013 11:09 PM, astitcher@apache.org wrote:
> >> Author: astitcher
> >> Date: Tue Sep 3 22:09:17 2013
> >> New Revision: 1519866
> >>
> >> URL: http://svn.apache.org/r1519866
> >> Log:
> >> QPID-5111: Make library dependencies clearer in build system
> >> - Use -as-needed to link libraries to avoid unnecessary libraries
> >> - Tidyup mess with nss and qpid-proton libraries
> >>
> >> Modified:
> >> qpid/trunk/qpid/cpp/bindings/qmf2/examples/cpp/CMakeLists.txt
> >> qpid/trunk/qpid/cpp/examples/messaging/CMakeLists.txt
> >> qpid/trunk/qpid/cpp/src/CMakeLists.txt
> >> qpid/trunk/qpid/cpp/src/amqp.cmake
> >> qpid/trunk/qpid/cpp/src/qpid/store/CMakeLists.txt
> >> qpid/trunk/qpid/cpp/src/rdma.cmake
> >> qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt
> >
> > This breaks the build for me (Fedora 18, cmake 2.8.9)
>
> Sorry, make that Fedora *17*, cmake 2.8.9 (getting ahead of myself).
This should be fixed on trunk now.
Andrew
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
Re: Build broken (was Re: svn commit: r1519866 - in /qpid/trunk/qpid/cpp:
bindings/qmf2/examples/cpp/CMakeLists.txt examples/messaging/CMakeLists.txt
src/CMakeLists.txt src/amqp.cmake src/qpid/store/CMakeLists.txt src/rdma.cmake
src/tests/CMakeLists.txt)
Posted by Gordon Sim <gs...@redhat.com>.
On 09/04/2013 01:37 PM, Gordon Sim wrote:
> On 09/03/2013 11:09 PM, astitcher@apache.org wrote:
>> Author: astitcher
>> Date: Tue Sep 3 22:09:17 2013
>> New Revision: 1519866
>>
>> URL: http://svn.apache.org/r1519866
>> Log:
>> QPID-5111: Make library dependencies clearer in build system
>> - Use -as-needed to link libraries to avoid unnecessary libraries
>> - Tidyup mess with nss and qpid-proton libraries
>>
>> Modified:
>> qpid/trunk/qpid/cpp/bindings/qmf2/examples/cpp/CMakeLists.txt
>> qpid/trunk/qpid/cpp/examples/messaging/CMakeLists.txt
>> qpid/trunk/qpid/cpp/src/CMakeLists.txt
>> qpid/trunk/qpid/cpp/src/amqp.cmake
>> qpid/trunk/qpid/cpp/src/qpid/store/CMakeLists.txt
>> qpid/trunk/qpid/cpp/src/rdma.cmake
>> qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt
>
> This breaks the build for me (Fedora 18, cmake 2.8.9)
Sorry, make that Fedora *17*, cmake 2.8.9 (getting ahead of myself).
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
Build broken (was Re: svn commit: r1519866 - in /qpid/trunk/qpid/cpp:
bindings/qmf2/examples/cpp/CMakeLists.txt examples/messaging/CMakeLists.txt
src/CMakeLists.txt src/amqp.cmake src/qpid/store/CMakeLists.txt src/rdma.cmake
src/tests/CMakeLists.txt)
Posted by Gordon Sim <go...@gmail.com>.
On 09/03/2013 11:09 PM, astitcher@apache.org wrote:
> Author: astitcher
> Date: Tue Sep 3 22:09:17 2013
> New Revision: 1519866
>
> URL: http://svn.apache.org/r1519866
> Log:
> QPID-5111: Make library dependencies clearer in build system
> - Use -as-needed to link libraries to avoid unnecessary libraries
> - Tidyup mess with nss and qpid-proton libraries
>
> Modified:
> qpid/trunk/qpid/cpp/bindings/qmf2/examples/cpp/CMakeLists.txt
> qpid/trunk/qpid/cpp/examples/messaging/CMakeLists.txt
> qpid/trunk/qpid/cpp/src/CMakeLists.txt
> qpid/trunk/qpid/cpp/src/amqp.cmake
> qpid/trunk/qpid/cpp/src/qpid/store/CMakeLists.txt
> qpid/trunk/qpid/cpp/src/rdma.cmake
> qpid/trunk/qpid/cpp/src/tests/CMakeLists.txt
This breaks the build for me (Fedora 18, cmake 2.8.9) with the following
error (the colon separated libs was the reason I put in the extra
processing in the first place):
> [ 32%] Building CXX object src/CMakeFiles/qpidcommon.dir/qpid/sys/posix/MemStat.o
> Linking CXX shared library libqpidcommon.so
> /usr/bin/ld: cannot find -lssl3;smime3;nss3;nssutil3;plds4;plc4;nspr4;pthread;dl
> collect2: error: ld returned 1 exit status
> make[2]: *** [src/libqpidcommon.so.2.0.0] Error 1
> make[1]: *** [src/CMakeFiles/qpidcommon.dir/all] Error 2
> make: *** [all] Error 2
It also appears to break the build for RHEL6 and windows though in
different ways.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org