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

Basic template. #6

Closed
wants to merge 7 commits into from
Closed

Basic template. #6

wants to merge 7 commits into from

Conversation

PsiACE
Copy link

@PsiACE PsiACE commented Mar 6, 2020

This PR provides a basic project skeleton with the following features:

  • Meson Build System: Cross platform, easy to use, widely used in projects such as libfuse and libinput
  • Github Workflow:
    • Provide automatic build for mainstream platform.
    • Simple release function, only need git tag v0.1.0 etc.

This skeleton is based on psiace/meco template and has been adapted. The usage method has been put in the readme file, have a good time.

@PsiACE
Copy link
Author

PsiACE commented Mar 6, 2020

The purpose of providing this template is only to standardize the development process and provide assistance to some extent. I've verified on Linux that it's available.

When install:

Installing meson-out/libcasbin.so.0.1.0 to /usr/local/lib64
Installing casbin-cpp/include/casbin.h to /usr/local/include/casbin
Installing casbin-cpp/build/meson-private/casbin.pc to /usr/local/lib64/pkgconfig

@PsiACE
Copy link
Author

PsiACE commented Mar 6, 2020

@hsluoyz What do you think of it?

@hsluoyz
Copy link
Member

hsluoyz commented Mar 6, 2020

I prefer makefile & Visual Studio project files instead of meson or CMake. And it's too early to setup GitHub workflow.

@PsiACE
Copy link
Author

PsiACE commented Mar 6, 2020

I must admit that your choice is reasonable, but I think a unified build system can help project maintainers focus, and workflows can help you identify problems early.

Of course, everything is up to you.

@hsluoyz
Copy link
Member

hsluoyz commented Mar 6, 2020

See my comment here: #7

@PsiACE
Copy link
Author

PsiACE commented Mar 6, 2020

Also, I noticed that @xcaptain has shown a preference for cross-platform build tools in other people's pr.

@hsluoyz
Copy link
Member

hsluoyz commented Mar 6, 2020

Please give me a pointer?

@PsiACE
Copy link
Author

PsiACE commented Mar 6, 2020

See my comment here: #7

Got it.

Please give me a pointer?

#5 (comment)

@hsluoyz
Copy link
Member

hsluoyz commented Mar 6, 2020

@xcaptain are you willing to be the GSoC mentor for this idea (project) if we have slot?

PS: I'm asking this because the mentor is responsible for this project and he has the rights to make rules about how to contribute.

@xcaptain
Copy link

xcaptain commented Mar 6, 2020

@hsluoyz I'm interested in this project and would like to contribute but I think I'm not capable enough as the mentor. Currently, I found a lot of people trying to contribute including @romitkarmakar @divypatel9881 @PsiACE how about we work separately for some time and choose the first and best implementation as the official C++ version.

@PsiACE
Copy link
Author

PsiACE commented Mar 6, 2020

Glad to participate, the only regret is that I lack a Windows environment. (Of course, this is why I usually prefer cross-platform tools and early continuous integration)

@hsluoyz
Copy link
Member

hsluoyz commented Mar 6, 2020

@xcaptain OK. I have made some commits. I think we can start from it.

@PsiACE You can add makefile to make the current enforcer code compile. Use macro to disable some Windows-specific things like header files.

@PsiACE
Copy link
Author

PsiACE commented Mar 6, 2020

Ok, Iet me try. But maybe later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants