1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-01 12:40:36 +00:00
Commit graph

2348 commits

Author SHA1 Message Date
github-actions[bot] c3cd310f72 Automatic update of ./internal/source 2022-05-14 20:59:49 +00:00
Matt Kilgore 6bc35d302f
Merge pull request #51 from mkilgore/add-make-build-system
Replace existing build system with make
2022-05-14 16:48:11 -04:00
Matthew Kilgore e097a1942a Remvoe unnecessary cd 2022-05-14 15:34:39 -04:00
Matthew Kilgore e191abfdad Update ./internal/source when building on Windows
On Windows we don't distribute the ./setup_win.bat, so the contents of
./internal/source are not actually relevant for them. Since the QB64
symbol file will be located in it though, it is important that they get
an updated copy. It does also just make basic sense that if we're
distributing an ./internal/source with the Windows version it should
match whatever QB64 it was shipped with.
2022-05-14 15:07:20 -04:00
Matthew Kilgore f399406f8f Produce a symbol file along with the executable
The symbol file is a file that aids in debugging by allowing a crash
dump from a stripped executable to have it's symbols applied to it. The
file itself ends up in ./internal/temp after compilation and is called
`EXEFILE.sym`.

FIxes: #53
2022-05-14 15:06:56 -04:00
Matthew Kilgore 73c1c7245d Turn off optimization for now
We'll turn this on later when we have it better sorted out.
2022-05-14 12:15:35 -04:00
Matthew Kilgore 7a5ca0c49c Cleanup unused Makefile stuff 2022-05-14 12:13:00 -04:00
Matthew Kilgore 75e96dba8d Fix quoting in ./internal/source/ files 2022-05-12 00:54:24 -04:00
Matthew Kilgore 4d61ff7995 Fix quoting on Windows Resource files 2022-05-12 00:53:24 -04:00
Matthew Kilgore 336a7c3085 Build QB64 with icon 2022-05-12 00:34:48 -04:00
Matthew Kilgore fd6a201046 Require OS to be set when using the Makefile 2022-05-12 00:21:02 -04:00
Matthew Kilgore 9b2ea9e1f8 Test that ./internal/temp is empty 2022-05-12 00:21:02 -04:00
Matthew Kilgore 317a216c71 Fix make-dist.sh 2022-05-12 00:21:02 -04:00
Matthew Kilgore 794f76a534 Provide CFLAGS_EXTRA 2022-05-12 00:21:02 -04:00
Matthew Kilgore 10d12eddb8 Reorganize, add CFLAGS_EXTRA 2022-05-12 00:21:02 -04:00
Matthew Kilgore 11ec9237a3 Add support for mylib$ and mylibopt$ 2022-05-12 00:21:02 -04:00
Matthew Kilgore f1d9063980 Add support for CXXFLAGS_EXTRA and CXXLIBS_EXTRA 2022-05-12 00:21:02 -04:00
Matthew Kilgore 8f337a7333 Run make clean before creating distribution 2022-05-12 00:21:02 -04:00
Matthew Kilgore cf7cb21258 Remove unnecessary build and clean steps 2022-05-12 00:21:02 -04:00
Matthew Kilgore bc7df798c3 make clean should clear ./internal/temp 2022-05-12 00:21:02 -04:00
Matthew Kilgore ec484f5b1e Add make to Linux dependency list 2022-05-12 00:21:02 -04:00
Matthew Kilgore cf807de366 Add test of DATA linking 2022-05-12 00:21:02 -04:00
Matthew Kilgore 60cb0c6f82 Clear ./internal/temp between each test 2022-05-12 00:21:02 -04:00
Matthew Kilgore 867dddb1b4 Only copy compilelog files if they exist 2022-05-12 00:21:02 -04:00
Matthew Kilgore 5c4dcdc8aa Use dlfcn.h on OSX 2022-05-12 00:21:02 -04:00
Matthew Kilgore 64d32616ea Audio tests cannot be run on Linux
The GitHub runners do not have any sound cards available. We could
potentially install a dummy one but that's a bit too much work right
now.
2022-05-12 00:21:02 -04:00
Matthew Kilgore 23ef0aeca8 Add more tests and dynamic library support 2022-05-12 00:21:02 -04:00
Matthew Kilgore d18fc78fcd Formatting 2022-05-12 00:21:02 -04:00
Matthew Kilgore 2a4b637412 Separate _ICON usage from icon.rc
The Makefile was incorrectly tying together _ICON and icon.rc, making it
impossible to use one without the other. To fix this we introduce a new
DEP_ICON_RC flag, which indicates we need to use the icon.rc file (in
addition to regular icon support). DEP_ICON now only indicates we need
to support _ICON, and does not attempt to build the resource
information.
2022-05-12 00:21:02 -04:00
Matthew Kilgore 0fa4fc15ea Fix test 2022-05-12 00:21:02 -04:00
Matthew Kilgore b413028619 Retore errocompilelog, put exes in separate directory
The purpose of moving the EXEs is so that they are not captured in the
build artifacts. They would be nice to have, but they end up being a few
hundred MBs in size so much too large to bother saving.
2022-05-12 00:21:02 -04:00
Matthew Kilgore cfb86d2c8f Stop running windres from qb64.bas
Makefile does this
2022-05-12 00:21:02 -04:00
Matthew Kilgore 31783d9ec2 Copy Makefile to distribution 2022-05-12 00:21:02 -04:00
Matthew Kilgore f2c26ac253 Build CI using make 2022-05-12 00:21:02 -04:00
Matthew Kilgore dedda94a78 Capture compilation error log in tests 2022-05-12 00:21:02 -04:00
Matthew Kilgore f8aeb88f97 Change setup scripts to use make 2022-05-12 00:21:02 -04:00
Matthew Kilgore 30c620cfda Initial qb64.bas changes 2022-05-12 00:21:02 -04:00
Matthew Kilgore c1639b3979 Add basic make build system 2022-05-12 00:21:02 -04:00
github-actions[bot] 7c324a6aec Automatic update of ./internal/source 2022-05-08 00:30:36 +00:00
Matt Kilgore f2b76392df
Merge pull request #42 from mkilgore/use-exeicon-versioninfo
Use $EXEICON and $VERSIONINFO in qb64.bas, replacing the existing icon.rc file
2022-05-07 20:18:05 -04:00
Matthew Kilgore be814036ec Temporarally add build steps back 2022-05-07 19:57:38 -04:00
Matthew Kilgore 5a81e22879 Bump next version to 0.6.0 2022-05-07 19:57:38 -04:00
Matthew Kilgore 7d7d16c4f6 Use $EXEICON and $VERSIONINFO in qb64.bas 2022-05-07 19:57:38 -04:00
Matt Kilgore 253ab98ed8
Merge pull request #41 from mkilgore/fix-variable-width-font-print
Fix text wrapping on last column with variable width fonts
2022-05-07 19:57:10 -04:00
Matthew Kilgore ba90a51f3e Don't archive test exes 2022-05-06 17:50:07 -04:00
Matthew Kilgore fcec53e55b Fix text wrapping on last column with variable width fonts
Currently there is a bug where if a variable width font is in use and
text printed would exactly fit to the end of the row, it is instead
wrapped and printed on the next line.

Ex. You're printing a character that is 10 pixels wide, starting
from position 90 on an image that is 100 pixels wide. This should fix,
but instead your character will be printed on the next line.

The reason this happens is an off by one error, cursor_x (effectively
the X value passed to LOCATE) is one based even when using a variable
width font where cursor_x represents a pixel location. The location that
check if the next character can fit on the screen never handles the base
one, so it ends up treating the ending Y coordinate as one past where it
will actually end, which makes the code thing the print will go past the
edge of the screen.

To fix we simply subtract one before doing the comparison to give us the
actual ending pixel column.
2022-05-06 17:50:07 -04:00
github-actions[bot] 68281608f3 Automatic update of ./internal/source 2022-05-06 20:54:54 +00:00
Matt Kilgore 8c42b16d29
Merge pull request #38 from mkilgore/versioninfo-num-string
Allow numerical $VERSIONINFO values to set corresponding string values
2022-05-06 16:44:55 -04:00
Matthew Kilgore 2d1e4ec761 Add a few more VERSIONINFO tests 2022-05-06 14:29:37 -04:00
Matthew Kilgore a9fd9551af Allow numerical VersionInfo values to set corresponding string values
The resource file we create contains two separate values for FileVersion
and ProductVersion. Currently, they are actually represented by two
separate values in $VERSIONINFO and effectively require duplicating the
information between them.

My understanding is that the string values should always be the same as
the numerical versions, so to make $VERSIONINFO easier to use this
changes the logic so that setting the numerical version will
automatically also set the string version if values for them are not
provided.
2022-05-06 14:29:37 -04:00