From dc0d93ccccab893099769c2ac6ad6ee81a284f8d Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Sat, 20 Jan 2018 15:15:57 +0100 Subject: [PATCH] CMake: Fix library order in wxMSW build uuid should be linked before oleacc, otherwise it causes multiple definition of `IID_IAccessible' (with MinGW64 gcc). To simplify even more, specify all required libraries in wxTOOLKIT_LIBRARIES, in the same order as in the makefiles. Add uxtheme library, it is required since wxUxThemeEngine wrapper has been removed. --- build/cmake/lib/base/CMakeLists.txt | 16 +--------------- build/cmake/toolkit.cmake | 14 +++++++++++++- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/build/cmake/lib/base/CMakeLists.txt b/build/cmake/lib/base/CMakeLists.txt index 1871c54bde..28377c4772 100644 --- a/build/cmake/lib/base/CMakeLists.txt +++ b/build/cmake/lib/base/CMakeLists.txt @@ -58,21 +58,7 @@ endif() if(wxUSE_THREADS AND CMAKE_THREAD_LIBS_INIT) wx_lib_link_libraries(base PRIVATE ${CMAKE_THREAD_LIBS_INIT}) endif() -if(WIN32) - wx_lib_link_libraries(base PUBLIC - kernel32 - user32 - shell32 - ole32 - oleaut32 - uuid - rpcrt4 - advapi32 - Shlwapi - version - uuid - ) -elseif(APPLE) +if(APPLE) wx_lib_link_libraries(base PRIVATE "-framework Security" diff --git a/build/cmake/toolkit.cmake b/build/cmake/toolkit.cmake index 6dfbe4e7f3..49b798451d 100644 --- a/build/cmake/toolkit.cmake +++ b/build/cmake/toolkit.cmake @@ -68,13 +68,25 @@ endif() if(WXMSW) set(wxTOOLKIT_LIBRARIES + kernel32 + user32 gdi32 comdlg32 winspool + winmm shell32 + shlwapi comctl32 + ole32 + oleaut32 + uuid rpcrt4 - Oleacc + advapi32 + version + wsock32 + wininet + oleacc + uxtheme ) elseif(WXGTK) if(WXGTK3)