Hello Patrice, hello all, > On 13 July 2018 at 10:48 Patrice Guérin <guer...@talasi.fr> wrote: > > Hello, > > My name is Patrice and I'm new with Podofo. > I was able to build Podofo 0.9.5 on Linux Debian 7 without problem but it's > a little bit more complicated on Windows with Visual Studio 2013. > I've build the dependent libraries (jpeg9c, png1634, tiff 4.0.9, freetype > 2.9, zlib 1.2.11) without any major problem. > The libraries includes and libs are all stored in a 'root' directory which > is accessed through an environment variable EXTERN_DEV ; the resulting > architecture is (I just show zlib > > > EXTERN_DEV (k:/extern_dev actually but can be changed) > > |- zlib > > |- 1.2.11 > > |- include > > |- lib > Podofo reside on a different disk and directory than dependent libraries. > When creating the cmake project targetting Visual Studio 2013, I've filled > the required paths to include and library in this way > > > ZLIB_INCLUDE_DIR=$(EXTERN_DEV)/zlib/1.2.11/include > > ZLIB_LIBRARY_DEBUG=$(EXTERN_DEV)/zlib/1.2.11/lib/zdll.lib > > ZLIB_LIBRARY_RELEASE=$(EXTERN_DEV)/zlib/1.2.11/lib/zdll.lib > > ...
I'm no expert in cmake, but IIRC environment variables are accessed as $ENV{NAME_OF_VARIABLE}, so in your case $ENV{EXTERN_DEV}. > The configuration process find all the dependencies expressed with > $(EXTERN_DEV) but the generation process prepends each include directories > with the Podofo source code path, so include files are not found : > It may also help to declare the cmake variables with their type FILEPATH: e.g. for the first one: ZLIB_INCLUDE_DIR:FILEPATH=$ENV{EXTERN_DEV} > > H:\Src\podofo-0.9.5\build\vs2013; > > H:\Src\podofo-0.9.5; > > H:\Src\podofo-0.9.5\$(EXTERN_DEV)\libjpeg\9c\include; > > H:\Src\podofo-0.9.5\$(EXTERN_DEV)\libtiff\4.0.9\include; > > H:\Src\podofo-0.9.5\$(EXTERN_DEV)\libpng\1.6.34\include; > > H:\Src\podofo-0.9.5\$(EXTERN_DEV)\zlib\1.2.11\include; > > H:\Src\podofo-0.9.5\src; > > H:\Src\podofo-0.9.5\$(EXTERN_DEV)\freetype\2.9\include\config; > > H:\Src\podofo-0.9.5\$(EXTERN_DEV)\freetype\2.9\include; > > H:\Src\podofo-0.9.5\vcincludes; > > %(AdditionalIncludeDirectories) > The library files used for linking are expressed correctly. It looks like as if the environment variable wasn't expanded in these paths. If my guesses above don't help, I recommend looking for a CMake function which explicitly resolves file paths to absolute path form (to call where ZLIB_INCLUDE_DIR etc. are defined). Then even CMake functionality which doesn't resolve environment variables should handle them correctly. > > Is there a way to correct this without modifying the VS solution by hand ? With my suggestions (I haven't tested them, I don't use Windows, sorry) it should only be necessary to have CMake automatically generate the VS solution again after a change of the environment variable. > > Thank you in advance > Kind regards, > Patrice. I hope my suggestions help you. Best regards, Matthew ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Podofo-users mailing list Podofo-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/podofo-users