You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These are some of the things you can do to contribute to the project:
4
+
5
+
## ✍ Write About The Project
6
+
7
+
If you find the project useful, spread the word! Articles, mastodon posts, tweets, blog posts, instagram photos - whatever you're into. Please include a referral back to the repository page: https://github.com/asmaloney/libE57Format
8
+
9
+
## ⭐️ Add a Star
10
+
11
+
If you found this project useful, please consider starring it! It helps me gauge how useful this project is.
12
+
13
+
## ☝ Raise Issues
14
+
15
+
If you run into something which doesn't work as expected, raising [an issue](https://github.com/asmaloney/libE57Format/issues) with all the relevant information to reproduce it would be helpful.
16
+
17
+
## 🐞 Bug Fixes & 🧪 New Things
4
18
5
19
I am happy to review any [pull requests](https://github.com/asmaloney/libE57Format/pulls). Please keep them as short as possible. Each pull request should be atomic and only address one issue. This helps with the review process.
6
20
21
+
Note that I will not accept everything, but I welcome discussion. If you are proposing a big change, please raise it as [an issue](https://github.com/asmaloney/libE57Format/issues) first for discussion.
22
+
7
23
### Formatting
8
24
9
-
This project uses [clang-format](https://clang.llvm.org/docs/ClangFormat.html) to format the code. There is a cmake target (_format_) - which runs _clang-format_ on the source files. After changes have been made, and before you submit your pull request, please run the following:
25
+
This project uses [clang-format](https://clang.llvm.org/docs/ClangFormat.html) to format the code. There is a cmake target (_e57-clang-format_) - which runs _clang-format_ on the source files. After changes have been made, and before you submit your pull request, please run the following:
10
26
11
27
```sh
12
-
cmake --build . --target format
28
+
cmake --build . --target e57-clang-format
13
29
```
14
30
15
-
## Documentation
31
+
## 📖 Documentation
16
32
17
33
The [documentation](https://github.com/asmaloney/libE57Format) is a bit old and could use some lovin'. You can submit changes over in the [libE57Format-docs](https://github.com/asmaloney/libE57Format-docs) repository.
18
34
19
-
## Financial
35
+
## 💰 Financial
20
36
21
-
If you would like to support the project financially, you can use the **Sponsor** button at the top of the [libE57Format](https://github.com/asmaloney/libE57Format) repository page.
37
+
Given that I'm an independent developer without funding, financial support is always appreciated. If you would like to support the project financially (especially if you sell a product which uses this library), you can use the [sponsors page](https://github.com/sponsors/asmaloney) for one-off or recurring support. Thank you!
Copy file name to clipboardexpand all lines: README.md
+80-11
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
[](https://github.com/asmaloney/libE57Format/releases/latest)[](https://asmaloney.github.io/libE57Format-docs/)[](LICENSE)
4
4
5
-
A library to provide read & write support for the E57 file format.
5
+
libE57Format is a library which provides read & write support for the E57 file format.
6
6
7
7
This is a fork of [E57RefImpl](https://sourceforge.net/projects/e57-3d-imgfmt/) v1.1.332. The original source is from [E57RefImpl 1.1.332](https://sourceforge.net/projects/e57-3d-imgfmt/files/E57Refimpl-src/) and then everything was stripped out except the main implementation for reading and writing E57.
8
8
@@ -22,13 +22,59 @@ I plan to let 3.0 sit in the master branch until the end of 2022. If I don't hea
22
22
23
23
The doxygen-generated documentation may be [found here](https://asmaloney.github.io/libE57Format-docs/). These docs are generated and saved in the [libE57Format-docs](https://github.com/asmaloney/libE57Format-docs) repo.
24
24
25
-
## Contributing
25
+
## Build, Install, & Test
26
26
27
-
Please see [CONTRIBUTING](CONTRIBUTING.md).
27
+
Here's how you build & install a release version with the defaults:
If it can't find the xerces-c library, you can set [CMAKE_PREFIX_PATH](https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html) to point at it.
36
+
37
+
```
38
+
$ cmake -B E57-build \
39
+
-DCMAKE_BUILD_TYPE=Release \
40
+
-DCMAKE_INSTALL_PREFIX=E57-install \
41
+
-DCMAKE_PREFIX_PATH=/path/to/xerces-c \
42
+
libE57Format
43
+
```
44
+
45
+
Once the library is built, you can run the tests like this:
46
+
47
+
```
48
+
$ cd E57-build
49
+
$ ./test/testE57
50
+
[==========] Running 36 tests from 8 test suites.
51
+
[----------] Global test environment set-up.
52
+
[----------] 1 test from TestData
53
+
[ RUN ] TestData.RepoExists
54
+
...
55
+
```
56
+
57
+
### Dependencies
58
+
59
+
-[ccache](https://ccache.dev/) (optional): speed up rebuilds using caching
60
+
-[clang-format](https://clang.llvm.org/docs/ClangFormat.html): for code formatting
61
+
-[Xerces-C++](https://xerces.apache.org/xerces-c/): a validating XML parser
62
+
63
+
#### Installing Dependencies On Linux (Ubuntu)
64
+
65
+
```sh
66
+
$ sudo apt install libxerces-c-dev clang-format
67
+
```
68
+
69
+
#### Installing Dependencies On macOS (homebrew)
70
+
71
+
```sh
72
+
$ brew install ccache clang-format xerces-c
73
+
```
28
74
29
75
## Why Fork?
30
76
31
-
The E57RefImpl code hasn't been touched in years and I wanted to make changes to compile this library with macOS. Forking it gives me a bit more freedom to update the code and make changes as required.
77
+
The E57RefImpl code hadn't been touched in years and I wanted to make changes to compile it with macOS. Forking it gave me a bit more freedom to update the code and make changes as required.
32
78
33
79
I changed the name of the project so that it is not confused with the **E57RefImpl** project.
34
80
@@ -46,21 +92,44 @@ This `Simple API` has evolved since this original port to fix some problems and
46
92
47
93
[Ryan Baumann](https://github.com/ryanfb) has updated the `e57unpack` and `e57validate` tools to work with **libE57Format**. You can find them in the [e57tools](https://github.com/ryanfb/e57tools) repo.
These are some of the things you can do to contribute to the project:
52
98
53
-
### Dependencies
99
+
### ✍ Write About The Project
54
100
55
-
-[Xerces-C++](https://xerces.apache.org/xerces-c/) validating XML parser for building libE57Format
56
-
-[clang-format](https://clang.llvm.org/docs/ClangFormat.html) for C++ formatting
101
+
If you find the project useful, spread the word! Articles, mastodon posts, tweets, blog posts, instagram photos - whatever you're into. Please include a referral back to the repository page: https://github.com/asmaloney/libE57Format
57
102
58
-
#### Installing Dependencies On Linux (Ubuntu)
103
+
### ⭐️ Add a Star
104
+
105
+
If you found this project useful, please consider starring it! It helps me gauge how useful this project is.
106
+
107
+
### ☝ Raise Issues
108
+
109
+
If you run into something which doesn't work as expected, raising [an issue](https://github.com/asmaloney/libE57Format/issues) with all the relevant information to reproduce it would be helpful.
110
+
111
+
### 🐞 Bug Fixes & 🧪 New Things
112
+
113
+
I am happy to review any [pull requests](https://github.com/asmaloney/libE57Format/pulls). Please keep them as short as possible. Each pull request should be atomic and only address one issue. This helps with the review process.
114
+
115
+
Note that I will not accept everything, but I welcome discussion. If you are proposing a big change, please raise it as [an issue](https://github.com/asmaloney/libE57Format/issues) first for discussion.
116
+
117
+
#### Formatting
118
+
119
+
This project uses [clang-format](https://clang.llvm.org/docs/ClangFormat.html) to format the code. There is a cmake target (_e57-clang-format_) - which runs _clang-format_ on the source files. After changes have been made, and before you submit your pull request, please run the following:
59
120
60
121
```sh
61
-
$ sudo apt install libxerces-c-dev clang-format
122
+
cmake --build . --target e57-clang-format
62
123
```
63
124
125
+
### 📖 Documentation
126
+
127
+
The [documentation](https://github.com/asmaloney/libE57Format) is a bit old and could use some lovin'. You can submit changes over in the [libE57Format-docs](https://github.com/asmaloney/libE57Format-docs) repository.
128
+
129
+
### 💰 Financial
130
+
131
+
Given that I'm an independent developer without funding, financial support is always appreciated. If you would like to support the project financially (especially if you sell a product which uses this library), you can use the [sponsors page](https://github.com/sponsors/asmaloney) for one-off or recurring support. Thank you!
132
+
64
133
## License
65
134
66
135
This project as a whole is licensed under the [**BSL-1.0**](https://opensource.org/licenses/BSL-1.0) license - see the [LICENSE](LICENSE.md) file for details.
0 commit comments