Commit Graph

43 Commits (57f8b37270cbbf2d83fea918c6ae3761ecdf9deb)

Author SHA1 Message Date
наб cbac182edf Add and build mimalloc at 07c6e60a5a3bd7de09e4a170cd97bafba59cfafd 2020-07-12 02:37:07 +00:00
наб 873085edbd
README: fix extlib/q3d{o,} typo 2020-07-09 09:19:21 +00:00
whitequark c95a07a1de Win32: when building with MSVC, require VS2015.
VS2013 does not have constexpr support and in general is quite buggy.
There's no reason to use it anymore as even XP toolsets are available
for VS2015 and VS2017.
2020-05-10 12:20:21 +00:00
whitequark 35448298bc README: update Linux-to-Windows cross-compilation instructions. 2020-04-27 17:23:55 +00:00
Maximilian Federle 72bc71cc9d README: add snap as an installation option. 2020-01-23 17:05:13 +00:00
whitequark 945a28277f README: update submodule instructions. 2019-04-13 21:11:10 +00:00
whitequark b2418a0324 README, CONTRIBUTING: mention the CLA. 2019-02-11 12:47:07 +00:00
whitequark f4d394a107 README: add note on cross-compilation from Ubuntu. 2019-02-11 11:09:44 +00:00
Toon Verstraelen 8f2af5b228 Add Fedora packages to README and add sudo before apt 2018-11-10 08:26:50 +00:00
whitequark 88d59ea765 README: mention third-party Debian/Ubuntu packages. 2018-07-31 17:35:21 +00:00
whitequark 26f3751ce8 macOS: rename application bundle to SolveSpace.
This changes the capitalization shown in GUI.
2018-07-17 15:01:58 +00:00
whitequark 76561e3831 README: add Community section. 2018-07-12 20:58:40 +00:00
whitequark 9cd0044803 macOS: update instructions in README. 2018-07-12 13:39:45 +00:00
whitequark c6fc0125a2 README: add OpenBSD instructions. 2017-12-17 18:44:38 +00:00
whitequark afe2279a96 Elaborate build instructions in README.
Not everyone knows how to check out the sources with git (or that
we require that, because of submodules), and has the basic build
tools like gcc installed, so point that out explicitly.
2017-08-08 12:22:40 +00:00
whitequark 32120ea2dc CONTRIBUTING, README: add XCode instructions. 2017-07-21 18:20:59 +00:00
whitequark 0b79dc277e Update macOS build section in README. 2017-07-21 14:51:52 +00:00
whitequark 9ab37c2ebf README: update zlib package version. 2017-03-07 11:54:15 +00:00
whitequark 51b88280e5 README: suggest release builds, as these are much faster.
Also, remove -DENABLE_TESTS=OFF, since tests are no longer run
when building the default target.
2017-02-02 17:45:55 +00:00
whitequark ec07516580 GTK: work around a gtkmm<3.22 bug. 2017-01-14 02:41:23 +00:00
whitequark f1d4c4a50c README: point to CONTRIBUTING where relevant. 2017-01-02 22:40:36 +00:00
whitequark 2eb934243b README: update Windows version requirement. 2017-01-02 22:24:27 +00:00
whitequark e127b28a2d CMake: allow building the CLI without the GUI. 2017-01-02 22:13:20 +00:00
whitequark 7dbbd75969 Drop support for GTK 2.
It's a deprecated platform that has weird OpenGL-related bugs and
is incompatible with using EGL anyway. It was clear we're going
to drop it, the only question was when. Answer: now.
2017-01-02 16:20:12 +00:00
whitequark 11adaf20b7 README: update Linux dependencies. 2016-12-13 09:57:56 +00:00
whitequark 9301dec98d Use the same code for loading resources in all executables.
All of our executables need resources; e.g. the vector font is
a resource and it is necessary for generation. Before this commit,
the GUI executable loaded the resources in a nice way, and everything
else did it in a very ad-hoc, fragile way.

After this commit, all executables are placed in <build>/bin and
follow the same algorithm:
  * On Windows, resources are compiled and linked into every
    executable.
  * On Linux, resources are copied into <build>/res (which is
    tried first) and <prefix>/share/solvespace (which is tried
    second).
  * On macOS, resources are copied into <build>/res (which is
    tried first) and <build>/bin/solvespace.app/Contents/Resources
    (which is tried second).

