1.6 Makefile Proposal

From Scribus Wiki
Jump to navigation Jump to search

Current cmake output is not helpful for people trouble shooting builds on different platforms

Cmake output ---->

-- Shared Library Flags: 
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Scribus 1.5.2.svn will be built and installed into /usr/local
-- Machine: x86_64-linux-gnu, void pointer size: 8
-- Found target X86_64
-- Building for target x86_64-linux-gnu
-- Using standard ApplicationDataDir. You can change it with -DAPPLICATION_DATA_DIR
-- ----- USE QT 5-----
-- ----- USE QT Widgets-----
-- ----- USE Qt5Gui -----
-- ----- USE QT 5 XML -----
-- ----- USE Qt5Network -----
-- ----- USE Qt5OpenGL -----
-- ----- USE Qt5LinguistTools -----
-- ----- USE Qt5Quick -----
-- ----- USE Qt5PrintSupport -----
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so  
ZLIB Library Found OK
OSG found OK
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so  
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so  
JPEG Library Found OK
-- Found TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so  
TIFF Library Found OK
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.6", minimum required is "2") 
Python Library Found OK
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so (found version "2.5.2") 
-- FreeType2 Library Found OK
-- Looking for FT_Get_First_Char in /usr/lib/x86_64-linux-gnu/libfreetype.so
-- Looking for FT_Get_First_Char in /usr/lib/x86_64-linux-gnu/libfreetype.so - found
-- Looking for FT_Get_Next_Char in /usr/lib/x86_64-linux-gnu/libfreetype.so
-- Looking for FT_Get_Next_Char in /usr/lib/x86_64-linux-gnu/libfreetype.so - found
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") 
-- checking for one of the modules 'libcairo>=1.10.0;cairo>=1.10.0'
CAIRO Library Found OK
-- Found Cups: /usr/lib/x86_64-linux-gnu/libcups.so (found version "1.7.2") 
CUPS Library Found OK
-- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.9.1") 
LIBXML2 Library Found OK
LCMS 2 ReleaseLibrary: /usr/lib/x86_64-linux-gnu/liblcms2.so
LCMS 2 Debug Library: LCMS2_LIBRARY_DEBUG-NOTFOUND
LCMS 2 Library: /usr/lib/x86_64-linux-gnu/liblcms2.so
LittleCMS-2 Library Found OK
-- checking for one of the modules 'fontconfig'
FontConfig Found OK
-- Found HUNSPELL: /usr/lib/x86_64-linux-gnu/libhunspell-1.3.so  
Hunspell Found OK
PoDoFo found OK
-- Boost version: 1.54.0
Boost Library Found OK
-- checking for module 'GraphicsMagick'
--   found GraphicsMagick, version 1.3.18
GraphicksMagick Found OK
-- checking for one of the modules 'libpoppler>=0.19.0;poppler>=0.19.0'
-- Found poppler
-- Found poppler libs: /usr/lib/x86_64-linux-gnu/libpoppler.so
-- Found poppler includes: /usr/include/poppler
-- checking for module 'librevenge-0.0'
--   package 'librevenge-0.0' not found
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for include file endian.h
-- Looking for include file endian.h - found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- GMAGICK: Libs: -lGraphicsMagick, Inc: /usr/include/GraphicsMagick, Ldflags: -lGraphicsMagick
RPATH: lib/scribus/plugins/;
-- Qt5::CoreQt5::WidgetsQt5::GuiQt5::XmlQt5::NetworkQt5::OpenGL/usr/lib/x86_64-linux-gnu/libxml2.so/usr/lib/x86_64-linux-gnu/libz.so
-- checking for module 'libwpg-0.2'
--   found libwpg-0.2, version 0.2.2
-- checking for module 'libwpd-0.9'
--   found libwpd-0.9, version 0.9.9
-- checking for module 'libwpd-stream-0.9'
--   found libwpd-stream-0.9, version 0.9.9
-- checking for module 'libcdr-0.0<=0.1'
--   found libcdr-0.0, version 0.0.15
-- checking for module 'libmspub-0.0<=0.1'
--   found libmspub-0.0, version 0.0.6
Building MS Publisher Importer without librevenge
-- checking for module 'libvisio-0.0<=0.1'
--   found libvisio-0.0, version 0.0.31
-- Building with Scripter 1
-- No source header files will be installed
-- /home/travis/build/scribusproject/scribus/resources/translations
-- The following GUI languages will be installed: en_US
-- Configuring done
-- Generating done
-- Build files have been written to: /home/travis/build/scribusproject/scribus


So a proposal is open to make the CMake script more comprehensive <mantis> bugid = 13398 comment#13398 = makefile </mantis>

We can also utilize this new methodology to list installed dependencies within the Scribus GUI which can be achieved by

# FeatureSummary: Append everything we've found
feature_summary(WHAT ALL
                FILENAME ${CMAKE_BINARY_DIR}/dependencies.log APPEND)

<mantis> bugid = 12499 comment#12499 = list deps </mantis>