-
Notifications
You must be signed in to change notification settings - Fork 6.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[blpapi] add new port #32603
[blpapi] add new port #32603
Conversation
60b64a1
to
dba4a2c
Compare
ports/blpapi/vcpkg.json
Outdated
"dependencies": [ | ||
{ | ||
"name": "vcpkg-cmake", | ||
"host": true | ||
}, | ||
{ | ||
"name": "vcpkg-cmake-config", | ||
"host": true | ||
} | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"dependencies": [ | |
{ | |
"name": "vcpkg-cmake", | |
"host": true | |
}, | |
{ | |
"name": "vcpkg-cmake-config", | |
"host": true | |
} | |
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sweemer, Thanks for your PR, vcpkg_cmake_configure and vcpkg_cmake_install provided by vcpkg-cmake port
vcpkg_cmake_config_fixup provided by vcpkg-cmake-config port, blpapi does not use these functions, so "vcpkg-cmake" and "vcpkg-cmake-config" should not be used
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
Tested usage successfully by
|
Note: I will be converting your PR to draft status. When you respond, please revert to "ready for review". That way, I can be aware that you've responded since you can't modify the tags. |
if (VCPKG_TARGET_IS_LINUX) | ||
file(GLOB SO_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Linux/*${BITS_SUFFIX}.so") | ||
else() | ||
file(GLOB DLL_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/lib/*${BITS_SUFFIX}.dll") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked that the DLLs don't appear to link with a CRT so this debug release mismatch might be OK.
LGTM
It would literally just be removing that block from the supports clause. The problem is that dynamic linkage with static CRT is usually doom so we intentionally don't make that easy to do out of the box. |
Please double check that you're happy with nitpicks I fixed, and if so, indicate that you are happy by marking this 'Ready for review' |
@BillyONeal I'm happy with the changes you've made. Regarding forced dynamic linkage, do I understand correctly that you don't recommend forcing it with a static triplet? If so, then I will leave it the way it is. But if it's acceptable in this case then I would like to remove that part of the supports clause before merging. If the concern is about dynamic linkage with static CRT then I don't mind changing it to something like |
You can force dynamic linkage with a static triplet if the resulting DLL doesn't speak about the standard library at all. Most libraries aren't prepared to deal with, for example, There are global variables like the debug lock or the locale lock which cause doom if you try to touch standard library components visibly across such an interface. When you dynamically link with the CRT, those global variables live in the CRT's DLLs, but a static triplet requests a static CRT. Static CRT plus dynamic linkage means each DLL has its own CRT, and thus its own copy of those globals, and thus can't contain standard library types in their interface at all. |
Is the path out-dated? vcpkg cannot download from the path. error: https://bcms.bloomberg.com/BLPAPI-Generic/blpapi_cpp_3.20.2.2-windows.zip: WinHttpSendRequest failed with exit code 12007 |
Yes, it might need to be updated. I can take a look next week. |
Updated in #40130 |
find_package
calls are REQUIRED, are satisfied byvcpkg.json
's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxxvcpkg.json
matches what upstream says.vcpkg.json
matches what upstream says../vcpkg x-add-version --all
and committing the result.Disclaimer: I am not affiliated with Bloomberg in any way. I am simply adding this port based on their publicly available libraries.
I have two questions:
supports
field; however, I would like to remove that restriction and force dynamic linkage even when the user is using a static triplet. Can you guide me on how to do that?