In practice this means that we can add as many executables as we want
without duplicating lots of code. In addition, on macOS, we can
place supplementary executables into the bundle, and they can use
resources from the bundle transparently.
2016-11-28 06:18:42 +00:00
whitequark f5e955a015 README: add gdb and lldb debugging instructions. 2016-11-14 02:35:04 +00:00
whitequark ba1cd83d9e README: clarify Windows instructions. 2016-08-07 17:19:47 +00:00
whitequark 5e63d8301e Add a simple harness for automated, headless testing.
This commit alters the build system substantially; it adds another
platform, `headless`, that provides stubs in place of all GUI
functions, and provides a library `solvespace_headless` alongside
the main executable. To cut down build times, only the few files
that have #if defined(HEADLESS) are built twice for the executable
and the library; the rest is grouped into a new `solvespace_cad`
library. It is not usable on its own and just serves for grouping.

This commit also gates the tests behind a -DENABLE_TESTS=ON CMake
option, ON by default (but suggested as OFF in the README so that
people don't ever have to install cairo to build the executable.)

The tests introduced in this commit are (so far) rudimentary,
although functional, and they serve as a stepping point towards
introducing coverage analysis.
2016-08-01 00:48:37 +00:00
whitequark 7265121b24 Refactor GlOffscreen; remove the GLEW dependency.
It was never really needed, since both Linux and OS X, where
GlOffscreen is used, guarantee that the API we need is present,
on all OS versions we're interested in.

Also, reorganize GlOffscreen consistently with the rest of our
codebase, and don't use RAII for OpenGL resource management because
of its requirement for an active context.
2016-07-25 04:21:55 +00:00
whitequark 216091a366 README: clarify binary package situation.
We now build and distribute Windows executables for every release,
so mention that. Conversely, the Debian packages are basically
unusable, so drop them for now.
2016-07-25 04:21:54 +00:00
whitequark a1589401b6 debian: use non-ABI-versioned libpng. 2016-06-26 13:25:33 +00:00
whitequark d2b21666e1 Move everything from whitequark/solvespace to solvespace/solvespace. 2016-04-23 19:39:39 +00:00
whitequark 63d48e7840 Update README. 2016-03-19 16:36:07 +00:00
whitequark 7c2200584a Update README: update prerequisites for OS X. 2016-03-18 20:24:17 +00:00
whitequark 4376f178fc Update README: add instructions for checking out libdxfrw on *nix. 2016-03-16 20:58:02 +00:00
whitequark e5294eef9d Add freetype dependency.
We are going to use freetype instead of the old custom TTF parser,
since the old parser has many annoying bugs when handling non-Latin
fonts and fixing it is not really worth the time.

On Windows, Freetype is built from a submodule.
On Linux and OS X, Freetype is provided together with the desktop,
though development files have to be installed separately.
2016-02-13 21:08:18 +00:00
whitequark f3b232238c Remove mention of Launchpad PPA from README.
I do not update it anymore and it's probably not the best solution
for distributing SolveSpace on Linux. In the meantime, the builds
from GitHub releases should be convenient enough.
2016-02-10 12:06:30 +00:00
whitequark 293eedc85e Add command-line Windows build instructions to README. 2016-02-10 10:48:42 +00:00
whitequark f76f76ff60 Rewrite png2c.pl in C++.
This allows us to always generate icons during build,
and in the future remove a Perl dependency.
2015-12-29 11:15:50 +08:00
ruevs 922a6260d7 Allow building with MinGW on Windows. 2015-12-28 21:37:06 +08:00
whitequark 0159a87a8a Add support for cross-compiling from Linux.
As a side effect, zlib and libpng are now git submodules,
based on their respective official git repositories.
This is necessary, because MinGW has a different ABI and
it cannot use the prebuilt binaries built by MSVC.

The submodules are also used for Windows, for several reasons:
  * to allow 64-bit builds;
  * to allow using newer MSVC, which doesn't like the prebuilt
    libraries;
  * to keep the libraries updated.
2015-07-10 15:59:12 +03:00
whitequark 636b20bfa9 Add README. 2015-07-10 15:59:12 +03:00