Skip to content

Commit ed203f2

Browse files
author
Chase Geigle
committed
Merge branch 'develop' for MeTA v2.4.1.
2 parents 9f55ba4 + b7a71f2 commit ed203f2

5 files changed

Lines changed: 109 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# [v2.4.1][2.4.1]
2+
## Bug fixes
3+
- Eliminate excess warnings on Darwin about double preprocessor definitions
4+
- Fix issue finding `config.h` when used as a sub-project via
5+
add_subdirectory()
6+
17
# [v2.4.0][2.4.0]
28
## New features
39
- Add a minimal perfect hashing implementation for `language_model`, and unify
@@ -476,7 +482,8 @@
476482
# [v1.0][1.0]
477483
- Initial release.
478484

479-
[unreleased]: https://github.com/meta-toolkit/meta/compare/v2.4.0...develop
485+
[unreleased]: https://github.com/meta-toolkit/meta/compare/v2.4.1...develop
486+
[2.4.1]: https://github.com/meta-toolkit/meta/compare/v2.4.0...v2.4.1
480487
[2.4.0]: https://github.com/meta-toolkit/meta/compare/v2.3.0...v2.4.0
481488
[2.3.0]: https://github.com/meta-toolkit/meta/compare/v2.2.0...v2.3.0
482489
[2.2.0]: https://github.com/meta-toolkit/meta/compare/v2.1.0...v2.2.0

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ endif()
112112
CompilerKludges(meta/kludges.h)
113113

114114
configure_file(include/meta/config.h.in meta/config.h)
115-
include_directories(${CMAKE_CURRENT_BINARY_DIR})
115+
target_include_directories(meta-definitions INTERFACE
116+
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
117+
$<INSTALL_INTERFACE:include>)
116118

117119
cmake_pop_check_state()
118120

PACKAGING.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Packaging or Installing MeTA
2+
3+
Please follow these slightly modified build instructions if you are either
4+
a packager and you want to make a package of MeTA for your distribution, or
5+
if you simply want to install MeTA to e.g. `/usr/local`.
6+
7+
You will need the following `cmake` flags:
8+
9+
- `-DBUILD_SHARED_LIBS=On`: build `.so` libraries instead of `.a`.
10+
- `-DBUILD_STATIC_ICU=On`: force building a static ICU library as part of
11+
`meta-utf.so` to ensure Unicode standard stability.
12+
13+
If you are building for a Linux platform, you *must* use GCC. **Do not use
14+
Clang/libc++**, as the library throws exceptions and must be built in the
15+
same way all other C++ applications on the system are expected to be built.
16+
17+
MeTA will require [cpptoml][cpptoml] to be installed. This is
18+
straightforward as cpptoml is header-only. Please follow the standard
19+
`cmake` build instructions for cpptoml and package using `make install` to
20+
install the CMake configuration files for cpptoml. This allows MeTA's CMake
21+
configuration files to find cpptoml as a dependency.
22+
23+
MeTA can then be installed using `make install`.
24+
25+
# Using an Installed MeTA
26+
27+
You can consume MeTA most easily by using a CMake build system (though you
28+
do not have to). Your `CMakeLists.txt` might look something like the
29+
following:
30+
31+
```cmake
32+
find_package(MeTA 2.4 REQUIRED)
33+
34+
add_executable(my-program my_program.cpp)
35+
target_link_libraries(my-program meta-index) # or any other MeTA libraries
36+
```
37+
38+
[cpptoml]: https://github.com/skystrife/cpptoml

RELEASING.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Releasing MeTA Versions
2+
3+
This document contains a checklist for releasing a version of MeTA so we
4+
follow a consistent releasing process.
5+
6+
1. Pick a version number. MeTA releases (Major.Minor.Patch) ought to be API
7+
compatible with other releases that share the same Major and Minor
8+
version numbers but different Patch versions.
9+
10+
Major API changes (like new libraries or toolkit-wide backwards
11+
incompatible API changes) increment the Major release number. Minor API
12+
changes (like enhancements) increment the Minor release number. Patch
13+
versions should be released only for bug fixes.
14+
15+
2. Ensure `CHANGELOG.md` is up to date.
16+
17+
If there are *any* breaking changes, mention these explicitly. If there
18+
are migration strategies to work around these breaking changes, provide
19+
a brief explanation (or a link to explain them).
20+
21+
3. If there are major *or* minor API changes, ensure that the documentation
22+
on the website (meta-toolkit/meta-toolkit.org) is correct.
23+
24+
Update Doxygen as necessary.
25+
26+
4. Ensure that the build is passing on both Travis (Linux + OS X) and
27+
Appveyor (Windows/MinGW-w64).
28+
29+
5. Merge branch `develop` into `master` with a commit message
30+
31+
> Merge branch 'develop' for MeTA vX.Y.Z
32+
33+
Use `git merge develop --no-ff` to create a merge commit.
34+
35+
6. Tag the merge commit. The tag should be both annotated *and* signed:
36+
37+
```
38+
git tag -as vX.Y.Z
39+
```
40+
41+
The tag message should be the contents of the CHANGELOG for that
42+
version. Remove unnecessary markdown syntax like header markers and code
43+
blocks. Backticks can stay.
44+
45+
7. Push the merge and the tags to GitHub:
46+
47+
```
48+
git push --follow-tags
49+
```
50+
51+
8. Create a release on GitHub using the new tag. Its title should be "MeTA
52+
vX.Y.Z".
53+
54+
The contents of the message should be exactly the same as the CHANGELOG
55+
entry for that release.
56+
57+
9. Upload the model files and include a section in the GitHub release notes
58+
containing their sha256 sums.

include/meta/config.h.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include "meta/kludges.h"
55

66
// OS X
7-
#cmakedefine META_IS_DARWIN
8-
#cmakedefine _DARWIN_USE_64_BIT_INODE
7+
//#cmakedefine META_IS_DARWIN
8+
//#cmakedefine _DARWIN_USE_64_BIT_INODE
99

1010
#endif

0 commit comments

Comments
 (0)