(os vesion >= sp2) build with cmake
* cmake build support(xp sp2):
(dbg)EXTRA_CMAKE_ARGS="-DMGE_DEPLOY_INFERENCE_ON_WINDOWS_XP_SP2=ON"
./scripts/cmake-build/host_build.sh -m -d
(opt)EXTRA_CMAKE_ARGS="-DMGE_DEPLOY_INFERENCE_ON_WINDOWS_XP_SP2=ON"
./scripts/cmake-build/host_build.sh -m
* cmake build support(xp sp3):
(dbg)EXTRA_CMAKE_ARGS="-DMGE_DEPLOY_INFERENCE_ON_WINDOWS_XP=ON"
./scripts/cmake-build/host_build.sh -m -d
(opt)EXTRA_CMAKE_ARGS="-DMGE_DEPLOY_INFERENCE_ON_WINDOWS_XP=ON"
./scripts/cmake-build/host_build.sh -m
* internal behavior:
will define MGB_HAVE_THREAD=0 when enable
-DMGE_DEPLOY_INFERENCE_ON_WINDOWS_XP_SP2=ON
* refer to
https://docs.microsoft.com/en-us/cpp/build/configuring-programs-for-windows-xp?view=msvc-160
xp sp2(x86) do not support vc runtime fully, casused by KERNEL32.dll do not
implement some base apis for c++ std function, for example,
std::mutex/std::thread/std::condition_variable as a workround, we will
disable some MegEngine features on xp sp2 env, for exampe, multi-thread etc!
* about DNN_MUTEX/MGB_MUTEX/LITE_MUTEX, if your code will build in inference
code (even CPU backends), please replace std::mutex to DNN_MUTEX/MGB_MUTEX,
* about multi-thread, if you code need multi-thread support, please
enable it when MGB_HAVE_THREAD=1
* about test build env status
1: Visual Studio 2019(MSVC version <= 14.26.28801)---- pass
2: Visual Studio 2019(MSVC version > 14.26.28801) ---- failed
caused by this 'new' version will put VCR depends on win7
KERNEL32.DLL, this may be fixed at Visual Studio 2019 later version
but we do not test at this MR merge point
3: Visual Studio 2017 ---------- pass
4: Visual Studio 2014 ---------- pass
GitOrigin-RevId: ea6e1f8b4f
* support arm-host and x86-cross-arm
* fix trt myelib cmake build issue at 'trt copy env'(about 'copy env', Please refs cb92123f)
about x86-cross-arm CUDA env:
1: run ./scripts/cmake-build/create_cuda_build_libs.py to prepare
cuda/cudnn/trt env(download deb package info, Please refs create_cuda_build_libs.py)
2: export TRT_ROOT_DIR=xxxxx which may create by step 1
3: export CUDNN_ROOT_DIR=xxxx which may create by step 1
4: export PATH=xxxx:$PATH xxxx need create by step 1, which nvcc have
relative path dir: ../targets/sbsa-linux/
GitOrigin-RevId: 440c76052aabe5b07a4b64d126e759f919c257a8
1: fix cmake cross-ios failed caused by df118a87
build static lib for APPLE define for XCODE third_party framework including require
2: megbrain_test/megdnn_test build when MGE_INFERENCE_ONLY=ON
now u can build megbrain_test/megdnn_test by:
EXTRA_CMAKE_ARGS="-DMGE_WITH_TEST=ON" ./scripts/cmake-build/xxx.sh
example macos-cross-ios build megdnn_test for IOS by
EXTRA_CMAKE_ARGS="-DMGE_WITH_TEST=ON" ./scripts/cmake-build/cross_build_ios_arm_inference.sh
3: reuse host flatc build when cross build mode
GitOrigin-RevId: 132f4bf893567bdb1d54de506449950513a5841f
host build and cross build
now cmake status:
a: host build
1: windows build -- ok
2: linux build -- ok
3: macos build -- ok
b: cross build
1: windows cross build arm-android -- ok
2: windows cross build arm-linux -- ok
3: linux cross build arm-android -- ok
4: linux cross build arm-linux -- ok
5: macos cross build arm-android -- ok
6: macos cross build arm-linux -- ok
7: macos cross build ios -- ok
GitOrigin-RevId: f7f376fe8c