From d6a284783ae3b22a22caf8ac0f4933d8124c1eb0 Mon Sep 17 00:00:00 2001 From: Kolya Kosenko Date: Tue, 27 Feb 2018 23:47:27 +0200 Subject: [PATCH] Fix wxGTK/Win32 CMake build --- build/cmake/functions.cmake | 37 ++++++++++++++++++++++++++--- build/cmake/lib/adv/CMakeLists.txt | 3 +++ build/cmake/lib/core/CMakeLists.txt | 6 ++++- build/cmake/options.cmake | 2 +- 4 files changed, 43 insertions(+), 5 deletions(-) diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake index 9af05bd939..39e47f2ba4 100644 --- a/build/cmake/functions.cmake +++ b/build/cmake/functions.cmake @@ -202,8 +202,8 @@ function(wx_set_target_properties target_name is_base) PUBLIC ${wxTOOLKIT_INCLUDE_DIRS}) endif() - if (WXMSW) - set(WXMSW_LIBRARIES + if (WIN32) + set(WIN32_LIBRARIES kernel32 user32 gdi32 @@ -225,7 +225,38 @@ function(wx_set_target_properties target_name is_base) uxtheme ) target_link_libraries(${target_name} - PUBLIC ${WXMSW_LIBRARIES}) + PUBLIC ${WIN32_LIBRARIES}) + + if(WXGTK) + if(WXGTK4) + set(WXGTK_WIN32_LIBRARIES + libgtk-4.dll.a + libgdk-4.dll.a + ) + elseif(WXGTK3) + set(WXGTK_WIN32_LIBRARIES + libgtk-3.dll.a + libgdk-3.dll.a + ) + elseif(WXGTK2) + set(WXGTK_WIN32_LIBRARIES + gtk-win32-2.0.lib + gdk-win32-2.0.lib + ) + endif() + set(WXGTK_WIN32_LIBRARIES ${WXGTK_WIN32_LIBRARIES} + gio-2.0.lib + pangocairo-1.0.lib + gdk_pixbuf-2.0.lib + cairo.lib + pango-1.0.lib + gobject-2.0.lib + gthread-2.0.lib + glib-2.0.lib + ) + target_link_libraries(${target_name} + PUBLIC ${WXGTK_WIN32_LIBRARIES}) + endif() endif() if(wxTOOLKIT_LIBRARIES) diff --git a/build/cmake/lib/adv/CMakeLists.txt b/build/cmake/lib/adv/CMakeLists.txt index 9db332822c..3fd183975d 100644 --- a/build/cmake/lib/adv/CMakeLists.txt +++ b/build/cmake/lib/adv/CMakeLists.txt @@ -20,6 +20,9 @@ elseif(WXOSX_COCOA) elseif(WXGTK) wx_append_sources(ADV_FILES ADVANCED_GTK2) wx_append_sources(ADV_FILES ADVANCED_GTK_NATIVE) + if(WIN32) + wx_append_sources(ADV_FILES ADVANCED_GTK_WIN32) + endif() endif() if(UNIX AND NOT APPLE AND NOT WIN32) diff --git a/build/cmake/lib/core/CMakeLists.txt b/build/cmake/lib/core/CMakeLists.txt index 809b50b9b0..a47f517860 100644 --- a/build/cmake/lib/core/CMakeLists.txt +++ b/build/cmake/lib/core/CMakeLists.txt @@ -28,7 +28,11 @@ elseif(WXGTK) wx_append_sources(CORE_SRC GTK2_LOWLEVEL) wx_append_sources(CORE_SRC GTK2) - wx_append_sources(CORE_SRC XWIN_LOWLEVEL) + if(UNIX) + wx_append_sources(CORE_SRC XWIN_LOWLEVEL) + elseif(WIN32) + wx_append_sources(CORE_SRC GTK_WIN32) + endif() elseif(WXOSX_COCOA) wx_append_sources(CORE_SRC BASE_AND_GUI_OSX_COCOA) wx_append_sources(CORE_SRC OSX_LOWLEVEL) diff --git a/build/cmake/options.cmake b/build/cmake/options.cmake index b01db3261f..2ba39ec50e 100644 --- a/build/cmake/options.cmake +++ b/build/cmake/options.cmake @@ -342,7 +342,7 @@ wx_option(wxUSE_HOTKEY "use wxWindow::RegisterHotKey()") wx_option(wxUSE_JOYSTICK "use wxJoystick") wx_option(wxUSE_METAFILE "use wxMetaFile") wx_option(wxUSE_DRAGIMAGE "use wxDragImage") -if(WIN32) +if(WXMSW) wx_option(wxUSE_ACCESSIBILITY "enable accessibility support") endif() wx_option(wxUSE_UIACTIONSIMULATOR "use wxUIActionSimulator (experimental)")