Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
C++ C Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
The C++ Middleware Writer (CMW) is an on-line code generator. The CMW and the software found in this repository provide support for messaging and serialization. License The software is under the BSD 2-clause license. One of the files, quicklz.h, is from another developer and should only be used in conjunction with the CMW. Building There are two makefiles here: one for Gcc/Clang and one for Visual Studio. The Gcc version is called "makefile" and the Visual Studio version is "makefile.vs". If you're using a Microsoft compiler, you may want to rename makefile.vs to makefile. If you're using a big-endian machine, add -DCMW_ENDIAN_BIG to the CXXFLAGS in the makefile. Four programs are built. Two of the programs are example programs. The other two programs are the middle and front tiers of the C++ Middleware Writer. The middle tier is called the cmwA, which is short for CMW Ambassador. The front tier is called "genz" and is a command line interface. On Windows, the middle tier isn't built. The middle tier is still needed for Windows users so it needs to be running on a BSD/Linux box or VM. A 2017 or newer C++ compiler is required to build the middle and front tiers of the CMW. That doesn't mean your project has to use 2017 C++. A 2011 or newer C++ compiler is able to process output from the CMW. Accounts An account is needed to use the CMW. Before running the middle tier, you have to get an account and modify your cmwA.cfg file to include your account number(s) and password(s). To get an account send an email to support@webEbenezer.net and include a password between 10 and 50 characters long for your account. We'll reply by giving you an account number. Running the cmwA (after installing): cmwA cmwA.cfg After starting the cmwA, run genz like this: genz 14 /home/brian/onwards/example/example.mdl or on Windows: genz.exe 14 /Users/brian/onwards/example/example.mdl 14 is an account number. Substitute your account number there. The path for a Middle file (.mdl) is next. Zero or more header files are listed in a Middle file to specify a request. There's more info on Middle files here -- https://github.com/Ebenezer-group/onwards/blob/master/doc/Middle_files . Once you have built the software, I suggest copying example.mdl to one of your directories and modifying the copy according to your needs. Troubleshooting The middle tier has to be running for the front tier to work. If genz fails with "No reply received. Is the cmwA running?" make sure the middle tier is running. Another possible problem could be due to "breaking changes" between the back and middle tiers. We may have changed the protocol between these tiers and now your version of the middle tier no longer works. The thing to do in this case is to check our website for an announcement/email that you may have missed. Probably you will have to clone/download the new version of the repo and then rebuild and reinstall in order to fix the problem. If you have only moved/renamed header files listed in your .mdl files, you will need to touch those files (update timestamps) so the changes will be "noticed" by the cmwA. Thank you for using the software.