Hi!

I am the author of Synfig CMake scripts and i'm glad someone actually
uses them.

1) That's probably right, but i was basically adding directories as i
needed them and synfig-core only needs src/ to be built.

2) The build instruction is imperfect (i just noticed it misses some
build/ directory creation steps), but it does have build_images step
mentioned: `cmake --build . -- build_images`. It does take some time to
finish and doesn't build all icons, but at least most of them,
(basically, enough to be usable by me).

3) The algorithm there is pretty much "take all .sif and render them
to .png".

4) There's not much reason to make CMake scripts compatible with
pkg-config as the only user of that is Synfig's autotools scripts and
that, hopefully, will fall out of use as CMake build matures. Besides,
i'm not entirely sure they will be abi-compatible due to possible
different flag usage.

6) Yeah, should add that to CMake somewhere.

The source of these issues is that the things work for me and nobody
else seems to be interested in improving. I might fix them sooner or
later, but generally help is much appreciated here as i have my hands
full with actual development and am not all that fluent with CMake.

My reason for creating these build scripts in the first place was only
enabling me to write tests without learning autotools and speeding up
build (due to much faster configure phase and ninja being somewhat
faster than make).

On Thu, 29 Dec 2016 20:39:51 +0100
"Thilo Fischer" <t...@gmx.de> wrote:

> Hello,
>  
> I just had quite a hard time building synfigstudio on my (Gentoo)
> Linux system from the current git master (612c6a). Just wanted to
> give you some feedback wrt the autotools and new CMake build tooling.
> CMake =====
> 
> My first attempt was to build with CMake (as I know CMake a little
> better than autotools).
> 
> 1) I was expecting a to find a CMakeLists.txt in the "top level"
> directory of synfig-core, but found it only in the synfig-core/src
> directory. This was quite confusing, think it should have a
> synfig-core/CMakeLists.txt file as the ETL/CMakeLists.txt and the
> synfig-studio/CMakeLists.txt file. After I found the
> synfig-core/src/CMakeLists.txt file, build of synfig-core worked fine.
> 
> 2) Building synfigstudio using CMake worked fine, but `make install`
> failed due to noumerous missing .png files. There were .sif files for
> all missing .png files, but no .png files were created during the
> build process. As far as I understood this is a known todo issue of
> the CMake build (README.md CMake status says: "not all icons are
> built"). But to me it seems that missing icons make the CMake build
> approach inappropriate for from-the-scratch builds :( Or how would I
> generate all required .png files when using the CMake build system?
> 
> 3) synfigstudio `make install` required splash_sceen-*.png images for
> various versions of synfig (splash_screen-0.63.00.png,
> synfig-studio.cmake/images/splash_screen-1.0.1.png, ...) though I was
> building version 1.0.2. This seems to me a glitch in the CMake build
> configuration.
> 
> Autotools
> =========
> 
> Due to the missing .png files for synfigstudio's `make install` with
> the cmake approach I switched back to the autotools build system.
> 
> 4) Even though I built and installed ETL and synfig-core successfully
> using CMake, synfigstudio's autotools ./configure script would not
> find these libraries. I found that the script *would* find these
> libraries after building and installing them again using autotools. I
> have not investigated this issue too much, but I would guess that the
> CMake build tooling misses the step in the installation process (when
> running `make install`) that enables pkg-config to find these
> libraries being installed.
> 
> Building and installing ETL, synfig-core and synfig-studio in that
> order using autotools for all of these (as described here
> http://wiki.synfig.org/Dev:Build_Instructions#System_wide_build_Instructions)
> worked fine. But:
> 
> 5) When building synfig-studio, most of the .png files generated from
> the .sif files in synfig-studio/images where empty, i.e. contained
> 128x128 apparently transparent pixels. Only some files had valid
> content (e.g. tool_fill_icon.png, tool_scale_icon.png). Thus, when
> starting synfigstudio, most of the buttons had empty icons or where
> even invisible (which made synfigstudio nearly unusable). My quick
> and dirty workaround for this was to download a binary package of
> synfig and copy all .png files found in share/pixmaps/synfigstudio
> to /usr/local/share/pixmaps/synfigstudio. Works for me for most (but
> not all) .png images -- but I guess this should be fixed somewhere in
> the .sif files or in the build system?
> 
> 
> General
> =======
> 
> 6) I had to set CXXFALGS="-std=C++11" to be able to build synfig-core
> and synfig-studio. (I am using GCC 4.9.3.) Using CMake, I did this
> with `ccmake .` -> toggle to advanced -> edit CXXFLAGS; using
> autotools, I passed it to configure: `./configure
> CXXFALGS="-std=C++11"`.
> 
> 
> I am done now with building synfig on my machine (for this time), but
> I just wanted to give you some feedback about the things I noticed
> when building it and I wanted to share my experiences and the
> workarounds I found with the mailing list. Would be glad to provide
> more information on any of the issues I mentioned in case you need
> more info on any of these.
> 
> 
> Thanks for your dedication to synfig! Great open-source tool! :)
> 
> 
> Best regards
> 
> Thilo
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most 
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> Synfig-devl mailing list
> Synfig-devl@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/synfig-devl


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to