SSBMTonberry / tileson

A modern and helpful cross-platform json-parser for C++, used for parsing Tiled maps.
BSD 2-Clause "Simplified" License
189 stars 29 forks source link

tests depend on amalgamated header, but amalgamate tool requires Linux or Windows; no source provided #80

Closed dmlary closed 1 year ago

dmlary commented 1 year ago

I'm trying to run the tests for some changes I've made for compiler errors (Apple clang version 13.0.0), but the tests depend on the amalgamated header file. I tried to update the header file, but the amalgamate utilities are Linux or Windows only, and there's no source provided.

I did find the original amalgamate repo, but it's a decade out of date and won't build on modern OSX.

I looked at a couple of alternate tools for generating the amalgamated file.

I'm not really sure what you'd want to do here. Quom will work as a drop-in replacement, but introduces a new dependency on python.

The commands to generate the header files using quom are:

pip3 install quom
quom --include_directory ./include ./include/tileson.h tileson.hpp
quom --include_directory ./include ./include/tileson_min.h tileson_min.hpp
SSBMTonberry commented 1 year ago

Thank you for your issue :) I am aware that the current Amalgamate does not work on OSX, and when I looked into it in the past I found out pretty quickly that making it support OSX was easier said than done. If quom takes the ordering just like they've been put in the header file, like Amalgamate does, I think that is a great alternative for OSX! Feel free to create an Amalgamate script using quom for OSX, then create a PR where you just put a list of the requirements. I don't think the python dependency to run a tool is a big deal. There are a lot of great tools written in python after all :smile:

dmlary commented 1 year ago

Will do. I should be able to get a PR together for this tonight