* Allow ctest to run from build dir
* Remove extra libs linked to ctest
* Prevent test from running twice
Manually adding tests isn't useful as we have catch_discover_tests which
does the same thing on a granular basis for catch2
* Remove remainder of VLD
Some components were left behind when I removed the cmake option for
vld.
* Remove USE_PRECOMPILED_DEPS option
Hasn't been maintained in 8 years. The use case has been replaced by
vcpkg.
Trying to build CorsixTH on Debian 12, Catch2 was one dependency I
couldn't satisfy. This option allows CMake to fetch the files it needs
for unit tests.
* Add support for AddressSanitizer, drop VLD
VLD is no longer maintained so it's removed.
Added a convenience option for enabling AddressSanitizer:
https://github.com/google/sanitizers/wiki/AddressSanitizer
The options provided here work in gcc and llvm. Address sanitizer
is available in MSVC but uses a slightly different flag. Undefined Behavior sanitizer in not available for MSVC at this time.
I have not enabled it in the windows dev preset because I cannot test
it.
Removes dependence on undermaintained luasocket and luasec libraries.
As an additional benefit, update checks can now be disabled at build
time for distros that would prefer not to show it.
Adds support for independently versioning different vcpkg
dependendencies, better binary cache support, and external registries
for specific ports which are now used instead of forking for ffmpeg and
sdl2_mixer.
If you previously built using USE_VCPKG_DEPS you need to migrate
to the new build method.
1. Delete your CorsixTH/vcpkg directory.
2. Delete your build directory
3. Download and install vcpkg following the instructions at:
https://learn.microsoft.com/en-us/vcpkg/get_started/get-started
4. Run `cmake --prefix dev`
5. Open the visual studio project for your new build directory at
`./build/dev`
Minor convenience for Visual Studio users.
If CorsixTH is built, set it as the startup project for the top level
sln
Set CorsixTH as the startup project for the CorsixTH.sln
Set AnimView as the startup project for the AnimView.sln
Currently Corsix-TH only uses hardcoded CORSIX_TH_INTERPRETER_PATH if no
--interpreter option passed. Search more locations (including the working
directory and the program directory where corsix-th exists) for
CORSIX_TH_INTERPRETER_NAME (i.e. CorsixTH.lua).
Partially address #1569 so the working directory does not have to be the
program directory.
* Fix Dockerfile would not complete due to interactivity being enabled.
* Added docker-compose.yml to build with `docker-compose up`.
* Removed Lua 5.2 from Dockerfile.
* Add BUILD_CORSIXTH cmake flag for disabling building the main program, e.g. if you only want AnimView
SDL_mixer now requires dynamic_load unless building statically, and no
longer brings over the dynamic libraries it depends on automatically.
Visual Studio 2019 defaults to x64 instead of x86.
Vcpkg is available on more versions of Visual Studio, as well as Linux
and MacOS these days, though our CMake is still not compatible with
using it on non-windows platforms yet.
Adds catch 2 to CMakeLists in a basic form which duplicates all files
across, with an example test to validate it runs correctly
Moves the implementation of CorsixTH into a main executable and a
seperate static lib we can link against for unit testing. This means we
don't have to mess around with deps for unit testing.
Appveyor and travis changes
* Bump to xenial
* Add ant
Not included by default in xenial
* Remove explicit gcc version
Xenial defaults to a new enough gcc.
* Bump minimum cmake version
Since Travis is bumped to Xenial we are no longer testing any CMake version
older than 3.5.
This commit adds a new script which can be executed on
a Windows machine to build and package the libraries
for CorsixTH. A new folder called vcpkg will be created
in the same folder as the script. The script is
integrated into CMake and run by default when
targetting MSVC.
This commit adds a new module which clones and automatically sets
the include and library paths for the precompiled dependencies.
Linux users can opt in however they must choose the final arch
(i.e. x86 or x64) they intend to compile against.
Generate reference doc for CorsixTH, AnimView, LevelEdit, MapEdit with doxygen.
Allow LDocGen to generate documentation in any working directory.
Upload documentation to web with TravisCI.
Corrections to the original pull request contributed by:
Alberth <alberth289346@gmail.com>
A library that detects memory leaks at run time for Visual Studio.
The library can be enabled in cmake with WITH_VLD.
Get Visual Leak Detector at https://vld.codeplex.com
Updated OS X deployment target to 10.7 and set architecture to x86_64.
Also, removed existing unused code used to copy libraries for OS X from
CorsixTH and MapEdit cmake files and replaced with new code that
automatically bundles app up and includes them in the app. Added
the code to create a bundle to the AnimView cmake file. Finally, updated
the MapEdit cmake file to use the Lua find package code from the CorsixTH
cmake file, which includes a fix for OS X 64bit.