Digikam/CMake Documentation(Frameworks)

From KDE Community Wiki
Revision as of 09:17, 10 June 2015 by *>Veaceslav (Created page with "==Introduction== CMake configuration files were rewritten by Veaceslav Munteanu <veaceslav dot munteanu90 at gmail dot com> at 10 June 2014. The aim of new configuration was t...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

CMake configuration files were rewritten by Veaceslav Munteanu <veaceslav dot munteanu90 at gmail dot com> at 10 June 2014. The aim of new configuration was to reduce the linking overhead and improve CPU utilization while still keeping the modular design implemented by Teemu Rytilahti

CMake Structure

Independent Cmake configuration is presents in following folders:

  • digikam-software-compilation
  • core
  • extra
  • docs

The rewrite touched mostly the core folder.

CMake executables for core

Core cmake will link the following executable:

  • digikam
  • showfoto
  • digikam database server - if compilation is enabled in cmake files
  • various test executables - if testing is enabled

each of them depend on various sources which must be compiled before.

Shared Libs

To avoid linking overhead and make a better use of sources there are some dynamic libs.

  • digikamcore - core components used by almost all executables
  • digikamdatabase - database components, also used together with digikamcore
  • imageplugins - image plugin implementation
  • kio modules - soon to be deprecated

Warning

Please add sources to digikam core or digikam database only if they don't depend on any big component from digikam main executable. These two shared libs must be kept small because they link in a lot of places