-
Notifications
You must be signed in to change notification settings - Fork 6.1k
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
[cinatra, cmdline] Add new ports #38712
base: master
Are you sure you want to change the base?
Conversation
This port has the following issues:
|
…dencies as part of the cinatra installation
@Cheney-W Thank you very much for your feedback! I have updated cinatra/portfile.cmake and cinatra/vcpkg.json to include dependencies as part of the cinatra installation. This should address issues 1 and 2. However, I am uncertain about issue 3 and the optimal approach for implementing it. Could you please provide guidance on this? |
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
@Cheney-W Thank you very much for the detailed feedback! I have applied all the suggestions. |
0.9.1 is declared with ce7e7fba41dc0718831bc3ce20644051f46a6878, but the local port has a different SHA 91af211a6a62396620de86d320f075490e0ea302. |
@Cheney-W Thanks! For clarification, I need to manually change "\vcpkg\versions\c-\cinatra.json" from:
to:
And then run the commands? |
There should be only one record in the
Also, I noticed that |
ports/cinatra/portfile.cmake
Outdated
file(COPY "${CURRENT_PACKAGES_DIR}/include/cinatra_press_tool.exe" | ||
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/cinatra") |
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.
Please remove the include/cinatra_press_tool.exe
when it is copied to tools/cinatra
.
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.
No, use vcpkg_copy_tools
with proper arguments.
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.
Thanks!
Co-authored-by: Cheney Wang <38240633+Cheney-W@users.noreply.github.com>
ports/cinatra/portfile.cmake
Outdated
vcpkg_cmake_install() | ||
|
||
# Copy the entire include directory | ||
file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}) |
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.
The current header file storage structure may cause conflicts with header files from other ports. Therefore, I suggest moving all the contents under the include directory to ${CURRENT_PACKAGES_DIR}/include/cinatra
instead of ${CURRENT_PACKAGES_DIR}/include/
.
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.
Thank you very much!
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.
vcpkg has asio, boost-asio, and async-simple. Shouldn't this port use the corresponding vcpkg ports instead of vendored copies?
Thank you for the suggestion! I initially tried to incorporate the vcpkg ports for dependencies, but it seems to require reconfiguring the library. |
This might be a necessary task for integrating it into vcpkg, so that downstream apps don't end up with different definitions of the same functions. |
ports/cinatra/portfile.cmake
Outdated
vcpkg_copy_tools( | ||
TOOL_NAMES cinatra_press_tool | ||
SEARCH_DIRS "${CURRENT_PACKAGES_DIR}/include/cinatra" | ||
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/cinatra" |
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.
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/cinatra" |
This is the default.
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.
The AUTO_CLEAN
of vcpkg_copy_tools
can only delete the tool under ${CURRENT_PACKAGES_DIR}/bin
, so ${CURRENT_PACKAGES_DIR}/include/cinatra_press_tool.exe
still needs to be deleted manually here.
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.
What a ...
What does |
This comment was marked as duplicate.
This comment was marked as duplicate.
Thank you for your feedback and suggestions! I have reverted to using a combination of Additionally, I noticed there are ongoing discussions about the proper handling and integration of dependencies. Could you please provide guidance on the following points?
Again, thank you very much for your assistance on these matters! |
find_package
calls are REQUIRED, are satisfied byvcpkg.json
's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx.vcpkg.json
matches what upstream says.vcpkg.json
matches what upstream says../vcpkg x-add-version --all
and committing the result.