View Issue Details

IDProjectCategoryView StatusLast Update
0013398ScribusBuild Systempublic2016-03-21 17:30
ReporterKunda Assigned ToKunda  
PrioritynormalSeveritytweakReproducibilityhave not tried
Status assignedResolutionopen 
Product Version1.5.1svn 
Summary0013398: Scribus Makefile output proposal
Description([Makefile Output](https://travis-ci.org/scribusproject/scribus/jobs/83838734#L2572-L2696))

-----

When building from source (or through a package mananger in verbose mode) CMake reports non-uniformly how it finds and doesn't find libraries and such it is looking for that Scribus depends on to be built.
Here are my suggestions to make more uniform and help troubleshooters independently troubleshoot:

* Lets make our results uniform: there are different ways we already tell Cmake to report how it finds something for example:
Poppler Library Found OK
or
Found Poppler Library
or
Poppler Library - found

* Force cmake tests to support colorful output on all platforms ([example showing no colors](https://travis-ci.org/scribusproject/scribus/jobs/83838734#L2572-L2696)). Color does work for the build part but not the initial searching for libries part.

* All dependency tests need to list where the dependencies were found to help folks trouble shoot better. An example of a somewhat ideal test is poppler ([reference](https://github.com/scribusproject/scribus/blob/master/CMakeLists.txt#L821-L823)) see below:

SET( HAVE_POPPLER 1 )
MESSAGE(STATUS "Found poppler")
MESSAGE(STATUS "Found poppler libs: ${POPPLER_LIBRARY}")
MESSAGE(STATUS "Found poppler includes: ${POPPLER_INCLUDE_DIR}")

outputs:

-- checking for one of the modules 'libpoppler>=0.19.0;poppler>=0.19.0'
-- Found poppler
-- Found poppler libs: /usr/local/Cellar/poppler/0.36.0/lib/libpoppler.dylib
-- Found poppler includes: /usr/local/Cellar/poppler/0.36.0/include/poppler

* examples that need this are boost, podofo, opengl, zlib, etc...

* The above tests results should be indented
  
-- checking for one of the modules 'libpoppler>=0.19.0;poppler>=0.19.0'
-- Found poppler
--   Found poppler libs: /usr/local/Cellar/poppler/0.36.0/lib/libpoppler.dylib
--   Found poppler includes: /usr/local/Cellar/poppler/0.36.0/include/poppler


* OSG test should be de-prioritized and tested last. OSG is tested very early in the game. Why? Lets move this to where the librevenge stuff is tested.
TagsNo tags attached.
PatchNo

Relationships

related to 0012499 closedcbradney [Proposal] Display versions of all libs used by Scribus 
parent of 0013835 new Scribus dependencies minumum version list 
Not all the children of this issue are yet resolved or closed.

Activities

Kunda

2016-01-28 23:33

updater   ~0038485

For me it makes sense for the lib output to be :


Checking for [library] version >= [library]version
  Found [library]
    libs: /path/to/[library]libs/
    incl: /path/to/[library]includes/

Kunda

2016-01-29 18:53

updater   ~0038489

Craig on IRC
<MrB> I think it is too verbose for most people, however it would be fine for me. However, you would likely need to turn off the output from the checkers that are installed on the system, not just modify our cmake 

Kunda

2016-03-18 13:40

updater   ~0039229

Last edited: 2016-03-18 13:49

Another way to do this is using CMake's prebuild module FeatureSummary
https://cmake.org/cmake/help/v3.5/module/FeatureSummary.html
https://mail.kde.org/pipermail/kde-buildsystem/2011-July/007884.html
Example:
option(WITH_FOO "Help for foo" ON)
add_feature_info(Foo WITH_FOO "The Foo feature provides very cool stuff.")


Edit:
FeatureSummary could help realize 0012499 since we can output FeatureSummary to a file in the Configure phase. Example for setting the info for a feature:
Example 1, append everything to a file:

feature_summary(WHAT ALL
                FILENAME ${CMAKE_BINARY_DIR}/all.log APPEND)


Kunda

2016-03-19 05:41

updater   ~0039256

Last edited: 2016-03-21 16:21

Craig,
we need:
As far as deciding MIN_VERSION's

  • ${Boost_MIN_VERSION}
  • ${POPPLER_MIN_VERSION}
  • ${FONTCONFIG_MIN_VERSION}
  • ${LIBPODOFO_MIN_VERSION}
  • ${HUNSPELL_MIN_VERSION}
  • ${OSG_MIN_VERSION}


As far as setting uniform variables in packages we've customized:

  • ${HUNSPELL_VERSION}, ${HUNSPELL_LIBRARY_DIRS}, ${HUNSPELL_INCLUDE_DIRS},
  • ${LIBPODOFO_LIBRARY_DIRS} and ${LIBPODOFO_INCLUDE_DIRS}
  • ${FONTCONFIG_VERSION}
  • ${OSG_LIBRARY_DIRS}, ${OSG_INCLUDE_DIRS}

Issue History

Date Modified Username Field Change
2015-10-07 16:41 Kunda New Issue
2015-10-07 17:11 Kunda Description Updated
2015-10-07 17:12 Kunda Description Updated
2016-01-28 23:33 Kunda Note Added: 0038485
2016-01-29 18:53 Kunda Note Added: 0038489
2016-03-18 13:40 Kunda Note Added: 0039229
2016-03-18 13:42 Kunda Note Edited: 0039229
2016-03-18 13:44 Kunda Note Edited: 0039229
2016-03-18 13:44 Kunda Relationship added related to 0012499
2016-03-18 13:49 Kunda Note Edited: 0039229
2016-03-19 05:41 Kunda Note Added: 0039256
2016-03-19 12:23 Kunda Assigned To => Kunda
2016-03-19 12:23 Kunda Status new => assigned
2016-03-19 12:30 Kunda Note Edited: 0039256
2016-03-19 12:30 Kunda Note Edited: 0039256
2016-03-21 14:57 Kunda Note Edited: 0039256
2016-03-21 16:21 Kunda Note Edited: 0039256
2016-03-21 17:30 Kunda Issue cloned: 0013835
2016-03-21 17:30 Kunda Relationship added parent of 0013835