320 lines
20 KiB
CMake
320 lines
20 KiB
CMake
|
set(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_DIR}")
|
||
|
foreach(i RANGE 1 2)
|
||
|
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||
|
if (_IMPORT_PREFIX STREQUAL "/")
|
||
|
set(_IMPORT_PREFIX "")
|
||
|
break()
|
||
|
endif()
|
||
|
endforeach()
|
||
|
|
||
|
# Macro to find OS dependencies for windows builds.
|
||
|
# Sets up for failure find_package() failure if dependencies not found.
|
||
|
# On success, creates targets unofficial::activemq-cpp::ws2, unofficial::activemq-cpp::rpcrt4, and unofficial::activemq-cpp::mswsock.
|
||
|
# Sets boolean ${CMAKE_FIND_PACKAGE_NAME}_WINDOWS_DEPENDENCIES_FOUND to TRUE or FALSE to indicate success or failure.
|
||
|
macro(_activemq_cpp_windows_dependencies)
|
||
|
find_library(ACTIVEMQ_CPP_LIBWS2 WS2_32)
|
||
|
find_file(ACTIVEMQ_CPP_DLLWS2 WS2_32.dll)
|
||
|
find_library(ACTIVEMQ_CPP_LIBRPCRT4 RpcRT4)
|
||
|
find_file(ACTIVEMQ_CPP_DLLRPCRT4 RpcRT4.dll)
|
||
|
find_library(ACTIVEMQ_CPP_LIBMSWSOCK MsWsock)
|
||
|
find_file(ACTIVEMQ_CPP_DLLMSWSOCK MsWsock.dll)
|
||
|
if(ACTIVEMQ_CPP_LIBWS2 AND ACTIVEMQ_CPP_DLLWS2 AND ACTIVEMQ_CPP_LIBRPCRT4 AND ACTIVEMQ_CPP_DLLRPCRT4 AND ACTIVEMQ_CPP_LIBMSWSOCK AND ACTIVEMQ_CPP_DLLMSWSOCK)
|
||
|
add_library(unofficial::activemq-cpp::ws2 SHARED IMPORTED)
|
||
|
set_target_properties(unofficial::activemq-cpp::ws2
|
||
|
PROPERTIES
|
||
|
IMPORTED_LOCATION "${ACTIVEMQ_CPP_DLLWS2}"
|
||
|
IMPORTED_IMPLIB "${ACTIVEMQ_CPP_LIBWS2}"
|
||
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||
|
)
|
||
|
add_library(unofficial::activemq-cpp::rpcrt4 SHARED IMPORTED)
|
||
|
set_target_properties(unofficial::activemq-cpp::rpcrt4
|
||
|
PROPERTIES
|
||
|
IMPORTED_LOCATION "${ACTIVEMQ_CPP_DLLRPCRT4}"
|
||
|
IMPORTED_IMPLIB "${ACTIVEMQ_CPP_LIBRPCRT4}"
|
||
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||
|
)
|
||
|
add_library(unofficial::activemq-cpp::mswsock SHARED IMPORTED)
|
||
|
set_target_properties(unofficial::activemq-cpp::mswsock
|
||
|
PROPERTIES
|
||
|
IMPORTED_LOCATION "${ACTIVEMQ_CPP_DLLMSWSOCK}"
|
||
|
IMPORTED_IMPLIB "${ACTIVEMQ_CPP_LIBMSWSOCK}"
|
||
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||
|
)
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_WINDOWS_DEPENDENCIES_FOUND TRUE)
|
||
|
else()
|
||
|
if (NOT ACTIVEMQ_CPP_LIBWS2)
|
||
|
list(APPEND _ACTIVEMQ_CPP_MISSINGS "WS2_32.lib")
|
||
|
endif()
|
||
|
if (NOT ACTIVEMQ_CPP_DLLWS2)
|
||
|
list(APPEND _ACTIVEMQ_CPP_MISSINGS "WS2_32.dll")
|
||
|
endif()
|
||
|
if (NOT ACTIVEMQ_CPP_LIBRPCRT4)
|
||
|
list(APPEND _ACTIVEMQ_CPP_MISSINGS "RpcRT4.lib")
|
||
|
endif()
|
||
|
if (NOT ACTIVEMQ_CPP_DLLRPCRT4)
|
||
|
list(APPEND _ACTIVEMQ_CPP_MISSINGS "RpcRT4.dll")
|
||
|
endif()
|
||
|
if (NOT ACTIVEMQ_CPP_LIBMSWSOCK)
|
||
|
list(APPEND _ACTIVEMQ_CPP_MISSINGS "MsWsock.lib")
|
||
|
endif()
|
||
|
if (NOT ACTIVEMQ_CPP_DLLMSWSOCK)
|
||
|
list(APPEND _ACTIVEMQ_CPP_MISSINGS "MsWsock.dll")
|
||
|
endif()
|
||
|
list(JOIN _ACTIVEMQ_CPP_MISSINGS ", " _ACTIVEMQ_CPP_MISSINGS_STR)
|
||
|
list(LENGTH _ACTIVEMQ_CPP_MISSINGS _ACTIVEMQ_CPP_MISSINGS_COUNT)
|
||
|
if(_ACTIVEMQ_CPP_MISSINGS_COUNT EQUALS 1)
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: Did not find windows dependency: ${_ACTIVEMQ_CPP_MISSINGS_STR}")
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: Did not find windows dependencies: ${_ACTIVEMQ_CPP_MISSINGS_STR}")
|
||
|
endif()
|
||
|
set(_ACTIVEMQ_CPP_MISSINGS_COUNT)
|
||
|
set(_ACTIVEMQ_CPP_MISSINGS_STR)
|
||
|
set(_ACTIVEMQ_CPP_MISSINGS)
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_WINDOWS_DEPENDENCIES_FOUND FALSE)
|
||
|
endif()
|
||
|
endmacro()
|
||
|
|
||
|
# Set the variable named VARNAME to "${FILE}" if the file FILE exists; clears it
|
||
|
# otherwise. Opposite for VARNAME_MISSING.
|
||
|
function(_set_exists VARNAME VARNAME_MISSING FILE)
|
||
|
if (EXISTS "${FILE}")
|
||
|
set(${VARNAME} "${FILE}" PARENT_SCOPE)
|
||
|
unset(${VARNAME_MISSING} PARENT_SCOPE)
|
||
|
else()
|
||
|
set(${VARNAME_MISSING} "${FILE}" PARENT_SCOPE)
|
||
|
unset(${VARNAME} PARENT_SCOPE)
|
||
|
endif()
|
||
|
endfunction()
|
||
|
|
||
|
# Add the unofficial::activemq-cpp::apr and unofficial::activemq-cpp::activemq-cpp targets
|
||
|
# Doesn't work for Windows DLL installs because that takes more args...
|
||
|
function(_add_apr_and_amq_targets INC_PARENT LIB_TYPE APR_REL APR_DEB AMQ_REL AMQ_DEB DEPS)
|
||
|
# the APR port doesn't have a CMake config target so create one
|
||
|
add_library(unofficial::activemq-cpp::apr ${LIB_TYPE} IMPORTED)
|
||
|
set_target_properties(unofficial::activemq-cpp::apr
|
||
|
PROPERTIES
|
||
|
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
||
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
||
|
IMPORTED_LOCATION_RELEASE "${APR_REL}"
|
||
|
IMPORTED_LOCATION_DEBUG "${APR_DEB}"
|
||
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||
|
INTERFACE_INCLUDE_DIRECTORIES "${INC_PARENT}/include"
|
||
|
)
|
||
|
|
||
|
# the create the activemq-cpp CMake config target with a dependency on apr
|
||
|
add_library(unofficial::activemq-cpp::activemq-cpp ${LIB_TYPE} IMPORTED)
|
||
|
set_target_properties(unofficial::activemq-cpp::activemq-cpp
|
||
|
PROPERTIES
|
||
|
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
||
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
||
|
IMPORTED_LOCATION_DEBUG "${AMQ_DEB}"
|
||
|
IMPORTED_LOCATION_RELEASE "${AMQ_REL}"
|
||
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||
|
INTERFACE_INCLUDE_DIRECTORIES "${INC_PARENT}/include"
|
||
|
INTERFACE_LINK_LIBRARIES "${DEPS}"
|
||
|
)
|
||
|
endfunction()
|
||
|
|
||
|
#
|
||
|
# Since this is a CMake config file for a non-CMake project, and one that is
|
||
|
# for vcpkg to as well, the config file has to cover the various products of
|
||
|
# the builds on the various platforms.
|
||
|
#
|
||
|
# Below, Windows and Linux are covered for static and shared libraries.
|
||
|
#
|
||
|
_set_exists(ACTIVEMQ_CPP_DLL_RELEASE _ACTIVEMQ_CPP_DLL_RELEASE_MISSING "${_IMPORT_PREFIX}/bin/activemq-cpp.dll")
|
||
|
_set_exists(ACTIVEMQ_CPP_LIB_RELEASE _ACTIVEMQ_CPP_LIB_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/activemq-cpp.lib")
|
||
|
_set_exists(ACTIVEMQ_CPP_DLL_DEBUG _ACTIVEMQ_CPP_DLL_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/bin/activemq-cppd.dll")
|
||
|
_set_exists(ACTIVEMQ_CPP_LIB_DEBUG _ACTIVEMQ_CPP_LIB_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/activemq-cppd.lib")
|
||
|
if (ACTIVEMQ_CPP_DLL_RELEASE)
|
||
|
#
|
||
|
# Windows shared install
|
||
|
#
|
||
|
if (ACTIVEMQ_CPP_LIB_RELEASE AND ACTIVEMQ_CPP_DLL_DEBUG AND ACTIVEMQ_CPP_LIB_DEBUG)
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_LIB_RELEASE _ACTIVEMQ_CPP_APR_LIB_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/libapr-1.lib")
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_DLL_RELEASE _ACTIVEMQ_CPP_APR_DLL_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/libapr-1.dll")
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_LIB_DEBUG _ACTIVEMQ_CPP_APR_LIB_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/libapr-1.lib")
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_DLL_DEBUG _ACTIVEMQ_CPP_APR_DLL_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/libapr-1.dll")
|
||
|
if (ACTIVEMQ_CPP_APR_LIB_RELEASE AND ACTIVEMQ_CPP_APR_DLL_RELEASE AND ACTIVEMQ_CPP_APR_LIB_DEBUG AND ACTIVEMQ_CPP_APR_DLL_DEBUG)
|
||
|
_activemq_cpp_windows_dependencies()
|
||
|
if (${CMAKE_FIND_PACKAGE_NAME}_WINDOWS_DEPENDENCIES_FOUND)
|
||
|
# the APR port doesn't have a CMake config target so create one
|
||
|
add_library(unofficial::activemq-cpp::apr SHARED IMPORTED)
|
||
|
set_target_properties(unofficial::activemq-cpp::apr
|
||
|
PROPERTIES
|
||
|
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
||
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
||
|
IMPORTED_LOCATION_RELEASE "${ACTIVEMQ_CPP_APR_DLL_RELEASE}"
|
||
|
IMPORTED_IMPLIB_RELEASE "${ACTIVEMQ_CPP_APR_LIB_RELEASE}"
|
||
|
IMPORTED_LOCATION_DEBUG "${ACTIVEMQ_CPP_APR_DLL_DEBUG}"
|
||
|
IMPORTED_IMPLIB_DEBUG "${ACTIVEMQ_CPP_APR_LIB_DEBUG}"
|
||
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||
|
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
||
|
)
|
||
|
|
||
|
# the create the activemq-cpp CMake config target with a dependency on apr
|
||
|
add_library(unofficial::activemq-cpp::activemq-cpp SHARED IMPORTED)
|
||
|
set_target_properties(unofficial::activemq-cpp::activemq-cpp
|
||
|
PROPERTIES
|
||
|
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
||
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
||
|
IMPORTED_LOCATION_RELEASE "${ACTIVEMQ_CPP_DLL_RELEASE}"
|
||
|
IMPORTED_IMPLIB_RELEASE "${ACTIVEMQ_CPP_LIB_RELEASE}"
|
||
|
IMPORTED_LOCATION_DEBUG "${ACTIVEMQ_CPP_DLL_DEBUG}"
|
||
|
IMPORTED_IMPLIB_DEBUG "${ACTIVEMQ_CPP_LIB_DEBUG}"
|
||
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||
|
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
||
|
INTERFACE_LINK_LIBRARIES "unofficial::activemq-cpp::apr;unofficial::activemq-cpp::ws2;unofficial::activemq-cpp::rpcrt4;unofficial::activemq-cpp::mswsock"
|
||
|
)
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND TRUE)
|
||
|
endif()
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: apr vcpkg port not found in ${_IMPORT_PREFIX}.")
|
||
|
foreach(_MISSING
|
||
|
${_ACTIVEMQ_CPP_APR_LIB_RELEASE_MISSING}
|
||
|
${_ACTIVEMQ_CPP_APR_DLL_RELEASE_MISSING}
|
||
|
${_ACTIVEMQ_CPP_APR_LIB_DEBUG_MISSING}
|
||
|
${_ACTIVEMQ_CPP_APR_DLL_DEBUG_MISSING}
|
||
|
)
|
||
|
string(APPEND ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE " \"${_MISSING}\" not found.")
|
||
|
endforeach()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
set(activemq-cppConfig_FOUND TRUE)
|
||
|
endif()
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install error: Found ${_IMPORT_PREFIX}debug/bin/activemq-cppd.dll.")
|
||
|
foreach(_MISSING
|
||
|
${_ACTIVEMQ_CPP_LIB_RELEASE_MISSING}
|
||
|
${_ACTIVEMQ_CPP_DLL_DEBUG_MISSING}
|
||
|
${_ACTIVEMQ_CPP_LIB_DEBUG_MISSING})
|
||
|
string(APPEND ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE " \"${_MISSING}\" not found.")
|
||
|
endforeach()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
else()
|
||
|
#
|
||
|
# not Windows shared install
|
||
|
#
|
||
|
_set_exists(ACTIVEMQ_CPP_LIB_RELEASE _ACTIVEMQ_CPP_LIB_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/libactivemq-cpp.lib")
|
||
|
_set_exists(ACTIVEMQ_CPP_LIB_DEBUG _ACTIVEMQ_CPP_LIB_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/libactivemq-cpp.lib")
|
||
|
if (ACTIVEMQ_CPP_LIB_RELEASE)
|
||
|
#
|
||
|
# Windows static install
|
||
|
#
|
||
|
if (ACTIVEMQ_CPP_LIB_DEBUG)
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_LIB_RELEASE _ACTIVEMQ_CPP_APR_LIB_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/apr-1.lib")
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_LIB_DEBUG _ACTIVEMQ_CPP_APR_LIB_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/apr-1.lib")
|
||
|
if (ACTIVEMQ_CPP_APR_LIB_RELEASE AND ACTIVEMQ_CPP_APR_LIB_DEBUG)
|
||
|
_activemq_cpp_windows_dependencies()
|
||
|
if (${CMAKE_FIND_PACKAGE_NAME}_WINDOWS_DEPENDENCIES_FOUND)
|
||
|
_add_apr_and_amq_targets("${_IMPORT_PREFIX}"
|
||
|
STATIC
|
||
|
"${ACTIVEMQ_CPP_APR_LIB_RELEASE}"
|
||
|
"${ACTIVEMQ_CPP_APR_LIB_DEBUG}"
|
||
|
"${ACTIVEMQ_CPP_LIB_RELEASE}"
|
||
|
"${ACTIVEMQ_CPP_LIB_DEBUG}"
|
||
|
"unofficial::activemq-cpp::apr;unofficial::activemq-cpp::ws2;unofficial::activemq-cpp::rpcrt4;unofficial::activemq-cpp::mswsock")
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND TRUE)
|
||
|
endif()
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: apr vcpkg port not found in ${_IMPORT_PREFIX}.")
|
||
|
foreach(_MISSING ${_ACTIVEMQ_CPP_APR_LIB_RELEASE_MISSING} ${_ACTIVEMQ_CPP_APR_LIB_DEBUG_MISSING})
|
||
|
string(APPEND ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE " \"${_MISSING}\" not found.")
|
||
|
endforeach()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install error: Found ${ACTIVEMQ_CPP_LIB_RELEASE} but not ${_ACTIVEMQ_CPP_LIB_DEBUG_MISSING}.")
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
else()
|
||
|
#
|
||
|
# not Windows shared or static install
|
||
|
#
|
||
|
_set_exists(ACTIVEMQ_CPP_LIB_RELEASE _ACTIVEMQ_CPP_LIB_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/libactivemq-cpp.so.19.0.5")
|
||
|
_set_exists(ACTIVEMQ_CPP_LIB_DEBUG _ACTIVEMQ_CPP_LIB_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/libactivemq-cpp.so.19.0.5")
|
||
|
if(ACTIVEMQ_CPP_LIB_RELEASE)
|
||
|
#
|
||
|
# Linux shared install (this may pick up some other Unix-like installs)
|
||
|
#
|
||
|
if (ACTIVEMQ_CPP_LIB_DEBUG)
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_LIB_RELEASE _ACTIVEMQ_CPP_APR_LIB_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/libapr-1.so")
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_LIB_DEBUG _ACTIVEMQ_CPP_APR_LIB_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/libapr-1.so")
|
||
|
if (ACTIVEMQ_CPP_APR_LIB_RELEASE AND ACTIVEMQ_CPP_APR_LIB_DEBUG)
|
||
|
find_package(Threads)
|
||
|
if (Threads_FOUND)
|
||
|
_add_apr_and_amq_targets("${_IMPORT_PREFIX}"
|
||
|
SHARED
|
||
|
"${ACTIVEMQ_CPP_APR_LIB_RELEASE}"
|
||
|
"${ACTIVEMQ_CPP_APR_LIB_DEBUG}"
|
||
|
"${ACTIVEMQ_CPP_LIB_RELEASE}"
|
||
|
"${ACTIVEMQ_CPP_LIB_DEBUG}"
|
||
|
"unofficial::activemq-cpp::apr;Threads::Threads")
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND TRUE)
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: threads library not found.")
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: apr vcpkg port not found in ${_IMPORT_PREFIX}.")
|
||
|
foreach(_MISSING ${_ACTIVEMQ_CPP_APR_LIB_RELEASE_MISSING} ${_ACTIVEMQ_CPP_APR_LIB_DEBUG_MISSING})
|
||
|
string(APPEND ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE " \"${_MISSING}\" not found.")
|
||
|
endforeach()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install error: Found ${ACTIVEMQ_CPP_LIB_RELEASE} but not ${_ACTIVEMQ_CPP_LIB_DEBUG_MISSING}")
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
else()
|
||
|
#
|
||
|
# not Windows shared or static or Linux shared install
|
||
|
#
|
||
|
_set_exists(ACTIVEMQ_CPP_LIB_RELEASE _ACTIVEMQ_CPP_LIB_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/libactivemq-cpp.a")
|
||
|
_set_exists(ACTIVEMQ_CPP_LIB_DEBUG _ACTIVEMQ_CPP_LIB_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/libactivemq-cpp.a")
|
||
|
if (ACTIVEMQ_CPP_LIB_RELEASE)
|
||
|
#
|
||
|
# Linux static install (this may pick up some other Unix-like installs)
|
||
|
#
|
||
|
if (ACTIVEMQ_CPP_LIB_DEBUG)
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_LIB_RELEASE _ACTIVEMQ_CPP_APR_LIB_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/libapr-1.a")
|
||
|
_set_exists(ACTIVEMQ_CPP_APR_LIB_DEBUG _ACTIVEMQ_CPP_APR_LIB_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/libapr-1.a")
|
||
|
if (ACTIVEMQ_CPP_APR_LIB_RELEASE AND ACTIVEMQ_CPP_APR_LIB_DEBUG)
|
||
|
find_package(Threads)
|
||
|
if (Threads_FOUND)
|
||
|
_add_apr_and_amq_targets("${_IMPORT_PREFIX}"
|
||
|
STATIC
|
||
|
"${ACTIVEMQ_CPP_APR_LIB_RELEASE}"
|
||
|
"${ACTIVEMQ_CPP_APR_LIB_DEBUG}"
|
||
|
"${ACTIVEMQ_CPP_LIB_RELEASE}"
|
||
|
"${ACTIVEMQ_CPP_LIB_DEBUG}"
|
||
|
"unofficial::activemq-cpp::apr;Threads::Threads")
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND TRUE)
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: threads library not found.")
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: apr vcpkg port not found in ${_IMPORT_PREFIX}.")
|
||
|
foreach(_MISSING ${_ACTIVEMQ_CPP_APR_LIB_RELEASE_MISSING} ${_ACTIVEMQ_CPP_APR_LIB_DEBUG_MISSING})
|
||
|
string(APPEND ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE " \"${_MISSING}\" not found.")
|
||
|
endforeach()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
else()
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install error: Found ${ACTIVEMQ_CPP_LIB_RELEASE} but not ${_ACTIVEMQ_CPP_LIB_DEBUG_MISSING}")
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
else()
|
||
|
#
|
||
|
# Some other configuration...
|
||
|
# (not Windows shared or static or Linux shared or static install)
|
||
|
#
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg unexpected install: could not find any expected activemq-cpp libraries under ${_IMPORT_PREFIX}. The CMake configuration file only understands Windows and Linux static and shared installs from vcpkg.")
|
||
|
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
||
|
endif()
|
||
|
endif()
|
||
|
endif()
|
||
|
endif()
|