Skip to content
Snippets Groups Projects
  • Dietrich Rothe's avatar
    4d87627e
    Wip/11221 modernize cmake (#25) · 4d87627e
    Dietrich Rothe authored
    This provides ChimeraTK::<project-name> as cmake imported target.
    Variables <project_name>_INCLUDE_DIRS, <project_name>LIBRARY_DIRS, <project_name>_LIBRARIES, <project_name>_CXX_FLAGS, <project_name>_LINKER_FLAGS are provided for compatibility but are generated from cmake-exports where possible and cmake imported targets should be preferred.
    
    * provide function for option array conversion
    to be used with target_compile_options etc + FindPackage results, where
    findPackage results are of incorrect/old format
    
    * FindDOOCS:
     - DOOCS components as imported targets
     - clean up no longer needed tweaks
     - add timinglib as component
     - make use of log levels and respect QUIET argument
    
    * add_dependency: fail on wrong add_dependency usage
    this was unseen since it worked in most cases but in general does not
    in particular was causing trouble with imports from cppext
    second arg must be version number
    
    * pkgconfig exports
     - generated from cmake-exports
     - make linker flags come before libs, order is required e.g. for --no-as-needed flag
     - remove duplicates in output
    
    * FindGccAtomic
    - do not put absolute lib path in output since it was causing trouble with yocto builds. Should be in system lib
    paths anyway. Also, make GccAtomic variable output name more consistent.
    4d87627e
    History
    Wip/11221 modernize cmake (#25)
    Dietrich Rothe authored
    This provides ChimeraTK::<project-name> as cmake imported target.
    Variables <project_name>_INCLUDE_DIRS, <project_name>LIBRARY_DIRS, <project_name>_LIBRARIES, <project_name>_CXX_FLAGS, <project_name>_LINKER_FLAGS are provided for compatibility but are generated from cmake-exports where possible and cmake imported targets should be preferred.
    
    * provide function for option array conversion
    to be used with target_compile_options etc + FindPackage results, where
    findPackage results are of incorrect/old format
    
    * FindDOOCS:
     - DOOCS components as imported targets
     - clean up no longer needed tweaks
     - add timinglib as component
     - make use of log levels and respect QUIET argument
    
    * add_dependency: fail on wrong add_dependency usage
    this was unseen since it worked in most cases but in general does not
    in particular was causing trouble with imports from cppext
    second arg must be version number
    
    * pkgconfig exports
     - generated from cmake-exports
     - make linker flags come before libs, order is required e.g. for --no-as-needed flag
     - remove duplicates in output
    
    * FindGccAtomic
    - do not put absolute lib path in output since it was causing trouble with yocto builds. Should be in system lib
    paths anyway. Also, make GccAtomic variable output name more consistent.