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

2298 commits

Author SHA1 Message Date
github-actions[bot] 25ab5b92f7 Automatic update of ./internal/source 2022-05-06 18:13:57 +00:00
Matt Kilgore 6880a9352f
Merge pull request #36 from mkilgore/fix-icon-2
Generate icon.rc file on all platforms and copy icon file into temp directory
2022-05-06 14:03:58 -04:00
Matthew Kilgore 0930d51b9c Move some file-related functions into utilities/file.bas 2022-05-06 13:42:35 -04:00
Matthew Kilgore 18c4fc5e5e Add test of relative icon path 2022-05-06 13:42:35 -04:00
Matthew Kilgore a66b9c1ca6 Fix run_tests.sh to report error on failed tests 2022-05-06 13:42:35 -04:00
Matthew Kilgore 3acf3759da Add compile test for combined VERSIONINFO and EXEICON 2022-05-06 13:42:35 -04:00
Matthew Kilgore 55a4d1af1c Verify Windows executable has version information
windres has a handy feature of allowing us to feed it an executable and
it will give an error code depending on whether that executable has a
resource section or not. We can use that feature to create a quick test
to verify the distributable has the resource information on it.
2022-05-06 13:42:35 -04:00
Matthew Kilgore c165476838 Create icon.rc file on all platforms, copy ico file into temp
Previously, the creation of the icon.rc file was restricted to be
Windows only because Windows is the only platform with a use for that
file. Unfortunately, this breaks a fundimental assumption about how the
QB64 C++ generation works, because we only have one set of
`./internal/source` files from which we build all versions of QB64 for
all platforms. Due to that, the built version needs to include all files
needed by all platforms, regardless of which one is doing the building.
So to that end, all platforms should produce the icon.rc, even if it
will not be used on that platform.

Additionally, the path to the icon file in `icon.rc` is problimatic
because it is made into an absolute path. This blocks `qb64.bas` from
using `$EXEICON` because the absolute path is not predictable, as
the location we create ./internal/source will be different from the
location we build ./internal/source. Effectively this means that the
`icon.rc` file in `./internal/source` would always be wrong.

The solution is to not use an absolute path, with the other option being
to have the icon in the same directory as the resource file. This is
actually relatively easy to acomplish since icon files are not terribly
large and we can simply copy it into the temp directory.

Thus, that is what this change does - the specified icon file is copied
into the temp directory as `icon.ico`, which allows use to use
`icon.ico` in the `icon.rc` file and have it always work regardless of
directory.

