From 6f597d0bd3ca742e8f689da0b1a89ca0e573481e Mon Sep 17 00:00:00 2001 From: Harald Date: Tue, 1 Nov 2016 12:31:40 +0100 Subject: [PATCH] Problem: CMake build rejects to build with openpgm enabled Solution: add optional lookup for openpgm via pkg-config --- CMakeLists.txt | 24 ++++++++++++++++++++++-- tests/CMakeLists.txt | 3 ++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 08559fea..80eb68f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -375,11 +375,31 @@ if (MSVC) endif () else () if (WITH_OPENPGM) - message (FATAL_ERROR "WITH_OPENPGM not implemented") + # message (FATAL_ERROR "WITH_OPENPGM not implemented") + + if (NOT OPENPGM_PKGCONFIG_NAME) + SET (OPENPGM_PKGCONFIG_NAME "openpgm-5.2") + endif(NOT OPENPGM_PKGCONFIG_NAME) + + SET (OPENPGM_PKGCONFIG_NAME ${OPENPGM_PKGCONFIG_NAME} CACHE STRING + "Name pkg-config shall use to find openpgm libraries and include paths" + FORCE ) + + find_package(PkgConfig) + pkg_check_modules (OPENPGM ${OPENPGM_PKGCONFIG_NAME}) + + if (OPENPGM_FOUND) + message (STATUS ${OPENPGM_PKGCONFIG_NAME}" found") + else () + message (FATAL_ERROR + ${OPENPGM_PKGCONFIG_NAME}" not found. openpgm is searchd via `pkg-config ${OPENPGM_PKGCONFIG_NAME}`. Consider providing a valid OPENPGM_PKGCONFIG_NAME") + endif () + # DSO symbol visibility for openpgm if (HAVE_FLAG_VISIBILITY_HIDDEN) elseif (HAVE_FLAG_LDSCOPE_HIDDEN) + endif () endif () endif () @@ -780,7 +800,7 @@ endif () if (WITH_PERF_TOOL) foreach (perf-tool ${perf-tools}) add_executable (${perf-tool} perf/${perf-tool}.cpp) - target_link_libraries (${perf-tool} libzmq) + target_link_libraries (${perf-tool} libzmq ${OPTIONAL_LIBRARIES}) if (RT_LIBRARY) target_link_libraries (${perf-tool} ${RT_LIBRARY}) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 5c6fd607..9fe5ded8 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -138,7 +138,7 @@ if(WIN32) endif() # add library and include dirs for all targets -link_libraries(libzmq) +link_libraries(libzmq ${OPTIONAL_LIBRARIES}) include_directories("${CMAKE_SOURCE_DIR}/../include") foreach(test ${tests}) @@ -157,6 +157,7 @@ foreach(test ${tests}) endif() endif() + if(RT_LIBRARY) target_link_libraries(${test} ${RT_LIBRARY} ) endif()