2022-07-15 15:37:19 +00:00
|
|
|
set(_wx_git_tag v3.1.5)
|
|
|
|
|
|
|
|
set(_wx_toolkit "")
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
|
|
set(_gtk_ver 2)
|
|
|
|
if (DEP_WX_GTK3)
|
|
|
|
set(_gtk_ver 3)
|
|
|
|
endif ()
|
|
|
|
set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}")
|
2022-11-30 01:04:58 +00:00
|
|
|
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
|
|
|
|
else ()
|
|
|
|
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=0")
|
2022-07-15 15:37:19 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if (MSVC)
|
|
|
|
set(_wx_edge "-DwxUSE_WEBVIEW_EDGE=ON")
|
|
|
|
else ()
|
|
|
|
set(_wx_edge "-DwxUSE_WEBVIEW_EDGE=OFF")
|
|
|
|
endif ()
|
|
|
|
|
deps/wxWidgets: avoid patching too many times
Each time the dependency build was run, previously, the build system
attempted to patch wxWidgets after checking it out from Git. The problem,
of course, is that if this happened once, it would not succeed a second
time, so the only workaround was to blow away the wxWidgets source tree.
The real solution to this is to create a BBL fork of wxWidgets (or to
upstream the changes...). But for now, we add a file to determine whether
the patch has taken place already, and if it's there, we don't apply the
patch again. This will mean that all kinds of exciting things happen if you
change Git revisions of wxWidgets or the patch changes (in those cases,
you'll have to blow away the build), but at least this makes it possible to
build twice in the same repository in the best case.
To update an existing checkout, run:
$ touch deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/WXWIDGETS_PATCHED
2023-01-11 09:31:17 +00:00
|
|
|
if (MSVC)
|
|
|
|
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch)
|
|
|
|
else ()
|
|
|
|
set(_patch_cmd test -f WXWIDGETS_PATCHED || ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch && touch WXWIDGETS_PATCHED)
|
|
|
|
endif ()
|
|
|
|
|
2022-07-15 15:37:19 +00:00
|
|
|
bambustudio_add_cmake_project(wxWidgets
|
|
|
|
GIT_REPOSITORY "https://github.com/wxWidgets/wxWidgets"
|
|
|
|
GIT_TAG ${_wx_git_tag}
|
deps/wxWidgets: avoid patching too many times
Each time the dependency build was run, previously, the build system
attempted to patch wxWidgets after checking it out from Git. The problem,
of course, is that if this happened once, it would not succeed a second
time, so the only workaround was to blow away the wxWidgets source tree.
The real solution to this is to create a BBL fork of wxWidgets (or to
upstream the changes...). But for now, we add a file to determine whether
the patch has taken place already, and if it's there, we don't apply the
patch again. This will mean that all kinds of exciting things happen if you
change Git revisions of wxWidgets or the patch changes (in those cases,
you'll have to blow away the build), but at least this makes it possible to
build twice in the same repository in the best case.
To update an existing checkout, run:
$ touch deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/WXWIDGETS_PATCHED
2023-01-11 09:31:17 +00:00
|
|
|
PATCH_COMMAND ${_patch_cmd}
|
2022-07-15 15:37:19 +00:00
|
|
|
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
|
|
|
|
CMAKE_ARGS
|
|
|
|
-DwxBUILD_PRECOMP=ON
|
|
|
|
${_wx_toolkit}
|
|
|
|
"-DCMAKE_DEBUG_POSTFIX:STRING="
|
|
|
|
-DwxBUILD_DEBUG_LEVEL=0
|
|
|
|
-DwxBUILD_SAMPLES=OFF
|
|
|
|
-DwxBUILD_SHARED=OFF
|
|
|
|
-DwxUSE_MEDIACTRL=ON
|
|
|
|
-DwxUSE_DETECT_SM=OFF
|
|
|
|
-DwxUSE_UNICODE=ON
|
2022-11-30 01:04:58 +00:00
|
|
|
${_wx_private_font}
|
2022-07-15 15:37:19 +00:00
|
|
|
-DwxUSE_OPENGL=ON
|
|
|
|
-DwxUSE_WEBVIEW=ON
|
|
|
|
${_wx_edge}
|
|
|
|
-DwxUSE_WEBVIEW_IE=OFF
|
|
|
|
-DwxUSE_REGEX=builtin
|
|
|
|
-DwxUSE_LIBXPM=builtin
|
|
|
|
-DwxUSE_LIBSDL=OFF
|
|
|
|
-DwxUSE_XTEST=OFF
|
|
|
|
-DwxUSE_STC=OFF
|
|
|
|
-DwxUSE_AUI=ON
|
|
|
|
-DwxUSE_LIBPNG=sys
|
|
|
|
-DwxUSE_ZLIB=sys
|
|
|
|
-DwxUSE_LIBJPEG=sys
|
|
|
|
-DwxUSE_LIBTIFF=sys
|
|
|
|
-DwxUSE_EXPAT=sys
|
|
|
|
)
|
|
|
|
|
|
|
|
if (MSVC)
|
|
|
|
add_debug_dep(dep_wxWidgets)
|
|
|
|
endif ()
|