Page MenuHome

Windows: Move shared libraries into private sxs manifest
Needs ReviewPublic

Authored by Ray molenkamp (LazyDodo) on Dec 11 2019, 8:34 PM.

Details

Summary

Follow-up to D6132 moving the regular shared libraries we have into their own folder as well

I Refactored the manifest generation into macros.cmake so we can share the generation code with the CRT manifest, since there was very little code left in platform_win32_bundle_crt.cmake I moved this back into the main windows platform file.

Having the hashes in the manifest was problematic for a couple of reasons

  1. they change when we sign the binaries, which gets done *after* the build.
  2. I'm unable to detect changes when we update the .dlls in svn and update the hashes appropriately without doing it every time cmake runs. (wrong hash will give you an error at start-up)

Given hashes are an optional part in a manifest support has been removed.

I'd like to keep the thumbnailer out of the shared libs, since it's not a library blender loads directly

Diff Detail

Repository
rB Blender
Branch
tmp_shared_manifest (branched from master)
Build Status
Buildable 5977
Build 5977: arc lint + arc unit

Event Timeline

build_files/cmake/macros.cmake
1300–1309

Are the paths ${CMAKE_BINARY_DIR}/Debug and ${CMAKE_BINARY_DIR}/Release always valid for all CMake generators (nmake, msbuild, ninja...) ?

Ray molenkamp (LazyDodo) marked an inline comment as done.Jan 2 2020, 6:16 PM
Ray molenkamp (LazyDodo) added inline comments.
build_files/cmake/macros.cmake
1300–1309

They are temp files in the build folder, both will be generated regardless of the active configuration

The install step below will copy them to the correct final location which takes the configuration into account.