mirror of
https://github.com/brl/mutter.git
synced 2024-12-25 20:32:16 +00:00
f735220a9b
Currently, due to the way that Visual Studio 2010+ projects are handled, the "install" project does not re-build upon changes to the sources, as it does not believe that its dependencies have changed, although the changed sources are automatically recompiled. This means that if a part or more of the solution does not build, or if the sources need some other fixes or enhancements, the up-to-date build is not copied automatically, which can be misleading. Improve on the situation by forcing the "install" project to trigger its rebuild, so that the updated binaries can be copied. This does trigger an MSBuild warning, but having that warning is way better than not having an up-to-date build, especially during testing and development. |
||
---|---|---|
.. | ||
cogl-build-defines.props | ||
cogl-crate.vcxproj | ||
cogl-crate.vcxproj.filters | ||
cogl-gen-srcs.props | ||
cogl-hello.vcxproj | ||
cogl-hello.vcxproj.filters | ||
cogl-info.vcxproj | ||
cogl-info.vcxproj.filters | ||
cogl-install.props | ||
cogl-msaa.vcxproj | ||
cogl-msaa.vcxproj.filters | ||
cogl-pango.vcxproj.filtersin | ||
cogl-pango.vcxprojin | ||
cogl-path.vcxproj.filtersin | ||
cogl-path.vcxprojin | ||
cogl-sdl2-hello.vcxproj | ||
cogl-sdl2-hello.vcxproj.filters | ||
cogl-version-paths.props | ||
cogl.sln | ||
cogl.vcxproj.filtersin | ||
cogl.vcxprojin | ||
install.vcxproj | ||
Makefile.am | ||
README.txt | ||
test-conformance-cogl.vcxproj.filtersin | ||
test-conformance-cogl.vcxprojin |
Note that all this is rather experimental. A more detailed description on using Visual C++ to compile COGL with its dependencies can be found on the following GNOME Live! page: https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack Please do not attempt to compile Cogl in a path that contains spaces to avoid potential problems during compilation, linking or usage. This VS10 solution and the projects it includes are intented to be used in a Cogl source tree unpacked from a tarball. In a git checkout you first need to use some Unix-like environment or manual work to expand the files needed, like config.h.win32.in into config.h.win32 and the .vcprojin files here into corresponding actual .vcproj files. You will need the parts from GNOME: GDK-Pixbuf, Pango* and GLib. External dependencies are at least zlib, libpng, gettext-runtime* and Cairo*, and glext.h from http://www.opengl.org/registry/api/glext.h (which need to be in the GL folder in your include directories or in <root>\vs10\<PlatformName>\include\GL). Please note that although the Cogl source package does allow one to build Cogl without a previously built and installed GLib, the Visual Studio projects only support builds that does depend on GLib. Please see the README file in the root directory of this Cogl source package for the versions of the dependencies required. See also build/win32/vs10/README.txt in the GLib source package for details where to unpack them. It is recommended that at least the dependencies from GNOME are also built with VS10 to avoid crashes caused by mixing different CRTs-please see also the build/win32/vs10/README.txt in those respective packages. If building the SDL2 winsys is desired (the *_SDL configs), you will also need the SDL2 libraries from www.libsdl.org-building the SDL source package with Visual C++ 2010 is recommended via CMake, but one may want to use the Visual C++ binary packages from that website. Since Cogl-1.18.x, the Visual Studio Projects have been updated to support the build of the SDL2 winsys in place of the original SDL-1.3 winsys as SDL-2.x has been released for some time. Please note, as builds with the SDL2 winsys includes the SDL2 headers, main() will be defined to SDL2's special main() implementation on Windows, which will require linking to SDL2.lib and SDL2main.lib for all apps that link to Cogl, unless SDL_MAIN_HANDLED is defined in your "preprocessor definitions" options. The recommended build sequence of the dependencies are as follows (the non-GNOME packages that are not downloaded as binaries from ftp://ftp.gnome.org have makefiles and/or VS project files that can be used to compile with VS directly, except the optional PCRE, which is built on VS using CMake; GLib has VS10 project files in the latest stable versions, GDK-Pixbuf have VS10 project files in the latest unstable version, and Pango should have VS10 project files in the next unstable release): -Unzip the binary packages for gettext-runtime, freetype, expat and fontconfig downloaded from ftp://ftp.gnome.org* -zlib -libpng -(optional for GLib) PCRE (8.12 or later, building PCRE using CMake is recommended-please see build/win32/vs10/README.txt in the GLib source package) -(for gdk-pixbuf, if GDI+ is not to be used) IJG JPEG or libjpeg-turbo -(for gdk-pixbuf, if GDI+ is not to be used) jasper [JPEG-2000 library] -(for gdk-pixbuf, if GDI+ is not to be used, requires zlib and IJG JPEG/libjpeg-turbo) libtiff -GLib -Cairo -Pango -GDK-Pixbuf The "install" project will copy build results and headers into their appropriate location under <root>\vs10\<PlatformName>. For instance, built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into <root>\vs10\<PlatformName>\lib and Cogl headers into <root>\vs10\<PlatformName>\include\Cogl-2.0. *There is no known official VS10 build support for fontconfig (required for Pango and Pango at the moment-I will see whether this requirement can be made optional for VS builds) (along with freetype and expat) and gettext-runtime, so please use the binaries from: ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit) ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit) Note: If you see C4819 warnings and you are compiling Cogl on a DBCS (Chinese/Korean/Japanese) version of Windows, you may need to switch to an English locale in Control Panel->Region and Languages->System-> Change System Locale, reboot and rebuild to ensure Cogl and its dependencies are built correctly. This is due to a bug in Visual C++ running on DBCS locales. --Chun-wei Fan <fanc999@yahoo.com.tw> (Adopted from the GTK+ Win32 VS README.txt file originally by Tor Lillqvist)