1: reduce python whl package size
2: unify api link logic on all OS
3: add option: MGE_WINDOWS_BUILD_WITH_STATIC_CRT
--- default OFF
--- if build CRT(vc runtime) with STATIC with megengine.dll
some CRT api will crash, for example, flush, so if you
build with static megengine, and do not want to install CRT
you can set MGE_WINDOWS_BUILD_WITH_STATIC_CRT TRUE
--- how to install CRT:
https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-160
install VC_redist.x64.exe
4: rename megengine_export to megengine_shared(only export needed symbols ),
caused by runtime symbols conflict with pytorch
GitOrigin-RevId: 93d8d80f29
Also, upgrade to CMake 3.13.
The commit also contains significant refactors, as otherwise it is not
possible to properly export target `megengine` to
MegEngine-targets.cmake:
1. Optionally use system provided Flatbuffers.
2. Optionally use system provided MKL-DNN (Tested with Debian).
3. Refactor megbrain and megdnn targets into object libraries.
4. Set different path in BUILD_INTERFACE and INSTALL_INTERFACE of
various target_include_directories.
5. Specify PUBLIC/PRIVATE on various target_link_libraries.
GitOrigin-RevId: df118a879e