Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

[[ WindowsCI ]] Add travis configuration for windows #7344

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

livecodeali
Copy link
Member

This patch adds travis configuration for windows.

A number of tweaks have been made to the source code, but they are mostly optional and controlled by environment variables so they do not affect other builds. One minor change is that make.cmd is now expected to be run from the base folder rather than from within the build-win- folder. This is because some environments appear to have a problem executing cmd.exe /C ../make.cmd and are much happier with cmd.exe /C make.cmd

On Travis we use a chocolatey-installed winflexbison package to provide flex and bison dependencies - they are then named win_flex and win_bison, so control of whether these are used or not in the yacc step has been implemented via an environment variable USE_WINFLEXBISON.

For an as-yet unidentified reason, the generation of lcidlc support files fails in Travis' windows build environment, so we skip it. An environment variable SKIP_LCIDLC is used to handle this.

The current configure.bat script requires user input to run, so this PR tweaks the script to remove that requirement if the build is running on Travis.

A python script has been added which twiddles the appropriate bit of a windows executable to turn it into a console application - this is needed to be able to run tests using the standalone engine.

Finally a whole bunch of tests have been fixed, tweaked, skipped or removed in order to get everything passing.

Rebased version of #7076

This patch tweaks the various path calculations in test makefiles
(and the common makefile) to support testing windows executables
This patch adds a python script which twiddles the appropriate bit
in a windows executable to make it a console application. Console 
applications do not open a separate console window when invoked on 
the command line - the command prompt only returns when the executable 
process finishes. This is the necessary behavior for the standalone
engine when running tests.
This patch fixes, removes or skips a number of tests that fail or
are no longer correct on windows.
This patch allows the use of flex and bison which have been 
installed via the chocolatey package winflexbison as the method
of installing via cygwin does not work on Travis' windows 
containers. Use of win_flex and win_bison can be controlled with
an environment variable `USE_WINFLEXBISON`
This patch removes the need to run make.cmd from within the 
generated build folder.
This patch ensures that if we are running on Travis, the
configure script does not pause for warnings as this requires
user input and we want the build to continue even if there
are warnings.
This patch adds a windows target to the travis configuration file.
This build uses the chocolatey winflexbison package, skips
building lcidlc and only runs LiveCode script based tests, and
is restricted to extension and engine tests for now.
On Travis' windows container, the generation of lcidlc's support files
fails and causes a compilation error. This patch adds a mechanism for
skipping lcidlc builds.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant