Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[lua] Add [cpp] feature to additionally build lua-c++ #7101

Merged
merged 3 commits into from
Jul 2, 2019
Merged

[lua] Add [cpp] feature to additionally build lua-c++ #7101

merged 3 commits into from
Jul 2, 2019

Conversation

kevinlul
Copy link
Contributor

No description provided.

@kevinlul kevinlul changed the title [lua] Add [cpp] feature to build lua-c++ [lua] Add [cpp] feature to additionally build lua-c++ Jun 30, 2019
ports/lua/CONTROL Outdated Show resolved Hide resolved
ports/lua/CMakeLists.txt Outdated Show resolved Hide resolved
@vicroms
Copy link
Member

vicroms commented Jul 2, 2019

Thanks for the PR!

@vicroms vicroms merged commit 8ca8de6 into microsoft:master Jul 2, 2019
@kevinlul kevinlul deleted the lua-c++ branch July 2, 2019 21:32
kevinlul added a commit to kevinlul/ygopro that referenced this pull request Jul 4, 2019
Also since microsoft/vcpkg#7101 is merged, switch back to canonical vcpkg
edo9300 pushed a commit to edo9300/edopro that referenced this pull request Jul 21, 2019
)

* Add prebuild script for Ubuntu

Tested on 18.04 Bionic; explanation on wiki
fmt no longer needs to be cloned locally; install via apt-get. Moved in premake5.lua so Windows keeps working for now.
Added .gitignore for premake5 binary since this script drops it right in the working directory for convenience.

* Update gframe with correct Apple OpenGL headers

* Update premake files to account for library locations

Corresponding update for ocgcore

Current build fails on linking irrlicht: https://pastebin.com/KVL2DTwu

* Add -y flag to nlohmann-json

* Add basic Linux Travis CI build script

* Update Travis with Bionic repositories

* Hopefully update build scripts to work on Xenial

* Update Travis with debug/release build matrix, remove support for Clang (needs -fms-permissive at least)

* Update prebuild script with proper flags

* Fix gframe/game.cpp to compile on GCC 5.4 (use C++ float modf, not double modf)

* Forgot to take out  [ci skip]

* Polish prebuild scripts, move to build-support/

- only ignore build/
- all scripts must be run from repo root, see wiki for details
- install-ubuntu-apt.sh gets everything you can get from apt
- install-ubuntu-src.sh builds fmt and nlohmann-json from source and installs to /usr/local instead of doing some sketchy apt repo shuffling
- install-ubuntu-bin.sh downloads premake5 and irrKlang binaries into the working directory

* Add deploy script

- By default moves the release binaries, set BUILD_CONFIG=debug to choose debug
- Only strips the release binary of debug symbols
- Does not retrieve FONTS since we can't decide! To do later.

* Update Travis to use the new build scripts and use the apt addon

build-essential, cmake, curl are not needed since they are preinstalled

TODO: possibly test on other GCC and Clang versions

* Forgot to change the build script name in Travis

* Typo in install-ubuntu-src, forgot to cd to install nlohmann-json

* Fix typo in install-ubuntu-apt.sh

* System libraries needed for irrlicht

http://irrlicht.sourceforge.net/forum/viewtopic.php?t=36933

Also seen on Koishi's premake

* Shallow clone dependencies to speed up the process

* Update travis to test DebugDLL and ReleaseDLL configurations

* Add install-windows-bin and deploy-windows like Ubuntu

* Add script to download premake5 and irrKlang binaries into the working directory

* Install irrklang.dylib to /usr/local/lib for dylibbundler convenience

* Add macOS deploy script

* Update Travis to test macOS alongside Linux

https://docs.travis-ci.com/user/reference/osx/#homebrew

* Add macOS package-getter script

* Fix Travis build configuration

* Directly download the nlohmann-json header instead of running tests

* Reduce number of build configurations, test caching fmt, nlohmann-json

* Fix typo in deploying single-header nlohmann-json

* Install lua from source instead of homebrew

* Fix Travis caching and Lua installation on macOS

* Fix deploy script for macOS to correctly link OpenSSL

* Fix premake to run app on fresh 10.14 environments

* Properly target macOS 10.9

Link options are necessary
Change Lua build script to target 10.9
Added utility script to install older macOS Xcode SDKs
Homebrew packages fmt and irrlicht will need modification to not build for Mojave

* Add patch for static linking irrlicht

* Build irrlicht from source, ignore its code files

* Add vcpkg install script

* Configure premake5 to link vcpkg libs statically

Removed ygopro.rc from premake
Removed unneeded includes
Additional links are for curl and libgit2:
microsoft/vcpkg#2621
libgit2/pygit2#542

* Add Travis for Windows, modify vcpkg to use Kevin's fork until it gets merged

* Fix msbuild path

* Enable caching for vcpkg on Windows

* Remove lua from brew install script [ci skip]

* Hopefully fix msbuild command invocation

* Reduce cache size on Windows

* Fix linking behaviour for DebugDLL ocgcore [ci skip]

* Test MSBuild fix

* Add missing irrlicht dependencies from vcpkg

* Change Windows deploy script to work with both DLL and non-DLL configs

* Removed large unzips from log

* Add all irrlicht patches from Koishi

Patch originally at https://github.com/purerosefallen/ygopro/blob/master/premake/irrlicht/irrlicht.patch#L25 removed because it is configured in premake
Static linking DllMain patch also incorporated
For #21

* Correct MSBuild path?

Also since microsoft/vcpkg#7101 is merged, switch back to canonical vcpkg

* Adjust Travis to cache the entire vcpkg installed/

* Disable DirectX support on Travis for now

* Add irrlicht patches from Koishi plus additional patch for Mojave

* Build patched irrlicht from source instead on macOS

* Change Windows cache directory

Might consider downloading prebuilt vcpkg in the future

* Add gpatch to Travis on macOS

* Reorganize irrlicht-related prebuild

- Renamed to irrlicht-windows.patch to be consistent with build scripts
- Moved extra irrlicht defines to corresponding file
- Moved irrlicht defines to irrlicht/ to reduce clutter

* Fix irrlicht premake

* Abandon Travis Windows caching, load from Git repo

* Fix compilation on 10.12/10.13, drop macosx-version-min support

* Fix DLL build option on macOS

* Update Linux deploy to include dll config, build DLL configs on Travis

* Add experimental GitHub pages deploy

* Hardcode OpenSSL version

Command actually is not guaranteed to pick up the latest linked version if multiple versions are in Cellar. See "1.0.2o_2" that is installed by default on Travis Sierra/High Sierra.

* Add DLL deploy on Windows

* Add Travis deploy script for Windows

This basically follows https://github.com/travis-ci/dpl/blob/v1.10.11/lib/dpl/provider/pages.rb#L199 under our expected behaviour, without the problematic `rsync` command.

* Deploy Windows in after_success on Travis, deploy all macOS configurations

* Cache irrlicht and lua-c++ on macOS

* Update font to Open Sans

* Update deploy scripts and Travis for new build configuration

Additionally deploy banlists, json configs, and fonts
Only deploy textures if the folder wasn't already copied

* Fixed typo not deploying textures

* Add premake option for default image URLs

* Relocate Windows icon/resource files to gframe

* Add macOS icon

* Use script deployment over after_success for Windows

* Remove now-unused premakes

* Update font to Noto Sans JP

Fix #17

* TEMPORARILY switch ocgcore remote for Travis build

* Update ocgcore submodule pointer

* Remove irrlicht premake4, update ocgcore pointer

* Add El Capitan to build matrix

* Build freetype 2.6.5 from source on all platforms to get expected TTF behaviour

* Unlink from system freetype and link to local freetype on all platforms

* Add FreeType premake4 from YGOPro 233

* Download FreeType 2.6.5 source package on Windows

Removed freetype from vcpkg install
Added freetype directories to gitignore

* Build freetype from 2.6.5 source on Windows, use system on all other platforms

* Add missing freetype files for Windows, fix include directories on other platforms

* Remove unnecessary line to delete freetype from vcpkg [ci skip]

* Set ocgcore submodule back to the original
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants