What CMake version are you using? I'm using 2.8.12 (latest)
-Johan
On 18-11-2013 20:48, Markus Engel wrote:
Actually, I'm not sure why this happens. To me this looks like cmake is behaving differently on linux and on windows/mac. I noticed these missing dependencies in the linking commands, too.
Regards, Markus
-----Ursprüngliche Nachricht----- Von: Johan Engelen [mailto:jbc.engelen@...2592...] Gesendet: Montag, 18. November 2013 20:22 An: Markus Engel Cc: 'inkscape-devel' Betreff: Re: AW: [Inkscape-devel] Trunk r12812 building on Windows for anybody?
On 18-11-2013 20:13, Johan Engelen wrote:
On 16-11-2013 15:54, Markus Engel wrote:
To have the cake and eat it too, we should create shared libraries, not
static libraries. This will run the global init code but also allow us to modularize. However, building shared libraries with Autotools is very annoying. I'd rather we did this after migrating all platforms to CMake / Waf / something other than Autotools which has native support for shared libs.
Hi, I created a new branch at lp:~engelmarkus/inkscape/cmakebuild for this. Currently it should work in Linux. The dom part and all the lib*-folders are compiled into shared objects. I'm just not sure now where they should be installed to. prefix/lib/inkscape probably? I'll try compilation on Windows and Mac OS later this day. The only thing that's missing currently is the cmake installation "code" for these two platforms.
Hi Markus, Open up your branch if you want help!
See the attachment.
The dependency check completes successfully with my patch (previous mail), but linking does not. The commandline for linking does not list any of the dependencies. Output snippet:
FAILED: cmd.exe /c cd . && C:\mingw\bin\c++.exe -shared -o lib/libcola.dll -Wl,--out-implib,lib\libcola.dll.a -Wl,--major-image-version,0,--minor-image-version,0 src/libcola/CMakeFiles/cola.dir/cola.cpp.obj src/libcola/CMakeFiles/cola.dir/conjugate_gradient.cpp.obj src/libcola/CMakeFiles/cola.dir/connected_components.cpp.obj src/libcola/CMakeFiles/cola.dir/gradient_projection.cpp.obj src/libcola/CMakeFiles/cola.dir/shortest_paths.cpp.obj src/libcola/CMakeFiles/cola.dir/straightener.cpp.obj -LD:\inkscape\cmakebuild\inkscape -Lc:\devlibs\lib -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd . Creating library file: lib\libcola.dll.asrc/libcola/CMakeFiles/cola.dir/cola.cpp.obj:cola.cpp:(.tex t+0x1bd): undefined reference to `vpsc::Rectangle::xBorder'
Cheers, Johan