Skip to content

Commit

Permalink
Remove ancient cruft, refresh the README, license as public domain.
Browse files Browse the repository at this point in the history
  • Loading branch information
mosra committed Feb 24, 2024
1 parent 7c5e504 commit e5fbff2
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 137 deletions.
21 changes: 21 additions & 0 deletions COPYING
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute
this software, either in source code form or as a compiled binary, for any
purpose, commercial or non-commercial, and by any means.

In jurisdictions that recognize copyright laws, the author or authors of
this software dedicate any and all copyright interest in the software to
the public domain. We make this dedication for the benefit of the public
at large and to the detriment of our heirs and successors. We intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to <http://unlicense.org/>
80 changes: 50 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,50 @@
This repository contains toolchains usable for crosscompiling with CMake. They
are meant to be used on ArchLinux, but they can also (with some directory
structure modifications) work on other systems.

How to use them?
================

Suppose you have sources which use CMake build system. Create new clean build
directory, pick any toolchain and run cmake with your selected toolchain in it,
e.g.:

mkdir build-win
cd build-win
cmake -DCMAKE_TOOLCHAIN_FILE=~/toolchains/archlinux/Qt4-mingw32.cmake ..

Now you can compile (and install/package) the application as usual:

make -j3
make package
make me happy

The result is application crosscompiled for given architecture and system (here
it is Qt4 application for Windows).

Dependencies for crosscompiling
===============================

Every toolchain file has listed dependecies, which are needed for successful
crosscompilation. Packages are available either in official ArchLinux
repositories, in AUR or, for more exotic architectures, in [my own repository](https://github.com/mosra/archlinux).
This repository contains toolchains usable for crosscompiling with CMake.
They're tailored for and mainly used by [Magnum](https://github.com/mosra/magnum)
but should work for other projects as well.

USAGE
=====

Assuming a CMake project, point `CMAKE_TOOLCHAIN_FILE` to one of the toolchain
files during the initial CMake invocation. While relative paths may work in
certain cases, it's better to always pass an absolute path. The
`CMAKE_TOOLCHAIN_FILE` variable is only used by CMake during the initial run,
it's ignored (and thus doesn't even need to be specified) in subsequent runs.

mkdir build-emscripten && cd build-emscripten
cmake .. -DCMAKE_TOOLCHAIN_FILE=path/to/toolchains/generic/Emscripten-wasm.cmake

The toolchain file then sets up other paths (such as pointing
`CMAKE_MODULE_PATH` to the `modules/Platform/` directory) and the process will
result in a configured build directory that can be subsequently used as any
other. See comments in particular toolchain files for platform-specific
details.

CONTACT & SUPPORT
=================

This project is maintained as part of Magnum, so it shares the same suppport
channels:

- Project homepage — https://magnum.graphics/
- Documentation — https://doc.magnum.graphics/
- GitHub — https://github.com/mosra/toolchains and the
[#magnum](https://github.com/topics/magnum) topic
- GitLab — https://gitlab.com/mosra/toolchains
- Gitter community chat — https://gitter.im/mosra/magnum
- E-mail — [email protected]
- Google Groups mailing list — [email protected]
([archive](https://groups.google.com/forum/#!forum/magnum-engine))
- Twitter — https://twitter.com/czmosra and the
[#MagnumEngine](https://twitter.com/hashtag/MagnumEngine) hashtag

See also the Magnum Project [Contact & Support page](https://magnum.graphics/contact/)
for further information.

LICENSE
=======

While Magnum itself and its documentation are licensed under the MIT/Expat
license, the toolchains are put into public domain (or UNLICENSE) to free you
from any legal obstacles when using these to build your apps. See the
[COPYING](COPYING) file for details.
19 changes: 0 additions & 19 deletions archlinux/Angstrom-ARM.cmake

This file was deleted.

50 changes: 0 additions & 50 deletions archlinux/Qt4-mingw32.cmake

This file was deleted.

38 changes: 0 additions & 38 deletions archlinux/basic-mingw32.cmake

This file was deleted.

0 comments on commit e5fbff2

Please sign in to comment.