-
Notifications
You must be signed in to change notification settings - Fork 2
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
Compile Python static from source with CMake #1
Comments
Are you sure you want to build python yourself? Why not use already existing embedded distributions: You're gonna have to provide all this data to the users anyway so I don't see the need to compile python yourself. |
The problem is that the plugin will search for a
Many standard |
You're right with loading the dll. What's more, there will be an issue with loading the right python dll (32bit/64bit). Unfortunately, from what I can see, there is lots of gotchas: You have to select the modules to use (what if you don't select a module and someone uses it?), then run the right command to compile (that's easy, actually). Note: We will also have to figure out a way for people to add additional modules in their mods. I would postpone all of this until we have a working prototype, that we currently don't have. |
TBH I'd go the exact opposite way because otherwise, you'll end with a mess where everyone has another python version with different modules installed (not sure if we want to enable pip or not yet). Anyway, I have currently solved this problem for Windows + Python3.5 + pip in Pythia - Python 3.6 is currently a little problematic (overfl0/Pythia#32). I'm using the embeddable zip file (with tiny modifications) from https://www.python.org/downloads/release/python-354/ and they work fine. What I mean by that is that "they just work" - you don't even have to have python installed on your computer. You run Pythia and you have Python working; no steps required. It's something that I would like to see in Intercept-python too. |
Onto pybind11 http://pybind11.readthedocs.io/en/master/classes.html#creating-bindings-for-a-custom-type |
Regarding pybind11, I could theoretically test it by porting Pythia to it which, if successful, would mean that it can also easily be used with intercept-python. Regarding the dependent dlls directory I think that there is currently no point in doing so. I have already solved this problem myself and have code that works the way it's all set up currently (I think). Instead, I would much prefer some doc stating what exactly is needed and why and where to create a minimal working version of intercept in another language that works and can be tested from within the game. Fixing those could benefit Intercept much more than implementing another new technical solution, right now. Don't get me wrong: I can't promise that I will have the time to work full-time on intercept-python, but the things that I listed above were (partly, of course) the reasons why I have not done so yet. |
That depends on the language you are trying to implement and what you want to implement. Yeah the broken tutorial is definetly an issue. Especially with the latest changes it got broken even more ^^ We also have the intercept-examples repo that is somewhat up-to-date and working. And other bigger example projects like my Script Profiler or Intercept CBA which are based on CMake and constantly updated with the latest changes because I actually use these to test. I also muuuuuch prefer the Intercept CBA/script profiler approach of embedding the Intercept client sources in a submodule and directly compiling them in. It's much easier and faster than going via the client_lib route that Intercept had in place before I joined. I'm gonna get the intercept-examples repo up to current master branch compatibility and look at the tutorial. |
This buildfile seems to work.
Needs changes to work with python 3.6 and remove options as they arent requiered if we build it just for our plugin.
The text was updated successfully, but these errors were encountered: