-
Notifications
You must be signed in to change notification settings - Fork 758
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
Simplify and enhance Windows installer #929
Conversation
… preceding changes
btw, i really think that the installer should use as much of cmake as possible. not necessarily for a build environment, but more for a development environment. |
I am not sure what you mean. The installer-script only runs after make bundle has already done it's job... |
the development workflow is basically relies on a working |
I don't think so. On Windows there is a required "make bundle" build step (target) that brings together all required files for a working SC in the install folder. Make package is not required - it is only used to create an installer executable, and with my additions to present SC with a friendly intro to a Windows system (and if required a clean outro) ;) |
Tim, could you please clarify this? CPack is not good for Windows, misses features we desire. Hence custom NSIS script. Or what do you mean? |
Maybe - at least for the record - it is good to add some considerations here:
|
Let me add a wild guess at what Tim is actually hinting: If we discuss setting up a development system that allows proper debugging, I am all for it, although this is considerably beyond my low level of expertise (and on a side note this is not related to creating a Windows installer executable). So when we talk about a "development environment": I can now compile SC in Qt Creator by pressing the button run - as well as debug run. This runs the entire build process (if required) and then tries to start scsynth. It currently fails because command line arguments are required. Now let's take an example: the current serious network bug on Windows could be reproduced by running sclang. To run it in a debug environment, I assume it would be necessary to make Qt Creator start sclang in debug mode and then start scsynth (or supernova) from the readline interface. So I'd somehow have to make Qt Creator (or cmake?) build and then start sclang? If you'd briefly describe the required steps to get to this point, I'd happily follow them and try to learn what is implied - and then report the output. So two examples would be really helpful:
PS: a new obstacle: when trying to run sclang just now I found that the readline interface currently interprets every keystroke as ctrl-d and immediately quits - grrr. I'll try to find out what's going on later |
problem is that |
So you're basically saying the current |
yes, the |
I will have another look into the osx-file, but I doubt I can come up with something that is good enough. Let's see... |
|
Will try! Thanks! |
actually, some |
So I looked into the toolchain file again and after some trial and error, I got it. This works nicely on my system with one exception (and it builds on environment variables I have defined):
The exception is realine, the library of which is not found. If I add I like the use of of the toolchain file, it's a nice intermediary between the host-environment on one side and the generic build requirements on the other hand. It allows to keep project-specific settings out of the system (path) and system-specific static settings out of the list of cmake -D-arguments. It also seems to override find paths in the FindXXX.cmake modules, which can be good thing (The find routines can have unintended hit's if you have a default install of one of the dependencies on your system, which you do not want to include in the compile. I had such a case with libsndfile once - and you are likely to not even note that it happens). Yet in terms of speed this addition doesn't seem to make a significant difference for Would it make sense to add Best |
Finally, I managed to produce a working windows build, and I merged in your improvements. Thanks a million for all this! |
Cool! Thanks too for all your Windows efforts! |
Remark: I messed up my previous pull request by merging in master. This is a new branch created by cherry-picking the previous commits and adding a few tiny enhancements concerning pathlogic (RelPath cleanup)