You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am checking the best way to link PhysX against targets of my CMake project. The documentation reports the steps to add the include directories and the linked libraries.
However, considering that PhysX has a very good CMake structure, it would be great if the targets were directly exported by CMake.
The final goal is having properly exported targets that transitively carry properties. Exporting the targets, together with a proper package config file, would allow user code to do the following:
# Add the install prefix to the CMake search path.# It would be compatible also if users install outside the PhysX repo folder.list(APPENDCMAKE_PREFIX_PATH"/path/to/repo/PhysX/install/linux/PhysX"find_package(PhysX 4.1.1 REQUIRED COMPONENTS PhysX PhysXCommon PhysXCooking PhysXGpu ...)
add_library(MyLibrary SHARED src/mylibrary.cpp)
target_link_library(MyLibrary PhysX::PhysX PhysX::PhysXCommon PhysX::PhysXGpu ...)
Note that in this way users do not have to specify anything but the linked imported target. As a bonus user would also get a proper release matching.
Hi @diegoferigo, the PR #222 provides a PhysXConfig.cmake for the build and install tree,
so find_package(PhysX) can be used.
It also removed the requirement of python and the presets for the different platforms. The goal is to facilitate integration of PhysX in third party projects. Any comments on that PR is welcome, and hope it helps!
I am checking the best way to link PhysX against targets of my CMake project. The documentation reports the steps to add the include directories and the linked libraries.
However, considering that PhysX has a very good CMake structure, it would be great if the targets were directly exported by CMake.
I found that an export set already exists:
PhysX/physx/source/compiler/cmake/linux/CMakeLists.txt
Lines 114 to 118 in ae80ded
But it is never installed. This means that something similar is missing:
The final goal is having properly exported targets that transitively carry properties. Exporting the targets, together with a proper package config file, would allow user code to do the following:
Note that in this way users do not have to specify anything but the linked imported target. As a bonus user would also get a proper release matching.
Resources:
The text was updated successfully, but these errors were encountered: