-
Notifications
You must be signed in to change notification settings - Fork 5
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
Clean rebuild from source - CMake? #2
Comments
User rebuild of this stuff is absolutely not the intention. It is a static collection of things which have been carefully built to work and are customized to the various versions of Visual Studio that are supported. Changes to this repo are few and far between (once or twice a year or when a new version of Visual Studio is released - I'm working on VS2019 which will be added soon). I'll be adding that explicit detail to the README.md I looked at updating the libpng version, but it was much more trouble than it was worth. There is currently only one use of libpng (the SCREENSHOT command for simulators that have graphics devices). If you want to design a different build paradigm for simh (including potentially a different paradigm for dependencies), feel free to do that and come back with something that works for all versions of visual studio, MinGW and the other supported host OS platforms and we'll check it out when you're ready. No problem asking questions along the way. From my point of view I think you are looking at a significant hill to climb with little potential gain. The careful build of this stuff aligns with the strategy that on non windows platforms, we explicitly do not support user built dependent libraries, but only count on OS supplied (or standard package distribution facilities) which presumes that those who put together the OS supplied packages have tested them and they work solidly on the particular host platform. This strategy was implemented as a consequence of early days experiences, where we had significant problems chasing down problems due to user built packages that weren't otherwise known to work. |
Update README.md to reflect discussion in #2
CMake is a meta-build system, very cross platform and multi-compiler. For example, it'll generate solutions for VS2015, VS2017 and VS2019, x64 and x86, as well as for MingGW mingw32-make. It'll give you some control over where libraries, DLLs and headers are installed, so that you won't have that ugly lib\Release hack and copy files. If you look in some of the source directories, you'll find There exists a pthreads42-cmake, which is pthreads4w with a The interesting challenge will be From what I can see, it looks like the only change I'd have to make to the Minor point for discussion: Keeping up with software versions. Let's say there's old PDP-11 software that used to run in a control room on a Boomer. Government cyber types walk in, point out that there are five CVEs in libpng, failing My point: There are use cases for |
@markpizz: I have a working proof-of-concept in
All build artifacts (libraries, DLLs, headers) reside in the Caveat: I assume that you have
I'm working on a Powershell script to automate the NOTE 1: Open the NOTE 2: This isn't intended to completely replace the existing |
I rebuilt
windows-build
from scratch and the whole build process is a bit of a mess. I was wondering how receptive all you all might be to accepting a future pull request that uses CMake to build the libraries and put them into a reasonable directory structure, with updated version of the libraries (libpng, for example, is significantly behind.)The text was updated successfully, but these errors were encountered: