wxWidgets / wxWidgets

Cross-Platform C++ GUI Library
https://www.wxwidgets.org/
5.77k stars 1.7k forks source link

nmake - give caller control of LIBOUTDIR #24492

Closed ncook-hxgn closed 3 weeks ago

ncook-hxgn commented 3 weeks ago

I'd quite like to control the output directory of the wxwidgets build as described by makefile.vc for nmake, so that it's easier for me to bundle into a nuget package.

From casual reading over the repo I gather CMake may be the future, but I couldn't find any documentation on the cmake build. Hopefully I can cmake install -- including the installation of license information (#24491).

... or maybe WxWidgets could be also-available as a nuget package? 🤞

vadz commented 3 weeks ago

nmake makefiles will probably be removed in some not too distant future because we don't have resources for maintaining them. Please use MSBuild project files instead, they are already quite customizable via the use of the wx_local.props file and could be made more flexible if needed.

ncook-hxgn commented 3 weeks ago

Aha I shall have a play around :)

PBfordev commented 3 weeks ago

IMO, CMake is best to build wxWidgets: It allows the best customization (achieved by editing setup.h and build command line arguments when using provided nmakefiles) as well as fine control over the build/installation.

wxWidgets CMake docs are here: https://docs.wxwidgets.org/latest/overview_cmake.html

As for exploring all CMake build options, I recommend using CMake-GUI (and checking "Grouped" and "Advanced" there).

ncook-hxgn commented 3 weeks ago

IMO, CMake is best to build wxWidgets: It allows the best customization (achieved by editing setup.h and build command line arguments when using provided nmakefiles) as well as fine control over the build/installation.

wxWidgets CMake docs are here: https://docs.wxwidgets.org/latest/overview_cmake.html

As for exploring all CMake build options, I recommend using CMake-GUI (and checking "Grouped" and "Advanced" there).

eyyyy.. that's loads better. Got wxwidgets installed somewhere nice and portable in like 5 commands, and didn't have to edit a thing <3