From 10474e022cd21d863857d74e25d65b86d283b7be Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:14:53 +0100 Subject: [PATCH] [Physx] fix single config builds (#42734) --- ports/physx/portfile.cmake | 19 ++++++++++++++----- ports/physx/vcpkg.json | 1 + versions/baseline.json | 2 +- versions/p-/physx.json | 7 ++++++- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/ports/physx/portfile.cmake b/ports/physx/portfile.cmake index 3d98b0375f..2139fae118 100644 --- a/ports/physx/portfile.cmake +++ b/ports/physx/portfile.cmake @@ -173,6 +173,7 @@ endif() set(cmakeParams ${platformCMakeParams} ${common_params} ${cmakeParams}) + # Finally invoke cmake to configure the PhysX project vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/physx/compiler/public" @@ -218,16 +219,22 @@ function(copy_in_vcpkg_destination_folder_physx_artifacts) cmake_parse_arguments(_fpa "" "DIRECTORY" "SUFFIXES" ${ARGN}) _copy_up("bin/*/release" "${_fpa_DIRECTORY}") # could be physx/bin/linux.clang/release or physx/bin/win.x86_64.vc142.mt/release - _copy_up("bin/*/debug" "debug/${_fpa_DIRECTORY}") + if(NOT VCPKG_BUILD_TYPE) + _copy_up("bin/*/debug" "debug/${_fpa_DIRECTORY}") + endif() endfunction() # Create output directories file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib") -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") +endif() if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") # Packman also downloads the Gpu driver shared library, so we'll place it in bin and debug/bin file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() endif() copy_in_vcpkg_destination_folder_physx_artifacts( @@ -288,8 +295,10 @@ file(REMOVE_RECURSE # Install the cmake config that users will use, replace -if any- only @variables@ configure_file("${CMAKE_CURRENT_LIST_DIR}/omniverse-physx-sdk-config.cmake" "${CURRENT_PACKAGES_DIR}/share/omniverse-physx-sdk/unofficial-omniverse-physx-sdk-config.cmake" @ONLY) -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/share") -file(COPY "${CURRENT_PACKAGES_DIR}/share/omniverse-physx-sdk" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/share/") +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/share") + file(COPY "${CURRENT_PACKAGES_DIR}/share/omniverse-physx-sdk" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/share/") +endif() vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-omniverse-physx-sdk CONFIG_PATH share/omniverse-physx-sdk) diff --git a/ports/physx/vcpkg.json b/ports/physx/vcpkg.json index 5d098b1773..71d4591046 100644 --- a/ports/physx/vcpkg.json +++ b/ports/physx/vcpkg.json @@ -1,6 +1,7 @@ { "name": "physx", "version": "5.3.0", + "port-version": 1, "description": "The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs. This is the latest NVIDIA official version of the PhysX engine which also directly integrates into Omniverse. This port is NOT officially supported by NVIDIA.", "homepage": "https://github.com/NVIDIA-Omniverse/PhysX", "license": "BSD-3-Clause", diff --git a/versions/baseline.json b/versions/baseline.json index e1620270c8..bff961d991 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7002,7 +7002,7 @@ }, "physx": { "baseline": "5.3.0", - "port-version": 0 + "port-version": 1 }, "picojson": { "baseline": "1.3.0", diff --git a/versions/p-/physx.json b/versions/p-/physx.json index ef29a8f694..f3595d8b4b 100644 --- a/versions/p-/physx.json +++ b/versions/p-/physx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "12d1fb56ea7b2f016019fdf621b1246456f0411a", + "version": "5.3.0", + "port-version": 1 + }, { "git-tree": "890453e6b337c77f35dbb33620ac0ab32113f22f", "version": "5.3.0", @@ -86,4 +91,4 @@ "port-version": 0 } ] -} \ No newline at end of file +}