Merge branch 'master' into web-request

Merge with the latest master in preparation for merging into master.

Rebake to resolve conflicts in generated files.
This commit is contained in:
Vadim Zeitlin
2020-12-12 17:44:45 +01:00
3934 changed files with 147571 additions and 96246 deletions

View File

@@ -75,25 +75,32 @@ endforeach()
if(wxBUILD_MONOLITHIC)
# Create monolithic library target
list(LENGTH wxMONO_SRC_FILES src_file_count)
wx_add_library(mono ${wxMONO_SRC_FILES})
wx_add_library(wxmono ${wxMONO_SRC_FILES})
foreach(vis PRIVATE PUBLIC)
if(wxMONO_LIBS_${vis})
# Remove libs included in mono from list
foreach(lib IN LISTS LIBS)
list(REMOVE_ITEM wxMONO_LIBS_${vis} ${lib})
list(REMOVE_ITEM wxMONO_LIBS_${vis} wx${lib})
endforeach()
target_link_libraries(mono ${vis} ${wxMONO_LIBS_${vis}})
target_link_libraries(wxmono ${vis} ${wxMONO_LIBS_${vis}})
endif()
if(wxMONO_INCLUDE_DIRS_${vis})
target_include_directories(mono ${vis} ${wxMONO_INCLUDE_DIRS_${vis}})
set(INCLUDE_POS)
if (vis STREQUAL PRIVATE)
set(INCLUDE_POS BEFORE)
endif()
target_include_directories(wxmono ${INCLUDE_POS} ${vis} ${wxMONO_INCLUDE_DIRS_${vis}})
endif()
if(wxMONO_DEFINITIONS_${vis})
target_compile_definitions(mono ${vis} ${wxMONO_DEFINITIONS_${vis}})
target_compile_definitions(wxmono ${vis} ${wxMONO_DEFINITIONS_${vis}})
endif()
endforeach()
foreach(file ${wxMONO_NONCOMPILED_CPP_FILES})
set_source_files_properties(${file} PROPERTIES HEADER_FILE_ONLY TRUE)
endforeach()
wx_finalize_lib(mono)
wx_finalize_lib(wxmono)
endif()
# Propagate variable(s) to parent scope
set(wxLIB_TARGETS ${wxLIB_TARGETS} PARENT_SCOPE)

View File

@@ -9,6 +9,6 @@
include(../../source_groups.cmake)
wx_add_library(adv "${wxSOURCE_DIR}/src/common/dummy.cpp")
wx_add_library(wxadv "${wxSOURCE_DIR}/src/common/dummy.cpp")
wx_finalize_lib(adv)
wx_finalize_lib(wxadv)

View File

@@ -17,6 +17,6 @@ elseif(WXGTK2)
wx_append_sources(AUI_FILES AUI_GTK)
endif()
wx_add_library(aui ${AUI_FILES})
wx_add_library(wxaui ${AUI_FILES})
wx_finalize_lib(aui)
wx_finalize_lib(wxaui)

View File

@@ -17,57 +17,60 @@ if(WIN32)
wx_append_sources(BASE_FILES BASE_AND_GUI_WIN32)
elseif(APPLE)
wx_append_sources(BASE_FILES BASE_OSX_SHARED)
if(wxBUILD_TOOLKIT MATCHES "osx_iphone")
wx_append_sources(BASE_FILES BASE_AND_GUI_OSX_IPHONE)
else()
if(WXOSX_COCOA)
wx_append_sources(BASE_FILES BASE_AND_GUI_OSX_COCOA)
endif()
elseif(UNIX)
wx_append_sources(BASE_FILES BASE_UNIX)
endif()
wx_add_library(base IS_BASE ${BASE_FILES})
wx_add_library(wxbase IS_BASE ${BASE_FILES})
if(NOT wxBUILD_MONOLITHIC)
wx_lib_compile_definitions(base PRIVATE wxUSE_BASE=1)
wx_lib_compile_definitions(wxbase PRIVATE wxUSE_BASE=1)
endif()
if(wxUSE_ZLIB)
wx_lib_include_directories(base PRIVATE ${ZLIB_INCLUDE_DIRS})
wx_lib_link_libraries(base PRIVATE ${ZLIB_LIBRARIES})
wx_lib_include_directories(wxbase PRIVATE ${ZLIB_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${ZLIB_LIBRARIES})
endif()
if(wxUSE_REGEX)
wx_lib_include_directories(base PRIVATE ${REGEX_INCLUDE_DIRS})
wx_lib_link_libraries(base PRIVATE ${REGEX_LIBRARIES})
wx_lib_include_directories(wxbase PRIVATE ${REGEX_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${REGEX_LIBRARIES})
endif()
if(wxUSE_LIBLZMA)
wx_lib_include_directories(base PRIVATE ${LIBLZMA_INCLUDE_DIRS})
wx_lib_link_libraries(base PRIVATE ${LIBLZMA_LIBRARIES})
wx_lib_include_directories(wxbase PRIVATE ${LIBLZMA_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${LIBLZMA_LIBRARIES})
endif()
if(UNIX AND wxUSE_SECRETSTORE)
wx_lib_include_directories(base PRIVATE ${LIBSECRET_INCLUDE_DIRS})
wx_lib_link_libraries(base PRIVATE ${LIBSECRET_LIBRARIES})
wx_lib_include_directories(wxbase PRIVATE ${LIBSECRET_INCLUDE_DIRS})
wx_lib_link_libraries(wxbase PRIVATE ${LIBSECRET_LIBRARIES})
endif()
if(wxUSE_LIBICONV AND ICONV_FOUND)
wx_lib_include_directories(base PRIVATE ${ICONV_INCLUDE_DIRS})
wx_lib_link_libraries(base PRIVATE ${ICONV_LIBRARIES})
if(wxUSE_LIBICONV)
wx_lib_include_directories(wxbase PRIVATE ${ICONV_INCLUDE_DIR})
wx_lib_link_libraries(wxbase PRIVATE ${ICONV_LIBRARIES})
endif()
if(wxUSE_THREADS AND CMAKE_THREAD_LIBS_INIT)
wx_lib_link_libraries(base PRIVATE ${CMAKE_THREAD_LIBS_INIT})
wx_lib_link_libraries(wxbase PRIVATE ${CMAKE_THREAD_LIBS_INIT})
endif()
if(APPLE)
wx_lib_link_libraries(base
PRIVATE
"-framework Security"
wx_lib_link_libraries(wxbase
PUBLIC
"-framework Carbon"
"-framework Cocoa"
"-framework CoreFoundation"
"-framework IOKit"
)
if(WXOSX_COCOA)
wx_lib_link_libraries(wxbase
PRIVATE
"-framework Security"
PUBLIC
"-framework Carbon"
"-framework Cocoa"
"-framework IOKit"
)
endif()
elseif(UNIX)
wx_lib_link_libraries(base PRIVATE dl)
wx_lib_link_libraries(wxbase PRIVATE dl)
endif()
wx_finalize_lib(base)
wx_finalize_lib(wxbase)

View File

@@ -25,6 +25,9 @@ if(WXMSW)
wx_append_sources(CORE_SRC MSW_DESKTOP_LOWLEVEL)
wx_append_sources(CORE_SRC MSW)
wx_append_sources(CORE_SRC MSW_DESKTOP)
if(NOT wxUSE_OLE)
wx_list_add_prefix(CORE_SRC "${wxSOURCE_DIR}/" "src/generic/dirdlgg.cpp")
endif()
elseif(WXGTK)
if(WXGTK2)
wx_append_sources(CORE_SRC GTK2_LOWLEVEL)
@@ -44,6 +47,9 @@ elseif(WXOSX_COCOA)
wx_append_sources(CORE_SRC OSX_LOWLEVEL)
wx_append_sources(CORE_SRC OSX_SHARED)
wx_append_sources(CORE_SRC OSX_COCOA)
elseif(WXOSX_IPHONE)
wx_append_sources(CORE_SRC OSX_LOWLEVEL)
wx_append_sources(CORE_SRC OSX_IPHONE)
elseif(WXQT)
wx_append_sources(CORE_SRC QT)
if(WIN32)
@@ -51,40 +57,53 @@ elseif(WXQT)
endif()
endif()
wx_add_library(core ${CORE_SRC})
wx_add_library(wxcore ${CORE_SRC})
foreach(lib JPEG PNG TIFF)
if(${lib}_LIBRARIES)
if(lib STREQUAL JPEG)
wx_lib_include_directories(core PRIVATE ${${lib}_INCLUDE_DIR})
wx_lib_include_directories(wxcore PRIVATE ${${lib}_INCLUDE_DIR})
else()
wx_lib_include_directories(core PRIVATE ${${lib}_INCLUDE_DIRS})
wx_lib_include_directories(wxcore PRIVATE ${${lib}_INCLUDE_DIRS})
endif()
wx_lib_link_libraries(core PRIVATE ${${lib}_LIBRARIES})
wx_lib_link_libraries(wxcore PRIVATE ${${lib}_LIBRARIES})
endif()
endforeach()
if(WIN32)
wx_lib_link_libraries(core PRIVATE winmm)
wx_lib_link_libraries(wxcore PRIVATE winmm)
endif()
if(WXOSX_COCOA)
wx_lib_link_libraries(core PUBLIC "-framework AudioToolbox")
wx_lib_link_libraries(wxcore PUBLIC "-framework AudioToolbox")
if(wxUSE_WEBKIT)
wx_lib_link_libraries(core PUBLIC "-framework WebKit")
wx_lib_link_libraries(wxcore PUBLIC "-framework WebKit")
endif()
endif()
if(WXOSX_IPHONE)
wx_lib_link_libraries(wxcore
PUBLIC
"-framework AudioToolbox"
"-framework CoreGraphics"
"-framework CoreText"
"-framework UIKit"
)
endif()
if(WXGTK AND wxUSE_PRIVATE_FONTS)
wx_lib_include_directories(core PUBLIC ${FONTCONFIG_INCLUDE_DIR})
wx_lib_link_libraries(core PUBLIC ${FONTCONFIG_LIBRARIES})
wx_lib_include_directories(wxcore PUBLIC ${FONTCONFIG_INCLUDE_DIRS} ${PANGOFT2_INCLUDE_DIRS})
wx_lib_link_libraries(wxcore PUBLIC ${FONTCONFIG_LIBRARIES} ${PANGOFT2_LIBRARIES})
endif()
if(UNIX AND wxUSE_LIBSDL)
if(wxUSE_LIBSDL)
if(SDL2_FOUND)
wx_lib_include_directories(core PUBLIC ${SDL2_INCLUDE_DIR})
wx_lib_link_libraries(core PUBLIC ${SDL2_LIBRARY})
wx_lib_include_directories(wxcore PUBLIC ${SDL2_INCLUDE_DIR})
wx_lib_link_libraries(wxcore PUBLIC ${SDL2_LIBRARY})
elseif(SDL_FOUND)
wx_lib_include_directories(core PUBLIC ${SDL_INCLUDE_DIR})
wx_lib_link_libraries(core PUBLIC ${SDL_LIBRARY})
wx_lib_include_directories(wxcore PUBLIC ${SDL_INCLUDE_DIR})
wx_lib_link_libraries(wxcore PUBLIC ${SDL_LIBRARY})
endif()
endif()
if(wxUSE_LIBNOTIFY)
wx_lib_include_directories(wxcore PUBLIC ${LIBNOTIFY_INCLUDE_DIRS})
wx_lib_link_libraries(wxcore PUBLIC ${LIBNOTIFY_LIBRARIES})
endif()
wx_finalize_lib(core)
wx_finalize_lib(wxcore)

View File

@@ -8,6 +8,8 @@
#############################################################################
if(wxUSE_EXPAT STREQUAL "builtin")
# TODO: implement building expat via its CMake file, using
# add_subdirectory or ExternalProject_Add
wx_add_builtin_library(wxexpat
src/expat/expat/lib/xmlparse.c
src/expat/expat/lib/xmlrole.c

View File

@@ -15,14 +15,16 @@ if(WXMSW)
wx_append_sources(GL_FILES OPENGL_MSW)
elseif(WXGTK)
wx_append_sources(GL_FILES OPENGL_GTK)
elseif(APPLE)
wx_append_sources(GL_FILES OPENGL_OSX_SHARED)
elseif(WXOSX_COCOA)
wx_append_sources(GL_FILES OPENGL_OSX_COCOA)
elseif(WXOSX_IPHONE)
wx_append_sources(GL_FILES OPENGL_OSX_IPHONE)
elseif(WXQT)
wx_append_sources(GL_FILES OPENGL_QT)
endif()
wx_add_library(gl ${GL_FILES})
wx_lib_include_directories(gl PUBLIC ${OPENGL_INCLUDE_DIR})
wx_lib_link_libraries(gl PUBLIC ${OPENGL_LIBRARIES})
wx_add_library(wxgl ${GL_FILES})
wx_lib_include_directories(wxgl PUBLIC ${OPENGL_INCLUDE_DIR})
wx_lib_link_libraries(wxgl PUBLIC ${OPENGL_LIBRARIES})
wx_finalize_lib(gl)
wx_finalize_lib(wxgl)

View File

@@ -11,10 +11,15 @@ include(../../source_groups.cmake)
wx_append_sources(HTML_FILES HTML_CMN)
if(WIN32)
if(WIN32 OR wxUSE_LIBMSPACK)
wx_append_sources(HTML_FILES HTML_MSW)
endif()
wx_add_library(html ${HTML_FILES})
wx_add_library(wxhtml ${HTML_FILES})
wx_finalize_lib(html)
if(wxUSE_LIBMSPACK)
wx_lib_include_directories(wxhtml PRIVATE ${MSPACK_INCLUDE_DIRS})
wx_lib_link_libraries(wxhtml PRIVATE ${MSPACK_LIBRARIES})
endif()
wx_finalize_lib(wxhtml)

View File

@@ -15,43 +15,43 @@ if(WXMSW)
wx_append_sources(MEDIA_FILES MEDIA_MSW)
elseif(WXOSX_COCOA)
wx_append_sources(MEDIA_FILES MEDIA_OSX_COCOA)
elseif(UNIX)
elseif(WXOSX_IPHONE)
wx_append_sources(MEDIA_FILES MEDIA_OSX_IPHONE)
elseif(WXGTK)
wx_append_sources(MEDIA_FILES MEDIA_UNIX)
elseif(WXQT)
wx_append_sources(MEDIA_FILES MEDIA_QT)
endif()
wx_add_library(media ${MEDIA_FILES})
if(WXOSX_COCOA)
# TODO: add version detection of some kind and/or wx_option
wx_lib_compile_definitions(media PRIVATE -DwxOSX_USE_QTKIT=0)
wx_lib_link_libraries(media PUBLIC
wx_add_library(wxmedia ${MEDIA_FILES})
if(WXOSX)
wx_lib_link_libraries(wxmedia PUBLIC
"-framework AVFoundation"
"-framework AVKit"
"-framework CoreMedia"
"-weak_framework AVKit"
)
elseif(UNIX)
wx_lib_include_directories(media PUBLIC ${GSTREAMER_INCLUDE_DIRS})
elseif(WXGTK)
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_INCLUDE_DIRS})
if(GSTREAMER_INTERFACES_INCLUDE_DIRS)
wx_lib_include_directories(media PUBLIC ${GSTREAMER_INTERFACES_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_INTERFACES_INCLUDE_DIRS})
endif()
if(GSTREAMER_VIDEO_INCLUDE_DIRS)
wx_lib_include_directories(media PUBLIC ${GSTREAMER_VIDEO_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_VIDEO_INCLUDE_DIRS})
endif()
if(GSTREAMER_PLAYER_INCLUDE_DIRS)
wx_lib_include_directories(media PUBLIC ${GSTREAMER_PLAYER_INCLUDE_DIRS})
wx_lib_include_directories(wxmedia PUBLIC ${GSTREAMER_PLAYER_INCLUDE_DIRS})
endif()
wx_lib_link_libraries(media PUBLIC ${GSTREAMER_LIBRARIES})
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_LIBRARIES})
if(GSTREAMER_INTERFACES_LIBRARIES)
wx_lib_link_libraries(media PUBLIC ${GSTREAMER_INTERFACES_LIBRARIES})
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_INTERFACES_LIBRARIES})
endif()
if(GSTREAMER_VIDEO_LIBRARIES)
wx_lib_link_libraries(media PUBLIC ${GSTREAMER_VIDEO_LIBRARIES})
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_VIDEO_LIBRARIES})
endif()
if(GSTREAMER_PLAYER_LIBRARIES)
wx_lib_link_libraries(media PUBLIC ${GSTREAMER_PLAYER_LIBRARIES})
wx_lib_link_libraries(wxmedia PUBLIC ${GSTREAMER_PLAYER_LIBRARIES})
endif()
endif()
wx_finalize_lib(media)
wx_finalize_lib(wxmedia)

View File

@@ -21,21 +21,21 @@ if(UNIX AND NOT WIN32)
wx_append_sources(NET_FILES NET_UNIX)
endif()
wx_add_library(net IS_BASE ${NET_FILES})
wx_add_library(wxnet IS_BASE ${NET_FILES})
if(WIN32)
wx_lib_link_libraries(net PRIVATE ws2_32)
wx_lib_link_libraries(wxnet PRIVATE ws2_32)
if(wxUSE_WEBREQUEST_WINHTTP)
wx_lib_link_libraries(net PRIVATE Winhttp)
wx_lib_link_libraries(wxnet PRIVATE Winhttp)
endif()
endif()
if (wxUSE_WEBREQUEST_CURL)
find_package(CURL REQUIRED)
target_include_directories(net PRIVATE ${CURL_INCLUDE_DIRS})
wx_lib_link_libraries(net PRIVATE ${CURL_LIBRARIES})
target_include_directories(wxnet PRIVATE ${CURL_INCLUDE_DIRS})
wx_lib_link_libraries(wxnet PRIVATE ${CURL_LIBRARIES})
endif()
wx_finalize_lib(net)
wx_finalize_lib(wxnet)

View File

@@ -8,6 +8,16 @@
#############################################################################
if(wxUSE_LIBPNG STREQUAL "builtin")
# TODO: implement building libpng via its CMake file, using
# add_subdirectory or ExternalProject_Add
if(NOT MSVC)
set(PNG_EXTRA_SOURCES
src/png/mips/filter_msa_intrinsics.c
src/png/mips/mips_init.c
src/png/powerpc/filter_vsx_intrinsics.c
src/png/powerpc/powerpc_init.c
)
endif()
wx_add_builtin_library(wxpng
src/png/png.c
src/png/pngerror.c
@@ -24,6 +34,12 @@ if(wxUSE_LIBPNG STREQUAL "builtin")
src/png/pngwrite.c
src/png/pngwtran.c
src/png/pngwutil.c
src/png/arm/arm_init.c
src/png/arm/filter_neon_intrinsics.c
src/png/arm/palette_neon_intrinsics.c
src/png/intel/intel_init.c
src/png/intel/filter_sse2_intrinsics.c
${PNG_EXTRA_SOURCES}
)
if(WIN32)
# define this to get rid of a warning about using POSIX lfind():
@@ -32,6 +48,7 @@ if(wxUSE_LIBPNG STREQUAL "builtin")
# http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101278
target_compile_definitions(wxpng PRIVATE _CRT_NONSTDC_NO_WARNINGS)
endif()
target_compile_definitions(wxpng PRIVATE PNG_INTEL_SSE)
target_include_directories(wxpng PRIVATE ${ZLIB_INCLUDE_DIRS})
target_link_libraries(wxpng PRIVATE ${ZLIB_LIBRARIES})
set(PNG_LIBRARIES wxpng)

View File

@@ -11,6 +11,6 @@ include(../../source_groups.cmake)
wx_append_sources(PROPGRID_FILES PROPGRID)
wx_add_library(propgrid ${PROPGRID_FILES})
wx_add_library(wxpropgrid ${PROPGRID_FILES})
wx_finalize_lib(propgrid)
wx_finalize_lib(wxpropgrid)

View File

@@ -11,7 +11,7 @@ include(../../source_groups.cmake)
wx_append_sources(QA_FILES QA)
wx_add_library(qa ${QA_FILES})
wx_lib_link_libraries(qa PUBLIC xml)
wx_add_library(wxqa ${QA_FILES})
wx_lib_link_libraries(wxqa PUBLIC wxxml)
wx_finalize_lib(qa)
wx_finalize_lib(wxqa)

View File

@@ -8,7 +8,6 @@
#############################################################################
if(wxUSE_REGEX)
# TODO: Forcing builtin until sys is implemented
set(wxUSE_REGEX builtin)
wx_add_builtin_library(wxregex
src/regex/regcomp.c
@@ -20,5 +19,3 @@ if(wxUSE_REGEX)
set(REGEX_LIBRARIES wxregex)
set(REGEX_INCLUDE_DIRS ${wxSOURCE_DIR}/src/regex)
endif()
#TODO: find external lib and include dir

View File

@@ -11,6 +11,6 @@ include(../../source_groups.cmake)
wx_append_sources(RIBBON_FILES RIBBON)
wx_add_library(ribbon ${RIBBON_FILES})
wx_add_library(wxribbon ${RIBBON_FILES})
wx_finalize_lib(ribbon)
wx_finalize_lib(wxribbon)

View File

@@ -11,7 +11,7 @@ include(../../source_groups.cmake)
wx_append_sources(RICHTEXT_FILES RICHTEXT)
wx_add_library(richtext ${RICHTEXT_FILES})
wx_lib_link_libraries(richtext PRIVATE html xml)
wx_add_library(wxrichtext ${RICHTEXT_FILES})
wx_lib_link_libraries(wxrichtext PRIVATE wxhtml wxxml)
wx_finalize_lib(richtext)
wx_finalize_lib(wxrichtext)

View File

@@ -9,7 +9,11 @@
include(../../source_groups.cmake)
wx_append_sources(STC_FILES STC)
wx_append_sources(STC_FILES STC_CMN)
if(WXOSX_COCOA)
wx_append_sources(STC_FILES STC_OSX_COCOA)
endif()
wx_add_builtin_library(wxscintilla
src/stc/scintilla/lexers/LexA68k.cxx
@@ -163,6 +167,8 @@ target_include_directories(wxscintilla PRIVATE
target_compile_definitions(wxscintilla PUBLIC
NO_CXX11_REGEX
__WX__
SCI_LEXER
LINK_LEXERS
)
if(wxBUILD_PRECOMP)
@@ -170,22 +176,27 @@ if(wxBUILD_PRECOMP)
# standard c++ headers when using clang.
# Do not disable precompiled headers entirely but use the main Scintilla
# header as prefix header so there is at least a small speedup.
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(wxSCINTILLA_PREC_HEADER "${wxSOURCE_DIR}/src/stc/scintilla/include/Scintilla.h")
endif()
wx_target_enable_precomp(wxscintilla ${wxSCINTILLA_PREC_HEADER})
endif()
wx_add_library(stc ${STC_FILES})
wx_lib_include_directories(stc PRIVATE
wx_add_library(wxstc ${STC_FILES})
wx_lib_include_directories(wxstc PRIVATE
${wxSOURCE_DIR}/src/stc/scintilla/include
${wxSOURCE_DIR}/src/stc/scintilla/lexlib
${wxSOURCE_DIR}/src/stc/scintilla/src
)
wx_lib_compile_definitions(stc PRIVATE
wx_lib_compile_definitions(wxstc PRIVATE
NO_CXX11_REGEX
__WX__
SCI_LEXER
LINK_LEXERS
)
wx_lib_link_libraries(stc PRIVATE wxscintilla)
wx_lib_link_libraries(wxstc PRIVATE wxscintilla)
if(WXMSW)
wx_lib_link_libraries(wxstc PRIVATE imm32)
endif()
wx_finalize_lib(stc)
wx_finalize_lib(wxstc)

View File

@@ -8,13 +8,8 @@
#############################################################################
if(wxUSE_LIBTIFF STREQUAL "builtin")
# TODO: implement building libtiff via ExternalProject_Add()
if(UNIX AND NOT APPLE)
message(WARNING "Builtin libtiff on unix is currently not supported")
wx_option_force_value(wxUSE_LIBTIFF OFF)
return()
endif()
# TODO: implement building libtiff via its CMake file, using
# add_subdirectory or ExternalProject_Add
if(WIN32)
set(TIFF_PLATFORM_SRC src/tiff/libtiff/tif_win32.c)
elseif(UNIX)

View File

@@ -23,61 +23,77 @@ elseif(APPLE)
wx_append_sources(WEBVIEW_FILES WEBVIEW_OSX_SHARED)
endif()
wx_add_library(webview ${WEBVIEW_FILES})
wx_add_library(wxwebview ${WEBVIEW_FILES})
if(WXGTK AND wxUSE_WEBVIEW_WEBKIT2)
set(WX_WEB_EXTENSIONS_DIRECTORY "lib/wx/${wxMAJOR_VERSION}.${wxMINOR_VERSION}/web-extensions")
wx_lib_compile_definitions(webview PRIVATE
-DWX_WEB_EXTENSIONS_DIRECTORY="${CMAKE_INSTALL_PREFIX}/${WX_WEB_EXTENSIONS_DIRECTORY}"
)
if(wxVERSION_IS_DEV)
set(WX_WEB_EXTENSIONS_DIRECTORY "lib/wx/${wxMAJOR_VERSION}.${wxMINOR_VERSION}.${wxRELEASE_NUMBER}/web-extensions")
else()
set(WX_WEB_EXTENSIONS_DIRECTORY "lib/wx/${wxMAJOR_VERSION}.${wxMINOR_VERSION}/web-extensions")
endif()
endif()
if(APPLE)
wx_lib_link_libraries(webview PUBLIC "-framework WebKit")
wx_lib_link_libraries(wxwebview PUBLIC "-framework WebKit")
elseif(WXMSW)
if(wxUSE_WEBVIEW_EDGE)
wx_lib_include_directories(wxwebview PRIVATE "${PROJECT_SOURCE_DIR}/3rdparty/webview2/build/native/include")
if (CMAKE_SIZEOF_VOID_P EQUAL 4)
set(WEBVIEW2_ARCH x86)
else()
set(WEBVIEW2_ARCH x64)
endif()
add_custom_command(TARGET wxwebview POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"${PROJECT_SOURCE_DIR}/3rdparty/webview2/build/native/${WEBVIEW2_ARCH}/WebView2Loader.dll"
"$<TARGET_FILE_DIR:wxwebview>/WebView2Loader.dll")
endif()
elseif(WXGTK)
if(LIBSOUP_FOUND)
wx_lib_include_directories(webview PUBLIC ${LIBSOUP_INCLUDE_DIRS})
wx_lib_link_libraries(webview PUBLIC ${LIBSOUP_LIBRARIES})
wx_lib_include_directories(wxwebview PUBLIC ${LIBSOUP_INCLUDE_DIRS})
wx_lib_link_libraries(wxwebview PUBLIC ${LIBSOUP_LIBRARIES})
endif()
if(wxUSE_WEBVIEW_WEBKIT2)
wx_lib_include_directories(webview PUBLIC ${WEBKIT2_INCLUDE_DIR})
wx_lib_link_libraries(webview PUBLIC ${WEBKIT2_LIBRARIES})
wx_lib_include_directories(wxwebview PUBLIC ${WEBKIT2_INCLUDE_DIR})
wx_lib_link_libraries(wxwebview PUBLIC ${WEBKIT2_LIBRARIES})
elseif(wxUSE_WEBVIEW_WEBKIT)
wx_lib_include_directories(webview PUBLIC ${WEBKIT_INCLUDE_DIR})
wx_lib_link_libraries(webview PUBLIC ${WEBKIT_LIBRARIES})
wx_lib_include_directories(wxwebview PUBLIC ${WEBKIT_INCLUDE_DIR})
wx_lib_link_libraries(wxwebview PUBLIC ${WEBKIT_LIBRARIES})
endif()
endif()
wx_finalize_lib(webview)
wx_finalize_lib(wxwebview)
# webkit extension plugin
# we can't use (all of the) macros and functions because this library should
# always be build as a shared libary, and not included in the monolithic build.
if(WXGTK AND wxUSE_WEBVIEW_WEBKIT2)
wx_append_sources(WEBKIT2_EXT_FILES WEBVIEW_WEBKIT2_EXTENSION)
add_library(webkit2_ext SHARED ${WEBKIT2_EXT_FILES})
wx_set_target_properties(webkit2_ext false)
add_library(wxwebkit2_ext SHARED ${WEBKIT2_EXT_FILES})
wx_set_target_properties(wxwebkit2_ext false)
# Change output name to match expected name in webview_webkit2.cpp: webkit2_ext*
if(wxUSE_UNICODE)
set(lib_unicode u)
endif()
set_target_properties(webkit2_ext PROPERTIES PREFIX "")
set_target_properties(webkit2_ext PROPERTIES
set_target_properties(wxwebkit2_ext PROPERTIES PREFIX "")
set_target_properties(wxwebkit2_ext PROPERTIES
OUTPUT_NAME "webkit2_ext${lib_unicode}-${wxMAJOR_VERSION}.${wxMINOR_VERSION}"
OUTPUT_NAME_DEBUG "webkit2_ext${lib_unicode}d-${wxMAJOR_VERSION}.${wxMINOR_VERSION}"
)
target_include_directories(webkit2_ext PUBLIC
target_include_directories(wxwebkit2_ext PUBLIC
${LIBSOUP_INCLUDE_DIRS}
${WEBKIT2_INCLUDE_DIR}
)
target_link_libraries(webkit2_ext PUBLIC
target_link_libraries(wxwebkit2_ext PUBLIC
${LIBSOUP_LIBRARIES}
${WEBKIT2_LIBRARIES}
)
wx_install(TARGETS webkit2_ext LIBRARY DESTINATION ${WX_WEB_EXTENSIONS_DIRECTORY})
wx_install(TARGETS wxwebkit2_ext LIBRARY DESTINATION ${WX_WEB_EXTENSIONS_DIRECTORY})
add_dependencies(webview webkit2_ext)
add_dependencies(wxwebview wxwebkit2_ext)
endif()

View File

@@ -10,8 +10,8 @@
include(../../source_groups.cmake)
wx_append_sources(XML_FILES XML)
wx_add_library(xml IS_BASE ${XML_FILES})
wx_lib_link_libraries(xml PRIVATE ${EXPAT_LIBRARIES})
wx_lib_include_directories(xml PRIVATE ${EXPAT_INCLUDE_DIRS})
wx_add_library(wxxml IS_BASE ${XML_FILES})
wx_lib_link_libraries(wxxml PRIVATE ${EXPAT_LIBRARIES})
wx_lib_include_directories(wxxml PRIVATE ${EXPAT_INCLUDE_DIRS})
wx_finalize_lib(xml)
wx_finalize_lib(wxxml)

View File

@@ -11,7 +11,7 @@ include(../../source_groups.cmake)
wx_append_sources(XRC_FILES XRC)
wx_add_library(xrc ${XRC_FILES})
wx_lib_link_libraries(xrc PRIVATE html xml)
wx_add_library(wxxrc ${XRC_FILES})
wx_lib_link_libraries(wxxrc PRIVATE wxhtml wxxml)
wx_finalize_lib(xrc)
wx_finalize_lib(wxxrc)

View File

@@ -8,6 +8,8 @@
#############################################################################
if(wxUSE_ZLIB STREQUAL "builtin")
# TODO: implement building zlib via its CMake file, using
# add_subdirectory or ExternalProject_Add
wx_add_builtin_library(wxzlib
src/zlib/adler32.c
src/zlib/compress.c