Git Product home page Git Product logo

Comments (7)

guillaumeblanc avatar guillaumeblanc commented on May 18, 2024

That's righ, there are 2 issues:

  1. CMake scripts selects the first sdk in alphabetical order, which is also the oldest one. One would rather expect to select the newest. I can't find a way with CMake fix that, any idea?
  2. Some fbx files were saved with a recent version of the fbx sdk (2016 I'd say), so they can't be read with an older one. Specifying a minimum version is interesting indeed.

from ozz-animation.

dabroz avatar dabroz commented on May 18, 2024

I have very little experience with CMake. But since FBX SDK versions start with a year, maybe CMake can somehow list all possible versions and them either select the latest one, or reject any lower than a minimum specified?

from ozz-animation.

guillaumeblanc avatar guillaumeblanc commented on May 18, 2024

I'd rather want to avoid listing all known versions, as it would break as soon as Autodesk releases a new one. Also I could speculate on the future ones, but can't be exhaustive (2017.2.1 ...).

Reading at you answer I actually thought that I could do a file(GLOB once I found the path of "a" fbx version, as there are many chances that any newer version is in the same folder. It's not 100% robust though, as long as find_path doesn't allow to find more than one result.

from ozz-animation.

dabroz avatar dabroz commented on May 18, 2024

The latest version from develop works partially: it rejects the 2015 version, but is unable to locate the latest one.

-- Could NOT find Fbx: Found unsuitable version "2015.1.0", but required is at least "2016" (found /Applications/Autodesk/FBX SDK/2015.1/lib/clang/release/libfbxsdk.a;/System/Library/Frameworks/Carbon.framework)
Fbx SDK not found, FBX tools libraries and samples will be skipped.

from ozz-animation.

guillaumeblanc avatar guillaumeblanc commented on May 18, 2024

That's right, the scripts selects the first version it finds.
That's the status at the moment, and can't find a robust solution to select the most recent. I'm discussing it with cmake (https://gitlab.kitware.com/cmake/cmake/issues/16412), but didn't sorted out yet.

Adding a version check was a intersting idea I think, thanks for that. Sdk version is also logged now which will help understanding issues.
Just to understand, what's the reason for having 2 sdks installed ?

from ozz-animation.

dabroz avatar dabroz commented on May 18, 2024

I am using some other proprietary software that requires a hardcoded FBX SDK 2015 version. And the FBX SDK installer is not removing previous versions, so you can expect people to have a lot of them laying around.

If the CMake can't support multiple paths, that's all we can do, but then I suggest to reword the error message. I would be absolutely puzzled by the current one with no prior knowledge on the issue - the CMake can find the FBX directory, decode the version but somehow unable to use the correct one at the same path, how so?

Maybe add something along the lines of:

CMake is always using the oldest version of FBX SDK found in {PATH}. 
If you have a newer one installed, point to a specific version by adding
FBX_SDK={PATH}/xxxx.y/ to the cmake invocation.

from ozz-animation.

guillaumeblanc avatar guillaumeblanc commented on May 18, 2024

Done with version 0.9.0. Will be re-evaluated with cmake API future evolutions.

from ozz-animation.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.