Skip to content
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

[lwlog] Added new library #43047

Draft
wants to merge 20 commits into
base: master
Choose a base branch
from

Conversation

ChristianPanov
Copy link

@ChristianPanov ChristianPanov commented Jan 1, 2025

  • Changes comply with the maintainer guide.
  • The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines.
  • Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all find_package calls are REQUIRED, are satisfied by vcpkg.json's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx.
  • The versioning scheme in vcpkg.json matches what upstream says.
  • The license declaration in vcpkg.json matches what upstream says.
  • The installed as the "copyright" file matches what upstream says.
  • The source code of the component installed comes from an authoritative source.
  • The generated "usage text" is accurate. See adding-usage for context.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is in the new port's versions file.
  • Only one version is added to each modified port's versions file.

@ChristianPanov
Copy link
Author

@microsoft-github-policy-service agree

@Cheney-W Cheney-W added the category:new-port The issue is requesting a new library to be added; consider making a PR! label Jan 2, 2025
@Cheney-W Cheney-W changed the title Added lwlog library [lwlog] Added new library Jan 2, 2025
ports/lwlog/portfile.cmake Show resolved Hide resolved
ports/lwlog/portfile.cmake Outdated Show resolved Hide resolved
ports/lwlog/portfile.cmake Outdated Show resolved Hide resolved
ports/lwlog/portfile.cmake Outdated Show resolved Hide resolved
ports/lwlog/portfile.cmake Outdated Show resolved Hide resolved
@Cheney-W
Copy link
Contributor

Cheney-W commented Jan 2, 2025

I have two more questions:

  1. Does the built lwlog_sandbox.exe need to be provided to users?
  2. The current storage structure of the header files causes them to be included in the form <src/xxx.h>. Is this the expected behavior?

@Cheney-W Cheney-W marked this pull request as draft January 2, 2025 07:33
@ChristianPanov
Copy link
Author

@Cheney-W Regarding your first question, actually no, maybe I should make some changes to the cmake, but sandbox shouldn't neccessarily come with the library.
And yes, this file structure is intentional, to have all headers and compilation units in the same place

ports/lwlog/portfile.cmake Outdated Show resolved Hide resolved
@dg0yt
Copy link
Contributor

dg0yt commented Jan 4, 2025

AFAICT this must not be in this port, given its binary artifacts.

set(VCPKG_BUILD_TYPE release)
set(VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES enabled)

@dg0yt
Copy link
Contributor

dg0yt commented Jan 4, 2025

2. The current storage structure of the header files causes them to be included in the form <src/xxx.h>. Is this the expected behavior?

And yes, this file structure is intentional, to have all headers and compilation units in the same place

It is fine to organize everything in src/ in the source directory. But what looks questionable is the use of include/src/ in the installed tree. It doesn't give any hint that src is "owned" by lwlog, and it would clash with other packages making the same choice for directory and file names. In that regard, it is not much better then putting everything directly into include/.
With the CMake config available, where is the problem with installing header e.g. to include/lwlog/? Do you need help with that?

@ChristianPanov
Copy link
Author

  1. The current storage structure of the header files causes them to be included in the form <src/xxx.h>. Is this the expected behavior?

And yes, this file structure is intentional, to have all headers and compilation units in the same place

It is fine to organize everything in src/ in the source directory. But what looks questionable is the use of include/src/ in the installed tree. It doesn't give any hint that src is "owned" by lwlog, and it would clash with other packages making the same choice for directory and file names. In that regard, it is not much better then putting everything directly into include/. With the CMake config available, where is the problem with installing header e.g. to include/lwlog/? Do you need help with that?

I fully agree. Just pushed the changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:new-port The issue is requesting a new library to be added; consider making a PR!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants