Use a meson option to crossbuild for Windows
Meson decided to crossbuild for Windows as soon as meson.is_cross_build() returned true. This made non-Windows crossbuilds fail. Instead, add an explicit option "crossbuild_windows". Fixes <https://github.com/Genymobile/scrcpy/issues/165>.
This commit is contained in:
parent
27a9bd3424
commit
f705a73149
3 changed files with 6 additions and 1 deletions
|
@ -55,6 +55,7 @@ build-win32: prepare-deps-win32
|
||||||
meson "$(WIN32_BUILD_DIR)" \
|
meson "$(WIN32_BUILD_DIR)" \
|
||||||
--cross-file cross_win32.txt \
|
--cross-file cross_win32.txt \
|
||||||
--buildtype release --strip -Db_lto=true \
|
--buildtype release --strip -Db_lto=true \
|
||||||
|
-Dcrossbuild_windows=true \
|
||||||
-Dbuild_server=false \
|
-Dbuild_server=false \
|
||||||
-Doverride_server_path=scrcpy-server.jar )
|
-Doverride_server_path=scrcpy-server.jar )
|
||||||
ninja -C "$(WIN32_BUILD_DIR)"
|
ninja -C "$(WIN32_BUILD_DIR)"
|
||||||
|
@ -64,6 +65,7 @@ build-win32-noconsole: prepare-deps-win32
|
||||||
meson "$(WIN32_NOCONSOLE_BUILD_DIR)" \
|
meson "$(WIN32_NOCONSOLE_BUILD_DIR)" \
|
||||||
--cross-file cross_win32.txt \
|
--cross-file cross_win32.txt \
|
||||||
--buildtype release --strip -Db_lto=true \
|
--buildtype release --strip -Db_lto=true \
|
||||||
|
-Dcrossbuild_windows=true \
|
||||||
-Dbuild_server=false \
|
-Dbuild_server=false \
|
||||||
-Dwindows_noconsole=true \
|
-Dwindows_noconsole=true \
|
||||||
-Doverride_server_path=scrcpy-server.jar )
|
-Doverride_server_path=scrcpy-server.jar )
|
||||||
|
@ -77,6 +79,7 @@ build-win64: prepare-deps-win64
|
||||||
meson "$(WIN64_BUILD_DIR)" \
|
meson "$(WIN64_BUILD_DIR)" \
|
||||||
--cross-file cross_win64.txt \
|
--cross-file cross_win64.txt \
|
||||||
--buildtype release --strip -Db_lto=true \
|
--buildtype release --strip -Db_lto=true \
|
||||||
|
-Dcrossbuild_windows=true \
|
||||||
-Dbuild_server=false \
|
-Dbuild_server=false \
|
||||||
-Doverride_server_path=scrcpy-server.jar )
|
-Doverride_server_path=scrcpy-server.jar )
|
||||||
ninja -C "$(WIN64_BUILD_DIR)"
|
ninja -C "$(WIN64_BUILD_DIR)"
|
||||||
|
@ -86,6 +89,7 @@ build-win64-noconsole: prepare-deps-win64
|
||||||
meson "$(WIN64_NOCONSOLE_BUILD_DIR)" \
|
meson "$(WIN64_NOCONSOLE_BUILD_DIR)" \
|
||||||
--cross-file cross_win64.txt \
|
--cross-file cross_win64.txt \
|
||||||
--buildtype release --strip -Db_lto=true \
|
--buildtype release --strip -Db_lto=true \
|
||||||
|
-Dcrossbuild_windows=true \
|
||||||
-Dbuild_server=false \
|
-Dbuild_server=false \
|
||||||
-Dwindows_noconsole=true \
|
-Dwindows_noconsole=true \
|
||||||
-Doverride_server_path=scrcpy-server.jar )
|
-Doverride_server_path=scrcpy-server.jar )
|
||||||
|
|
|
@ -19,7 +19,7 @@ src = [
|
||||||
'src/tinyxpm.c',
|
'src/tinyxpm.c',
|
||||||
]
|
]
|
||||||
|
|
||||||
if not meson.is_cross_build()
|
if not get_option('crossbuild_windows')
|
||||||
|
|
||||||
# native build
|
# native build
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
option('build_app', type: 'boolean', value: true, description: 'Build the client')
|
option('build_app', type: 'boolean', value: true, description: 'Build the client')
|
||||||
option('build_server', type: 'boolean', value: true, description: 'Build the server')
|
option('build_server', type: 'boolean', value: true, description: 'Build the server')
|
||||||
|
option('crossbuild_windows', type: 'boolean', value: false, description: 'Build for Windows from Linux')
|
||||||
option('windows_noconsole', type: 'boolean', value: false, description: 'Disable console on Windows (pass -mwindows flag)')
|
option('windows_noconsole', type: 'boolean', value: false, description: 'Disable console on Windows (pass -mwindows flag)')
|
||||||
option('prebuilt_server', type: 'string', description: 'Path of the prebuilt server')
|
option('prebuilt_server', type: 'string', description: 'Path of the prebuilt server')
|
||||||
option('override_server_path', type: 'string', description: 'Hardcoded path to find the server at runtime')
|
option('override_server_path', type: 'string', description: 'Hardcoded path to find the server at runtime')
|
||||||
|
|
Loading…
Reference in a new issue