diff --git a/.gitignore b/.gitignore index a0006af1..6b132f9a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ bin bin_32 bin_64 build +build_arm64 build_cov choco cmake_modules diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 91adc204..57388a02 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,6 +18,8 @@ if(NOT wxWidgets_LIB_DIR) if(${MSVC}) if(${GEN_ARCH} STREQUAL "x64") set(wxWidgets_LIB_DIR ${wxWidgets_ROOT_DIR}/lib/vc_x64_lib) + elseif(${GEN_ARCH} STREQUAL "arm64") + set(wxWidgets_LIB_DIR ${wxWidgets_ROOT_DIR}/lib/vc_arm64_lib) else() set(wxWidgets_LIB_DIR ${wxWidgets_ROOT_DIR}/lib/vc_lib) endif() diff --git a/tools/arm64-build-win-vind.bat b/tools/arm64-build-win-vind.bat new file mode 100644 index 00000000..030d29de --- /dev/null +++ b/tools/arm64-build-win-vind.bat @@ -0,0 +1,8 @@ +@REM from https://github.com/pit-ray/win-vind/issues/191#issuecomment-1671656805 + +call "c:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" +if %errorlevel% neq 0 exit /b %errorlevel% +cmake -B build_arm64 -DCMAKE_BUILD_TYPE=Release -DwxWidgets_LIB_DIR=libs/wxWidgets/lib/vc_arm64_lib -G "Visual Studio 16 2019" -A Arm64 . +if %errorlevel% neq 0 exit /b %errorlevel% +cmake --build build_arm64 -DwxWidgets_LIBRARIES=libs/wxWidgets/lib/vc_arm64_lib --config Release +if %errorlevel% neq 0 exit /b %errorlevel% diff --git a/tools/arm64-build-wxwidgets.bat b/tools/arm64-build-wxwidgets.bat new file mode 100644 index 00000000..a52efb95 --- /dev/null +++ b/tools/arm64-build-wxwidgets.bat @@ -0,0 +1,23 @@ +@REM taken from https://github.com/pit-ray/win-vind/issues/191#issuecomment-1671656805 + +@REM Assume wxwidgets source already available. For fresh copy use +@REM .\tools\arm65-clean-checkout-wxwidgets.bat + +cd libs +if %errorlevel% neq 0 exit /b %errorlevel% + +cd wxWidgets +if %errorlevel% neq 0 exit /b %errorlevel% +cd build/msw +if %errorlevel% neq 0 exit /b %errorlevel% +rem call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" +rem if %errorlevel% neq 0 exit /b %errorlevel% +call "c:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" +if %errorlevel% neq 0 exit /b %errorlevel% + +@REM nmake /f makefile.vc BUILD=release SHARED=0 UNICODE=1 TARGET_CPU=ARM64 RUNTIME_LIBS=static +@REM from https://www.andregarzia.com/2019/12/wxwidgets-works-under-windows-on-arm.html try without unicode +nmake /f makefile.vc BUILD=release SHARED=0 UNICODE=0 TARGET_CPU=ARM64 RUNTIME_LIBS=static +if %errorlevel% neq 0 exit /b %errorlevel% +cd ../../../ +if %errorlevel% neq 0 exit /b %errorlevel% diff --git a/tools/arm64-clean-checkout-wxwidgets.bat b/tools/arm64-clean-checkout-wxwidgets.bat new file mode 100644 index 00000000..0d3602e9 --- /dev/null +++ b/tools/arm64-clean-checkout-wxwidgets.bat @@ -0,0 +1,16 @@ +@REM clean the wxWidgets + +cd libs +if %errorlevel% neq 0 exit /b %errorlevel% + +rmdir /s wxWidgets +if %errorlevel% neq 0 exit /b %errorlevel% + +@REM get fresh copies +git clone https://github.com/wxWidgets/wxWidgets.git -b v3.1.5 -j %NUMBER_OF_PROCESSORS% --depth=1 +if %errorlevel% neq 0 exit /b %errorlevel% + +cd wxWidgets +if %errorlevel% neq 0 exit /b %errorlevel% +git submodule update --init -j %NUMBER_OF_PROCESSORS% +if %errorlevel% neq 0 exit /b %errorlevel%