Reinstalling latest (beta) SDK

I wanted to do some beta testing this evening, testing some new SDK functions, but I screwed up overwriting files from the 4.6.21 SDK.

I think I removed some of the old SDK files, and don’t know how to fix it.

Is there somewhere a post/article how to (re)install the SDK and how to put a new SDK version on top of it?

I removed the entire ‘build’ directories, and it seems there were source files from the SDK inside (I cannot believe that they were used, but it seem they were needed somehow).

I only get the error:

------ Rebuild All started: Project: global_rackspace_cpp2, Configuration: windows-native ------

Rebuild All failed.

Thanks!

The CMakeLists.txt contains a section like this:

# Import the SDK
include(FetchContent)
FetchContent_Declare(
  gp-sdk
  GIT_REPOSITORY https://github.com/gigperformer/gp-sdk.git
  GIT_TAG 6c5432518ef42ea0870fb44597e9d1d3780e2f98 # v44
)
FetchContent_MakeAvailable(gp-sdk)

This way the SDK should be fetched automagically when you use build.cmd

1 Like

Thank you … I use JUCE, and it seems that part you mentioned is for JUCE in the cmake/dependencies.cmake file, or at least, it should be there. I added it and now it works (except I have to now use the latest SDK).

As a member of the beta group, you need to always be using the latest SDK published – as newer GP betas are released, older SDKs are not guaranteed to work

1 Like

And where can I download the latest beta SDK?
The official post links to

https://development.gigperformer.com/downloads/gp/beta/GP_SDK_54.zip

However, this SDK has an interface directory with files that are not split by header/source so I cannot just copy them (I tried), and also they do not contain namespaces. So where can I find the latest (good) beta SDK ?

Oh I see – yeah, unfortunately I’m just posting my changes ---- a few people worked on creating a modified version that uses namespaces — I’m not yet using that version as it doesn’t fit into my build process and I haven’t had time to update that process yet

1 Like

Ok, than I will just download it when it’s updated (assume that will be announced?).
Thanks for the clarification.

Usually either @simon or @rank13 updates the GP SDK repository at some point after the newest SDK is out.

Figuring out what GIT_TAG to use is a different challenge, but the current one I am using for 4.6.21 is
GIT_TAG f6b1ad94a3af83afd269a327e93ddc6cf94cb1b1

1 Like

Thanks for that number, however I notice that the SDK which was in the message pointing to the announcement of the new beta version does not have name changes, and without those, my application does not work. I think almost no extension will work, but maybe I did something wrong. It seems @dhj needs to update it, or maybe I don’t understand it wrongly (probably the last). Guess I need some help here :slight_smile:

Like the GP_SDK.zip file has 3 directories, in the interfaces there is a C and CPP directory, with a mix of .h and .cpp files. Where should I copy those files to? In my build/native-windows/_deps folder, there are some GP SDK source files with the same names (sort of), at least with also a c and cpp directory, but those are separated by header and .cpp files. Should I copy these somewhere else? And how should I make them (with visual studio 2022) ?

In the readme.txt that comes with the SDK with the following info, I must say I’m using VS 2022 (I doubt that should be a problem), but the last command is not recognized. But I guess the problem is where I copy the files to.

For Windows - please use “Developer Command Prompts for VS 2019”

The above should set all required environment variables, but in some cases you may need to run this batch file
to create an environment for building the SDK stuff using CMAKE

%comspec% /k “C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat”

Sorry, I made the assumption you were using the GP SDK on GitHub at gigperformer/gp-sdk: SDK for Gig Performer extensions

I’m not particularly competent with Git, Visual Studio, or even C++ but I can usually copy other people’s stuff and figure out how to get it to work. I think I originally copied @rank13’s CMakeLists.txt from gp-rank13/gp-selector-beta (github.com) and the dependencies.cmake from the cmake directory there.

I don’t use Juce, so I made some simplifications (or maybe copied the CMakeLists.txt from somewhere else), but the thing with those is to update the GIT_TAG line as I mentioned above so it reflects the latest GP SDK version on GitHub.

Because the folder structure of the GP_SDK.zip that David posts with the beta releases is different than the one on GitHub you can’t go back and forth very easily. Maybe we can convince David to start using the GitHub structure of the SDK when he makes beta updates. I’m pretty far outside my depth on that, so I think that needs to be a discussion between @dhj and @simon.

1 Like

I have a draft on GitHub that contains all the latest sdk changes. I use the latest commit id as the GIT_TAG in cmake dependencies file.

39ab2d1aae8194b4c6a11e899360f1d925a25d5c

1 Like

Thanks for your info. I now see that the structure of the github version is equal to what I have in my build directory and the extension now builds and runs :-).

@rank13 Thanks for those changes … I got it working now (at least it compiles and runs the extension. Thanks a lot!