early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

View File

@@ -0,0 +1,76 @@
diff --git a/vs2010-build/activemq-cpp.vcxproj b/vs2010-build/activemq-cpp.vcxproj
index a43f072..54b4822 100644
--- a/vs2010-build/activemq-cpp.vcxproj
+++ b/vs2010-build/activemq-cpp.vcxproj
@@ -2576,7 +2576,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <FunctionLevelLinking>false</FunctionLevelLinking>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>
@@ -2602,7 +2602,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <FunctionLevelLinking>false</FunctionLevelLinking>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>
@@ -2628,7 +2628,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <FunctionLevelLinking>false</FunctionLevelLinking>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>
@@ -2656,7 +2656,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <FunctionLevelLinking>false</FunctionLevelLinking>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>
@@ -2684,7 +2684,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <FunctionLevelLinking>false</FunctionLevelLinking>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>
@@ -2710,7 +2710,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <FunctionLevelLinking>false</FunctionLevelLinking>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>
@@ -2736,7 +2736,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <FunctionLevelLinking>false</FunctionLevelLinking>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>
@@ -2764,7 +2764,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
- <FunctionLevelLinking>false</FunctionLevelLinking>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>

View File

@@ -0,0 +1,319 @@
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()

View File

@@ -0,0 +1,36 @@
diff --git a/vs2010-build/activemq-cpp.vcxproj b/vs2010-build/activemq-cpp.vcxproj
index 54b4822..6b35511 100644
--- a/vs2010-build/activemq-cpp.vcxproj
+++ b/vs2010-build/activemq-cpp.vcxproj
@@ -2578,6 +2578,7 @@
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
@@ -2687,6 +2688,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
@@ -2794,6 +2796,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
@@ -2906,6 +2909,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>

View File

@@ -0,0 +1,36 @@
diff --git a/vs2010-build/activemq-cpp.vcxproj b/vs2010-build/activemq-cpp.vcxproj
index 54b4822..6b35511 100644
--- a/vs2010-build/activemq-cpp.vcxproj
+++ b/vs2010-build/activemq-cpp.vcxproj
@@ -2578,6 +2578,7 @@
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
@@ -2687,6 +2688,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
@@ -2794,6 +2796,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
@@ -2906,6 +2909,7 @@
<AdditionalIncludeDirectories>../src/main;$(APR_DIST)\$(PlatformName)\include;$(OPENSSL_DIST)\$(PlatformName)\include;$(PLATFORM_SDK)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CreateHotpatchableImage>false</CreateHotpatchableImage>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>

View File

@@ -0,0 +1,138 @@
set(VERSION 3.9.5)
set(PATCHES )
if (NOT VCPKG_TARGET_IS_LINUX)
set(PATCHES FunctionLevelLinkingOn.diff)
if(VCPKG_CRT_LINKAGE STREQUAL "static")
list(APPEND PATCHES fix-crt-linkage.patch)
else()
list(APPEND PATCHES fix-crt-linkage-dyn.patch)
endif()
endif()
vcpkg_download_distfile(ARCHIVE
URLS "https://www.apache.org/dist/activemq/activemq-cpp/${VERSION}/activemq-cpp-library-${VERSION}-src.tar.bz2"
FILENAME "activemq-cpp-library-${VERSION}-src.tar.bz2"
SHA512 83692d3dfd5ecf557fc88d204a03bf169ce6180bcff27be41b09409b8f7793368ffbeed42d98ef6374c6b6b477d9beb8a4a9ac584df9e56725ec59ceceaa6ae2
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES ${PATCHES}
)
if (VCPKG_TARGET_IS_LINUX)
vcpkg_configure_make(
SOURCE_PATH "${SOURCE_PATH}"
AUTOCONFIG
OPTIONS
"--with-openssl=${CURRENT_INSTALLED_DIR}"
"--with-apr=${CURRENT_INSTALLED_DIR}/tools/apr"
)
vcpkg_install_make()
file(RENAME "${CURRENT_PACKAGES_DIR}/include/activemq-cpp-${VERSION}/activemq" "${CURRENT_PACKAGES_DIR}/include/activemq")
file(RENAME "${CURRENT_PACKAGES_DIR}/include/activemq-cpp-${VERSION}/cms" "${CURRENT_PACKAGES_DIR}/include/cms")
file(RENAME "${CURRENT_PACKAGES_DIR}/include/activemq-cpp-${VERSION}/decaf" "${CURRENT_PACKAGES_DIR}/include/decaf")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/activemq-cpp-${VERSION}")
vcpkg_copy_pdbs()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/activemqcpp-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..")
if(NOT VCPKG_BUILD_TYPE)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/activemqcpp-config" "${CURRENT_INSTALLED_DIR}/debug" "`dirname $0`/../../../..")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/activemqcpp-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..")
endif()
else()
set(ACTIVEMQCPP_MSVC_PROJ "${SOURCE_PATH}/vs2010-build/activemq-cpp.vcxproj")
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ACTIVEMQCPP_SHARED_LIB)
if (ACTIVEMQCPP_SHARED_LIB)
set(RELEASE_CONF "ReleaseDLL")
set(DEBUG_CONF "DebugDLL")
set(ACTIVEMQCPP_LIB_PREFFIX )
set(ACTIVEMQCPP_LIB_SUFFIX d)
vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" ";apr-1.lib" ";libapr-1.lib")
else()
set(RELEASE_CONF "Release")
set(DEBUG_CONF "Debug")
set(ACTIVEMQCPP_LIB_PREFFIX lib)
set(ACTIVEMQCPP_LIB_SUFFIX )
vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" ";libapr-1.lib" ";apr-1.lib")
endif()
if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
set(BUILD_ARCH "Win32")
elseif (VCPKG_TARGET_ARCHITECTURE MATCHES "x64")
set(BUILD_ARCH "x64")
else()
message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}")
endif()
string(REPLACE "/" "\\" WIN_SOURCE_PATH "${SOURCE_PATH}")
vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" "ClCompile Include=\"..\\src" "ClCompile Include=\"${WIN_SOURCE_PATH}\\src")
vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" "ClInclude Include=\"..\\src" "ClInclude Include=\"${WIN_SOURCE_PATH}\\src")
vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" "../src/main" "${WIN_SOURCE_PATH}\\src\\main")
vcpkg_install_msbuild(
SOURCE_PATH "${SOURCE_PATH}/vs2010-build"
PROJECT_SUBPATH "activemq-cpp.vcxproj"
RELEASE_CONFIGURATION ${RELEASE_CONF}
DEBUG_CONFIGURATION ${DEBUG_CONF}
PLATFORM ${BUILD_ARCH}
USE_VCPKG_INTEGRATION
ALLOW_ROOT_INCLUDES
SKIP_CLEAN
)
vcpkg_copy_pdbs()
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
file(COPY
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vs2010-build/${BUILD_ARCH}/${RELEASE_CONF}/${ACTIVEMQCPP_LIB_PREFFIX}activemq-cpp.lib"
DESTINATION "${CURRENT_PACKAGES_DIR}/lib"
)
if (ACTIVEMQCPP_SHARED_LIB)
file(COPY
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vs2010-build/${BUILD_ARCH}/${RELEASE_CONF}/activemq-cpp.dll"
DESTINATION "${CURRENT_PACKAGES_DIR}/bin"
)
file(COPY
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vs2010-build/${BUILD_ARCH}/${RELEASE_CONF}/activemq-cpp.pdb"
DESTINATION "${CURRENT_PACKAGES_DIR}/bin"
)
endif()
endif()
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
file(COPY
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/vs2010-build/${BUILD_ARCH}/${DEBUG_CONF}/${ACTIVEMQCPP_LIB_PREFFIX}activemq-cpp${ACTIVEMQCPP_LIB_SUFFIX}.lib"
DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib"
)
if (ACTIVEMQCPP_SHARED_LIB)
file(COPY
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/vs2010-build/${BUILD_ARCH}/${DEBUG_CONF}/activemq-cpp${ACTIVEMQCPP_LIB_SUFFIX}.dll"
DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin"
)
file(COPY
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/vs2010-build/${BUILD_ARCH}/${DEBUG_CONF}/activemq-cpp${ACTIVEMQCPP_LIB_SUFFIX}.pdb"
DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin"
)
endif()
endif()
file(COPY "${SOURCE_PATH}/src/main/activemq" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN *.h)
file(COPY "${SOURCE_PATH}/src/main/cms" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN *.h)
file(COPY "${SOURCE_PATH}/src/main/decaf" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN *.h)
vcpkg_clean_msbuild()
endif()
vcpkg_fixup_pkgconfig()
file(INSTALL "${CURRENT_PORT_DIR}/activemq-cppConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/activemq-cpp")
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

14
externals/vcpkg/ports/activemq-cpp/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,14 @@
{
"name": "activemq-cpp",
"version-semver": "3.9.5",
"port-version": 9,
"description": "Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns server.",
"supports": "!(uwp | osx)",
"dependencies": [
"apr",
{
"name": "libuuid",
"platform": "!windows & !osx"
}
]
}