Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

diligent-core: add package_type, clean up a bit #24476

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Jul 1, 2024

Summary

Changes to recipe: diligent-core/*

Motivation

Includes some changes from #21522 that did not get merged in favor of the superseding PR.

Details

  • Adds package_type.
  • Uses CMAKE_PROJECT_DiligentCore_INCLUDE=conan_deps.cmake instead of patching.
  • Bumps xxhash and xkcbcommon to better align with the versions used in other recipes on CCI.
  • Adds self.cpp_info.resdirs = ["res"]
  • Unvendor GLEW.
  • Don't remove the installed licenses for vendored libraries.
  • Install BuildUtils.cmake, so diligent-tools and diligent-fx don't need to include it with their recipes (https://github.com/conan-io/conan-center-index/blob/master/recipes/diligent-tools/all/BuildUtils.cmake).
  • The rest of the changes are purely cosmetic.

@conan-center-bot

This comment has been minimized.

AbrilRBS
AbrilRBS previously approved these changes Jul 1, 2024
Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for taking the time to clean this recipe up @valgur, really appreciated :)

Ignore the unexpected CI issue, we're working on it, will retrigger the ci once it's ready

DXC-License.txt
DXC-ThirdPartyNotices.txt
GLEW-License.txt
stb_image_write_license.txt
@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 2 (71deadcef41fdb2f4ce054a3dfc91a6a462befca):

  • diligent-core/api.252004:
    Didn't run or was cancelled before finishing

  • diligent-core/api.252005:
    Didn't run or was cancelled before finishing

  • diligent-core/api.252009:
    Didn't run or was cancelled before finishing

  • diligent-core/api.252003:
    Didn't run or was cancelled before finishing

  • diligent-core/api.250014:
    Didn't run or was cancelled before finishing

  • diligent-core/2.5.2:
    Didn't run or was cancelled before finishing

  • diligent-core/2.5.1:
    CI failed to create some packages (All logs)

    Logs for packageID a226d276cf4093725bf620c064813dd3010a1c5d:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=7
    os=Linux
    [options]
    diligent-core:shared=False
    
    [...]
    CMake Error at ThirdParty/CMakeLists.txt:60 (add_subdirectory):
      The source directory
    
        /home/conan/workspace/prod-v1/bsr/63448/faccf/.conan/data/diligent-core/2.5.1/_/_/build/a226d276cf4093725bf620c064813dd3010a1c5d/src/ThirdParty/glslang
    
      does not contain a CMakeLists.txt file.
    
    
    CMake Error at ThirdParty/CMakeLists.txt:83 (add_subdirectory):
      The source directory
    
        /home/conan/workspace/prod-v1/bsr/63448/faccf/.conan/data/diligent-core/2.5.1/_/_/build/a226d276cf4093725bf620c064813dd3010a1c5d/src/ThirdParty/SPIRV-Cross
    
      does not contain a CMakeLists.txt file.
    
    
    CMake Error at ThirdParty/CMakeLists.txt:93 (install):
      install TARGETS given target "SPIRV-Tools-static" which does not exist.
    
    
    CMake Error at ThirdParty/CMakeLists.txt:109 (set_target_properties):
      set_target_properties Can not find target to add properties to:
      GenericCodeGen
    
    
    CMake Deprecation Warning at BuildTools/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 3.5 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    CMake Deprecation Warning at Graphics/GraphicsEngineOpenGL/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 3.5 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    WARN: *** Conan 1 is legacy and on a deprecation path ***
    WARN: *** Please upgrade to Conan 2 ***
    diligent-core/2.5.1: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    diligent-core/2.5.1: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    diligent-core/2.5.1: ERROR: Package 'a226d276cf4093725bf620c064813dd3010a1c5d' build failed
    diligent-core/2.5.1: WARN: Build folder /home/conan/workspace/prod-v1/bsr/63448/faccf/.conan/data/diligent-core/2.5.1/_/_/build/a226d276cf4093725bf620c064813dd3010a1c5d/build/Release
    ERROR: diligent-core/2.5.1: Error in build() method, line 153
    	cmake.configure(variables={"BUILD_SHARED_LIBS": "OFF"})
    	ConanException: Error 1 while executing cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="/home/conan/workspace/prod-v1/bsr/63448/faccf/.conan/data/diligent-core/2.5.1/_/_/build/a226d276cf4093725bf620c064813dd3010a1c5d/build/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/home/conan/workspace/prod-v1/bsr/63448/faccf/.conan/data/diligent-core/2.5.1/_/_/package/a226d276cf4093725bf620c064813dd3010a1c5d" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" -DBUILD_SHARED_LIBS="OFF" "/home/conan/workspace/prod-v1/bsr/63448/faccf/.conan/data/diligent-core/2.5.1/_/_/build/a226d276cf4093725bf620c064813dd3010a1c5d/src"
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Failure in build 2 (71deadcef41fdb2f4ce054a3dfc91a6a462befca):

  • diligent-core/api.252009:
    Didn't run or was cancelled before finishing

  • diligent-core/api.252005:
    Didn't run or was cancelled before finishing

  • diligent-core/api.252004:
    Didn't run or was cancelled before finishing

  • diligent-core/api.252003:
    Didn't run or was cancelled before finishing

  • diligent-core/api.250014:
    CI failed to create some packages (All logs)

    Logs for packageID 4181ee105b9574778899d6b3c9d9896cf5aa5d8d:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.cppstd=17
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [options]
    */*:shared=False
    
    [...]
      set_target_properties Can not find target to add properties to:
      GenericCodeGen
    
    
    CMake Error at ThirdParty/CMakeLists.txt:132 (add_subdirectory):
      add_subdirectory given source "xxHash/cmake_unofficial" which is not an
      existing directory.
    
    
    CMake Error at BuildUtils.cmake:205 (get_property):
      get_property DIRECTORY scope provided but requested directory was not
      found.  This could be because the directory argument was invalid or, it is
      valid but has not been processed yet.
    Call Stack (most recent call first):
      BuildUtils.cmake:214 (find_targets_in_directory)
      ThirdParty/CMakeLists.txt:133 (set_directory_root_folder)
    
    
    CMake Deprecation Warning at BuildTools/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 3.5 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    CMake Warning (dev) at BuildTools/File2Include/CMakeLists.txt:3 (find_package):
      Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
      are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
      the cmake_policy command to set the policy and suppress this warning.
    
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    -- Found PythonInterp: /opt/pyenv/versions/3.7.17/bin/python3 (found suitable version "3.7.17", minimum required is "3")
    CMake Deprecation Warning at Graphics/GraphicsEngineOpenGL/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 3.5 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    -- Configuring incomplete, errors occurred!
    
    diligent-core/api.250014: ERROR: 
    Package '4181ee105b9574778899d6b3c9d9896cf5aa5d8d' build failed
    diligent-core/api.250014: WARN: Build folder /home/conan/workspace/prod-v2/bsr/56701/cdafe/p/b/dilig49ff4927047f1/b/build/Release
    ERROR: diligent-core/api.250014: Error in build() method, line 153
    	cmake.configure(variables={"BUILD_SHARED_LIBS": "OFF"})
    	ConanException: Error 1 while executing
    
  • diligent-core/2.5.1:
    Didn't run or was cancelled before finishing

  • diligent-core/2.5.2:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

Comment on lines +77 to 81
if is_msvc(self.info):
if is_msvc_static_runtime(self.info):
self.info.settings.compiler.runtime = "MT/MTd"
else:
self.info.settings.compiler.runtime = "MD/MDd"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this might be problematic. Do you have any extra insight into why this was needed in the first place in #7804? Or how can this library work when discarding such runtime info? If we're not sure about this, we should remove this erasure - at worst we only need to compile a few more binaries

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants