Comments (3)
Confusion comes from the fact that GitHub doesn't include submodules inside source code release assets.
This problem also complicates packaging process for Linux distributions, because here's how they are usually structured:
version: 3.2.5
depends: package1, package2, ...
url: "https://github.com/nemtrif/utfcpp/archive/refs/tags/v${version}.tar.gz"
fetch() { curl -o "$url" } # usually implicit and omitted
build() { cmake .... } # can often be also be implicit and omitted
As you can see, packages that are structured in such simple (preferable) way have no distinction between git or any other source archive, and expect a complete package.
Submodules are not ideal for distribution:
- What if the submodule repository is not available anymore?
- What if submodule forcefully rewrote it's git history and commit hashes don't align anymore? (no idea honestly)
- What if
git
is not available? (architecture, internet access) git clone
by default doesn't clone submodules and there's no clear, verbal indication that something is missing.- Do submodules even allow to be distributed? (licenses)
...
Since this is not the first time such issue was raised, may i recommend you to manually pack everything for release or setup a GitHub action to do it automatically? This might seem like a GitHub crutch, but it's a common practice.
Hopefully this helps with confusion.
from utfcpp.
I am not sure what you are asking. Yes, ftest is an external dependency, and if you want to run utf8 cpp tests, make sure to include the submodules when doing the clone (https://stackoverflow.com/questions/3796927/how-do-i-git-clone-a-repo-including-its-submodules)
If you don't want to run utf8 cpp tests, there is nothing to build - it is a header-only library.
from utfcpp.
Thanks, @Elvyria . For version 4 I will go with a very different build model for the library. There is no need for regular users to build tests and samples.
from utfcpp.
Related Issues (20)
- Unreachable code HOT 2
- The library is not working properly
- Bumping CMake required version HOT 5
- cmake dependency totally broken HOT 5
- vs2022 C2676 is appearing HOT 5
- Install CMake files to arch-indep directories when ARCH_INDEPENDENT is set HOT 3
- utf8::utf16to8 and utf8::unchecked::utf16to8 produce different output HOT 2
- After 4.0.0 headers gets installed into include/utf8 using CMake HOT 7
- Strings are one character short with version 3.2.5 through 4.0.0 HOT 4
- Recommended way to convert case HOT 1
- mismatch version number in CMakeLists.txt HOT 1
- Tests fail on macOS (x86_64-darwin) HOT 3
- Consider using _MSVC_LANG to detect cpp version HOT 1
- Missing `export` CMake command when installing
- FTBFS due to undocumented external dependency HOT 2
- Support for u8string? HOT 3
- Utf16 strings codepoint iteration and appending HOT 4
- Clang 10 Compiler warnings HOT 6
- C++ Deprecation Warnings HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from utfcpp.