The internal logic was also cleaned up a bit. The creation of these
files is no longer Windows specific, and the $EXEICON parsing no longer
writes to the `icon.rc` file - rather, the entire thing is generated
together, with both the $VERSIONINFo and $EXEICON depending on which
were provided.
2022-05-06 13:42:35 -04:00
Matt Kilgore cc4b7be017
Merge pull request #37 from mkilgore/run-clang-format
Run `clang-format` on all C and C++ files
2022-05-06 13:42:18 -04:00
Matthew Kilgore 55da5f4ce3 Format other various source files 2022-05-06 13:20:30 -04:00
Matthew Kilgore 1aa8d7a42f Run clang-format on ./internal/c/*cpp files 2022-05-06 13:20:30 -04:00
Steve McNeill a822756306
Merge pull request #31 from SteveMcNeill/main
Update more links
2022-05-05 03:07:42 -04:00
SteveMcNeill ec3d242468 Update more links
Remove more references from old .org site to our new site.
2022-05-03 23:49:57 -04:00
Steve McNeill 5c3d52b345
Merge pull request #24 from SteveMcNeill/main
Update LodePNG library
2022-05-03 10:22:32 -04:00
Steve McNeill 7b6b5c4dde
Merge branch 'main' into main 2022-05-03 09:59:47 -04:00
SteveMcNeill 50eb90f885 Update LodePNG library
from 2012 version to 2022 version, which has been quite improved and sped up.
2022-05-03 02:33:45 -04:00
github-actions[bot] 87ee36daf2 Automatic update of ./internal/source 2022-05-03 06:32:16 +00:00
Steve McNeill f57d8a5222
Merge pull request #19 from SteveMcNeill/main
Add option to menu to make temp files
2022-05-03 02:20:21 -04:00
SteveMcNeill e0dea015fc include path in deleted filename 2022-05-01 19:26:48 -04:00
SteveMcNeill 40ed008e9f Fix to Incorrect flag name 2022-05-01 19:11:38 -04:00
SteveMcNeill 9b87eff34b Capitalize Keywords in QB64.bas 2022-05-01 18:02:15 -04:00
Steve McNeill f1a6d09430
Merge branch 'main' into main 2022-05-01 17:37:44 -04:00
Matt Kilgore 576d9023d8
Merge pull request #18 from mkilgore/new-main-add-tests
Add new tests to CI
2022-04-30 11:54:50 -04:00
SteveMcNeill 65c75b0df6 Add option to menu to make temp files
It's working and tested in Windows.
Still needs to be tested in Linux and Mac, but I *think* it'll work for them as well.  ;)
2022-04-29 03:57:25 -04:00
Matthew Kilgore 4330bc1089 Run tests as part of CI 2022-04-28 23:00:07 -04:00
Matthew Kilgore fb12f0445e Don't use a separate output directory 2022-04-28 23:00:07 -04:00
Matthew Kilgore 9ee89d6ff4 Add QBasic tests
These tests use a variety of sample code (with some of the larger files
removed, so they are not complete!) and verifies that they all compile
successfully.
2022-04-28 23:00:07 -04:00
Matthew Kilgore b89e388c2f Add Compilation tests for different dependencies
These tests check that we can compile programs that use a variety of
different sets of dependencies. Each program will only be compiled with
the set of dependencies it relies on.
2022-04-28 23:00:06 -04:00
Matthew Kilgore c76aa71f4c Remove unnecessary build scripts and .github stuff 2022-04-28 17:46:36 -04:00
Matthew Kilgore 2fdab9af4e Reintroduce wikiBaseAddress$ fix
This got dropped accidentally due to taking the wrong file during the
rebase to attach the previous history from qb64team/qb64.
2022-04-28 17:44:30 -04:00
github-actions[bot] 9daea697b6 Automatic update of ./internal/source 2022-04-28 17:22:32 -04:00
Matthew Kilgore 38ae3f68ba Update CI trigger requirements 2022-04-28 17:21:58 -04:00
Matthew Kilgore 707480642b Update ./internal/source automatically 2022-04-28 17:21:58 -04:00
Matthew Kilgore 5031de2cd6 Add ability to avoid starting QB64 after script is run 2022-04-28 17:21:58 -04:00
Matthew Kilgore 4635b3de59 Add distribution tests 2022-04-28 17:21:58 -04:00
Matthew Kilgore 65c2c7cd57 Copy C++ Compiler into archive 2022-04-28 17:21:58 -04:00
Matthew Kilgore 77aced1b1c Rewrite distribution logic, download mingw*.exe 2022-04-28 17:21:56 -04:00
SteveMcNeill 97ab4f4dc9 Update to version
Reset version number to 0.5.0.
Added "Phoenix Edition" to our name, so nobody will think we're still working with the old team of QB64, and mistakenly donate to the wrong Patreon, or buy merchandise wrongly thinking they were supporting us.  :)
2022-04-28 17:21:22 -04:00
SteveMcNeill aed82b4979 $Color fix with $NoPrefix
There's no need for all colors to end up with a new prefix for use between $COLOR and $NOPREFIX.
The only conflicts we have are with _Red, _Green, _Blue, so this fix appends a NP_ to the front of the those three color names so they won't conflict with the command names.  (NP_ for NoPrefix_)
2022-04-28 17:20:45 -04:00
Matthew Kilgore 6da21ef2d4 Create draft release when building tag 2022-04-28 17:20:45 -04:00
Matthew Kilgore 0460720e2e Use new mingw executable 2022-04-28 17:20:45 -04:00
Matthew Kilgore 93ee0671f2 Fix Linux dependencies 2022-04-28 17:20:45 -04:00
Matthew Kilgore 0847b970b1 Don't ignore .bas files in source directory 2022-04-28 17:20:45 -04:00
Matthew Kilgore e83304b33c Switch to matrix-based build 2022-04-28 17:20:45 -04:00
Matthew Kilgore 83a832ce35 Create QB64 zips, and add build artifacts 2022-04-28 17:20:43 -04:00
Matthew Kilgore 7be379c39d Add version calculation and separate label vs. commit
This slightly changes how the versioning works.
2022-04-28 17:19:37 -04:00
Matthew Kilgore d928ab2c8b Add basic automated build
This imports the basic logic from the previous build. All it does is
compile a version of QB64 using ./internal/source, and then uses that
QB64 as a 'bootstrap' step to compile `qb64.bas` directly and produce a
proper version of qb64.
2022-04-28 17:15:37 -04:00
Matthew Kilgore 9315646e76 setup_win.bat: create internal/c/c_compiler
internal/c/c_compiler no longer contains anything, so git will not
create it. This change makes setup_win.bat create the directory if it's
not already there.
2022-04-28 17:15:35 -04:00
Matthew Kilgore 3ff987edb8 Fix setup_win.bat 2022-04-28 17:06:15 -04:00
Matthew Kilgore 6568de7895 Remove unnecessary source files 2022-04-28 17:05:43 -04:00