Skip to content

Tags: stephanlachnit/PTL

Tags

v2.2.0

Toggle v2.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
New/improved support for initialization and finalization routines in …

…ThreadPool (jrmadsen#19)

* clang-tidy fixes

* Improvements to ThreadPool constructors

* Support for finalization functions in ThreadPool

* Bumped version

* PTL_INSTALL_HEADERS + PTL_INSTALL_CONFIG

v2.1.0

Toggle v2.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Springclean CMake scripts and developer/client build/use interfaces (j…

…rmadsen#13)

* Modernize minimize cmake/project settings

- Use version range for minimum CMake version

  Follow recommendation in:

  https://cliutils.gitlab.io/modern-cmake/chapters/basics.html

  to support current 3.8 minimum whilst always setting policy settings
  to those of the running version.

- Don't set policies which will automatically be NEW

- Let CMake fully handle versions without caching

  Caching allows user to set version values, but these are not
  user configurable values.

  Let CMake handle the setting of PTL_... and PROJECT_... version
  variables through the primary call to project() after version
  info has been read from VERSION file.

* Simplify PTL build/install with modern CMake tools

- Use modern CMake style of lowercase commands and empty else(),
  end...() commands
- Remove all unused custom functions and macros
  - Refactor remaining functionality into dedicated modules
- Remove obsolete/duplicate options and those that only apply to
  examples
- Only report relevant enabled features
  - Not possible to reliably report flags as these can change over
    the build tree
- Do not cache PTL_INSTALL_... variables, but allow override when
  PTL is a subproject, otherwise defaulting to the CMAKE_INSTALL_...
  equivalents
- Only expose ptl_add_option options when PTL is the primary project
  - parent projects can still set these manually
- Use compile features to export CXX Standard
  - Add cxx_std_<VERSION> to all targets built through ptl_build_library
    to ensure this usage requirement is propagated to clients.
  - Remove CMAKE_CXX_EXTENSIONS and CMAKE_CXX_STANDARD_REQUIRED from the
    cache as these should not be set by builders of the project.
  - Remove CMAKE_CXX_STANDARD setting in config files as the targets
    propagate this requirement.
- Do not default CMAKE_INSTALL_RPATH_USE_LINK_PATH setting
  This variable should be left up to the builder/installer as it
  hardcodes RPATH information that may not be wanted.
- Create header to propgate public preproc symbols
  PTL can be built with support for TBB and locks in user queues.
  These are enabled in code via #ifdef blocks on preprocessor symbols
  passed through -D flags. However, the choice is hardcoded at build
  time as it affects the API and ABI of the resultant PTL libraries.

  Promote TBB/Lock symbols to configured values in a new Config.hh file
  generated by CMake. Include this file in PTL code depending on the
  symbols. Install it along side other PTL headers.

  Remove setting of -D flags for TBB and locks from both public and
  private compile definitions.
- Update FindTBB module using version from VTK/Ogre, adding FPHSA support
- Link directly to Threads and TBB targets for simplicity and clarity
- Rationalize CMake/Build settings
  - Prefer use of CMAKE_.._FLAGS for passing sanitizer/coverage flags
    down the build tree. Whilst use of targets/usage requirements is
    preferred in modern CMake, it may not be the simplest solution for
    things like compiler flags that are pure BUILD_INTERFACE. Propagating
    flags through targets may result in these appearing in the install
    interface for the project. This may be confusing, or at worst, lead
    to unexpected behaviour.

    NB: Once CMake >= 3.13 is required, add_{compile,link}_options can
    be used instead.
- Unify build/install CMake config files
  - Handle primary target difference between build/install trees
    transparently via the PTLTargets.cmake file
  - Only use component arguments to find_package to decide on default
    for static/shared linking. Use of BUILD_{STATIC/SHARED}_LIBS may
    not result in the behaviour intended by the client project.
- Generate and install pkg-config file for PTL

* Make examples work with simplified CMake system

Comment out GPU example as it cannot currently build either with
updated CMake scripts or those on master

* Ensure build paths do not appear in installed CMake scripts

Set path to custom FindTBB module using a @PACKAGE_...@ variable
to that it will not export build tree information to the install
tree.

* Point CI Workflow to correct examples dir

* Fix typo + install libasan in CI scripts

* Removed libasan install + export sanitizer flags when address is used

* Use INTERFACE_LINK_OPTIONS instead of target_link_options

* export sanitizer link flags when not leak

* PTL_USE_ARCH removal from pyctest-runner

* Bumped version to 2.1.0

* Minor formatting updates

Co-authored-by: Jonathan R. Madsen <[email protected]>

v2.0.0

Toggle v2.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
warning fixes + wait() for tasks (jrmadsen#12)

- removed unused numActThreads
- wait() member function for tasks

v1.0.2

Toggle v1.0.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fixed Version.hh header output location in build-tree (jrmadsen#10)

v1.0.1

Toggle v1.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Make PTLConfig.cmake reproducible (jrmadsen#9)

* Make PTLConfig.cmake reproducible

- Build time and build folder are not reflected in installed PTLConfig.cmake
- Update VERSION to 1.0.1

v1.0.0

Toggle v1.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update version to 1.0.0 + installation fixes (jrmadsen#7)

* Installation fixes

- Updated version to 1.0.0
- Updated travis slightly
- Version.hh
- formatted pyctest-runner.py
- fix for timer operator<<
- travis test for installation

tomopy-v1.0

Toggle tomopy-v1.0's commit message
Added <memory> to ThreadData.hh

v0.0.1

Toggle v0.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request jrmadsen#2 from carterbox/master

Build for WIN64