-
Notifications
You must be signed in to change notification settings - Fork 5
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
Dependency restore mode and refactoring #39
base: feat/static-shared-combine
Are you sure you want to change the base?
Dependency restore mode and refactoring #39
Conversation
- Use QPM.Package 1.0.0 - Properly support `dynamicLibOut` and `staticLibOut` - Store `libDependencyType` in `qpm.shared.json` - Refactor qpm qmod build for more flexibility - Refactor `qpm install` to use `dynamicLibOut` and/or `staticLibOut` - Allow choosing to restore header only, static or dynamic - No longer excluding `modloader` by default - Remove debug dynamic libraries - Remove `overrideSoName` - CMake `COMPILE_ID` now uses `qpm.json` id
What do you mean by |
this seems like a bad idea, some of the libraries, if they include debug symbols (not stripped) are 10x as large as the stripped version. example: BSML is 124 MB unstripped, and 5 MB stripped |
That's up to the discretion of the distributor in this instance, because maybe you think the consumers wouldn't need the baggage of those debug symbols. Keeping both in the current state seems reasonable but would have to be reworked in this PR, and am not sure it's as desirable as it sounds. |
This would allow you to specify for dependency restore, say, static linking flamingo as so: {
"id": "flamingo",
"version": "*",
"additionalData": {
"libDependencyType": "static"
}
} |
well you want the debug symbols somewhere, given that it makes debugging easier with the crash reporter mod. although you could argue that the crash reporter mod can just get the debug binary manually without qpm. for building with a mod it's obviously not required to exist |
dynamicLibOut
andstaticLibOut
libDependencyType
inqpm.shared.json
qpm install
to usedynamicLibOut
and/orstaticLibOut
modloader
by defaultoverrideSoName
COMPILE_ID
now usesqpm.json
idqpm
Because of these changes, the following will cause existing packages (both for usage and restoring) to break.
dynamicLibOut
, a path to the dynamic binarystaticLibOut
, a path to the static binaryoverrideSoName
, therefore CMakeid
is now tied to mod id inqpm_defines.cmake
so
to include debug symbols.qpm
Supersedes #31