Skip to content

Remove Tracy from link interface, change it to a submodule, install selected headers to new aligator/third-party include dir#186

Merged
ManifoldFR merged 16 commits intodevelfrom
topic/tracy-submodule-install-headers
Sep 6, 2024
Merged

Remove Tracy from link interface, change it to a submodule, install selected headers to new aligator/third-party include dir#186
ManifoldFR merged 16 commits intodevelfrom
topic/tracy-submodule-install-headers

Conversation

@ManifoldFR
Copy link
Copy Markdown
Member

@ManifoldFR ManifoldFR commented Sep 3, 2024

This PR:

  • changes tracy to be a submodule (pointing to our fork) instead of FetchContent
  • creates include/aligator/third-party header directory in both source and install trees
  • moves boost/core/span.hpp and related headers (in gar/include source tree) to this new dir for third-party stuff
  • removes install() for the TracyClient target, change link to TracyClient to PRIVATE
  • do not link the pyaligator bindings to proxsuite-nlp::pyproxsuite-nlp anymore
  • installs select headers from tracy (which get #included in some of our template implementation headers) to the install-tree aligator/third-party. I think tracy's 3-clause BSD license should allow it (is that right @nim65s ?)

The last change ensures client libraries no longer their own copy of Tracy (installed through CMake or as submodule/FetchContent) to use aligator as a CMake dependency.

The following is the output of running tree third-party in the <install-prefix>/include/aligator directory:

third-party
├── boost
│   └── core
│       ├── data.hpp
│       ├── make_span.hpp
│       └── span.hpp
├── client
│   ├── TracyArmCpuTable.hpp
│   ├── TracyCallstack.h
│   ├── TracyCallstack.hpp
│   ├── tracy_concurrentqueue.h
│   ├── TracyCpuid.hpp
│   ├── TracyDebug.hpp
│   ├── TracyDxt1.hpp
│   ├── TracyFastVector.hpp
│   ├── TracyKCore.hpp
│   ├── TracyLock.hpp
│   ├── TracyProfiler.hpp
│   ├── TracyRingBuffer.hpp
│   ├── tracy_rpmalloc.hpp
│   ├── TracyScoped.hpp
│   ├── tracy_SPSCQueue.h
│   ├── TracyStringHelpers.hpp
│   ├── TracySysPower.hpp
│   ├── TracySysTime.hpp
│   ├── TracySysTrace.hpp
│   └── TracyThread.hpp
├── common
│   ├── TracyAlign.hpp
│   ├── TracyAlloc.hpp
│   ├── TracyApi.h
│   ├── TracyColor.hpp
│   ├── TracyForceInline.hpp
│   ├── tracy_lz4hc.hpp
│   ├── tracy_lz4.hpp
│   ├── TracyMutex.hpp
│   ├── TracyProtocol.hpp
│   ├── TracyQueue.hpp
│   ├── TracySocket.hpp
│   ├── TracyStackFrames.hpp
│   ├── TracySystem.hpp
│   ├── TracyUwp.hpp
│   └── TracyYield.hpp
└── tracy
    └── Tracy.hpp

6 directories, 39 files

@ManifoldFR ManifoldFR requested a review from jorisv September 3, 2024 17:59
@ManifoldFR ManifoldFR changed the title Change tracy to a submodule, install selected headers to new aligator/third-party include dir Change tracy to a submodule, install selected headers to new aligator/third-party include dir, remove tracy from link interface Sep 3, 2024
@ManifoldFR ManifoldFR force-pushed the topic/tracy-submodule-install-headers branch from 0b2ef3a to b050d33 Compare September 3, 2024 18:05
@ManifoldFR ManifoldFR changed the title Change tracy to a submodule, install selected headers to new aligator/third-party include dir, remove tracy from link interface Remove Tracy from link interface, change tracy to a submodule, install selected headers to new aligator/third-party include dir Sep 3, 2024
@ManifoldFR ManifoldFR changed the title Remove Tracy from link interface, change tracy to a submodule, install selected headers to new aligator/third-party include dir Remove Tracy from link interface, change it to a submodule, install selected headers to new aligator/third-party include dir Sep 3, 2024
@ManifoldFR ManifoldFR force-pushed the topic/tracy-submodule-install-headers branch from a37e897 to 4e1d555 Compare September 5, 2024 09:48
[gar] change include for boost make_span.hpp (explicitly point to third-party dir)
+ move tracy logic to tracy.cmake
+ install select Tracy headers in include/aligator/third-party
+ add cmake var THIRD_PARTY_HEADERS_INSTALL_DIR, add to target interface dirs
+ [gar/cmake] remove useless include of project_source_dir/include/aligator
[bindings/python/cmake] remove proxsuite-nlp::pyproxsuite-nlp from link interface (it's going to be a MODULE)
Comment thread CMakeLists.txt
Comment thread CMakeLists.txt Outdated
Comment thread bindings/python/CMakeLists.txt
Comment thread gar/CMakeLists.txt Outdated
Comment thread CMakeLists.txt
@ManifoldFR ManifoldFR force-pushed the topic/tracy-submodule-install-headers branch from 4e1d555 to 99f7162 Compare September 5, 2024 09:50
@ManifoldFR ManifoldFR force-pushed the topic/tracy-submodule-install-headers branch from 03b30d7 to 85a5bef Compare September 5, 2024 10:11
@ManifoldFR ManifoldFR force-pushed the topic/tracy-submodule-install-headers branch from 63cb9bc to ac86cd3 Compare September 5, 2024 14:12
@ManifoldFR ManifoldFR force-pushed the topic/tracy-submodule-install-headers branch from ac86cd3 to d2a553d Compare September 5, 2024 15:28
@ManifoldFR
Copy link
Copy Markdown
Member Author

pre-commit.ci autofix

Comment thread gar/CMakeLists.txt Outdated
Comment thread CMakeLists.txt
… time

+ change all #include <tracy/Tracy.hpp> to "aligator/third-party/tracy/Tracy.hpp"
@ManifoldFR ManifoldFR force-pushed the topic/tracy-submodule-install-headers branch from 1b0c9b6 to 41e5f1b Compare September 6, 2024 08:28
+ add ${PROJECT_BINARY_DIR}/include to interface
@ManifoldFR ManifoldFR force-pushed the topic/tracy-submodule-install-headers branch from 41e5f1b to 813aaf6 Compare September 6, 2024 08:28
@ManifoldFR ManifoldFR enabled auto-merge September 6, 2024 08:57
@ManifoldFR ManifoldFR merged commit a30fc79 into devel Sep 6, 2024
@ManifoldFR ManifoldFR deleted the topic/tracy-submodule-install-headers branch September 6, 2024 09:34
ManifoldFR added a commit that referenced this pull request Sep 11, 2024
…odule-install-headers"

This reverts commit a30fc79, reversing
changes made to 99dac89.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants