CMake: fix and add more options

Don't overwrite options in setup.cmake.
Align text in summary message.

Always set wxUSE_XRC to values of wxUSE_XRC, same as in setup.h.
Disable wxUSE_XRC when expat is disabled.
This commit is contained in:
Maarten Bent
2018-01-27 14:28:23 +01:00
parent 90369e9632
commit e6b9b571ab
4 changed files with 56 additions and 48 deletions

View File

@@ -119,18 +119,24 @@ set(wxUSE_STD_DEFAULT ON)
if(wxUSE_UNICODE) if(wxUSE_UNICODE)
set(wxUSE_WCHAR_T ON) set(wxUSE_WCHAR_T ON)
endif() endif()
if(wxUSE_EXPAT) if(NOT wxUSE_EXPAT)
set(wxUSE_XML ON) set(wxUSE_XRC OFF)
else()
set(wxUSE_XML OFF)
endif() endif()
set(wxUSE_XML ${wxUSE_XRC})
if(wxUSE_CONFIG) if(wxUSE_CONFIG)
set(wxUSE_CONFIG_NATIVE ON) set(wxUSE_CONFIG_NATIVE ON)
endif() endif()
if(DEFINED wxUSE_OLE AND wxUSE_OLE) if(DEFINED wxUSE_OLE AND wxUSE_OLE)
set(wxUSE_OLE_AUTOMATION ON) set(wxUSE_OLE_AUTOMATION ON)
set(wxUSE_ACTIVEX ON) endif()
if(DEFINED wxUSE_GRAPHICS_DIRECT2D AND NOT wxUSE_GRAPHICS_CONTEXT)
set(wxUSE_GRAPHICS_DIRECT2D OFF)
endif()
if(wxUSE_OPENGL)
set(wxUSE_GLCANVAS ON)
endif() endif()
if(wxUSE_THREADS) if(wxUSE_THREADS)
@@ -138,22 +144,11 @@ if(wxUSE_THREADS)
endif() endif()
if(wxUSE_GUI) if(wxUSE_GUI)
# Constants for GUI
set(wxUSE_COMMON_DIALOGS ON)
if(wxUSE_TASKBARICON)
set(wxUSE_TASKBARICON_BALLOONS ON)
endif()
if(WIN32 AND wxUSE_METAFILE) if(WIN32 AND wxUSE_METAFILE)
# this one should probably be made separately configurable # this one should probably be made separately configurable
set(wxUSE_ENH_METAFILE ON) set(wxUSE_ENH_METAFILE ON)
endif() endif()
if(wxUSE_IMAGE)
set(wxUSE_WXDIB ON)
endif()
if(wxUSE_OPENGL) if(wxUSE_OPENGL)
find_package(OpenGL) find_package(OpenGL)
if(NOT OPENGL_FOUND) if(NOT OPENGL_FOUND)

View File

@@ -67,9 +67,9 @@ wx_print_thirdparty_library_summary()
message(STATUS "Configured wxWidgets ${wxVERSION} for ${CMAKE_SYSTEM} message(STATUS "Configured wxWidgets ${wxVERSION} for ${CMAKE_SYSTEM}
Min OS Version required at runtime: ${wxREQUIRED_OS_DESC} Min OS Version required at runtime: ${wxREQUIRED_OS_DESC}
Which GUI toolkit should wxWidgets use?: ${wxBUILD_TOOLKIT} ${wxTOOLKIT_VERSION} Which GUI toolkit should wxWidgets use? ${wxBUILD_TOOLKIT} ${wxTOOLKIT_VERSION}
Should wxWidgets be compiled into single library? ${wxBUILD_MONOLITHIC} Should wxWidgets be compiled into single library? ${wxBUILD_MONOLITHIC}
Should wxWidgets be linked as a shared library? ${wxBUILD_SHARED} Should wxWidgets be linked as a shared library? ${wxBUILD_SHARED}
Should wxWidgets support Unicode? ${wxUSE_UNICODE} Should wxWidgets support Unicode? ${wxUSE_UNICODE}
What level of wxWidgets compatibility should be enabled? ${wxBUILD_COMPATIBILITY}" What wxWidgets compatibility level should be used? ${wxBUILD_COMPATIBILITY}"
) )

View File

@@ -47,11 +47,13 @@ wx_dependent_option(wxUSE_STD_CONTAINERS "use standard C++ container classes" OF
wx_option(wxUSE_UNICODE "compile with Unicode support (NOT RECOMMENDED to be turned off)") wx_option(wxUSE_UNICODE "compile with Unicode support (NOT RECOMMENDED to be turned off)")
if(NOT WIN32) if(NOT WIN32)
wx_option(wxUSE_UNICODE_UTF8 "use UTF-8 representation for strings (Unix only)" OFF) wx_option(wxUSE_UNICODE_UTF8 "use UTF-8 representation for strings (Unix only)" OFF)
wx_dependent_option(wxUSE_UNICODE_UTF8_LOCALE "only support UTF-8 locales in UTF-8 build (Unix only)" ON "wxUSE_UNICODE_UTF8" OFF) wx_dependent_option(wxUSE_UTF8_LOCALE_ONLY "only support UTF-8 locales in UTF-8 build (Unix only)" ON "wxUSE_UNICODE_UTF8" OFF)
endif() endif()
wx_option(wxUSE_COMPILER_TLS "enable use of compiler TLS support") wx_option(wxUSE_COMPILER_TLS "enable use of compiler TLS support")
wx_option(wxUSE_VISIBILITY "use of ELF symbols visibility") wx_option(wxUSE_VISIBILITY "use of ELF symbols visibility")
wx_option(wxUSE_UNSAFE_WXSTRING_CONV "provide unsafe implicit conversions in wxString to const char* or std::string")
wx_option(wxUSE_REPRODUCIBLE_BUILD "enable reproducable build" OFF)
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# external libraries # external libraries
@@ -70,10 +72,6 @@ wx_option(wxUSE_INTL "use internationalization system")
wx_option(wxUSE_XLOCALE "use x-locale support (requires wxLocale)") wx_option(wxUSE_XLOCALE "use x-locale support (requires wxLocale)")
wx_option(wxUSE_CONFIG "use wxConfig (and derived) classes") wx_option(wxUSE_CONFIG "use wxConfig (and derived) classes")
wx_option(wxUSE_PROTOCOL "use wxProtocol and derived classes")
wx_option(wxUSE_PROTOCOL_FTP "use wxFTP (requires wxProtocol")
wx_option(wxUSE_PROTOCOL_HTTP "use wxHTTP (requires wxProtocol")
wx_option(wxUSE_PROTOCOL_FILE "use wxFileProto class (requires wxProtocol")
wx_option(wxUSE_SOCKETS "use socket/network classes") wx_option(wxUSE_SOCKETS "use socket/network classes")
wx_option(wxUSE_IPV6 "enable IPv6 support in wxSocket") wx_option(wxUSE_IPV6 "enable IPv6 support in wxSocket")
if(WIN32) if(WIN32)
@@ -163,6 +161,7 @@ wx_option(wxUSE_MS_HTML_HELP "use MS HTML Help (win32)")
wx_option(wxUSE_HTML "use wxHTML sub-library") wx_option(wxUSE_HTML "use wxHTML sub-library")
wx_option(wxUSE_WXHTML_HELP "use wxHTML-based help") wx_option(wxUSE_WXHTML_HELP "use wxHTML-based help")
wx_option(wxUSE_XRC "use XRC resources sub-library") wx_option(wxUSE_XRC "use XRC resources sub-library")
wx_option(wxUSE_XML "use the xml library (overruled by wxUSE_XRC)")
wx_option(wxUSE_AUI "use AUI docking library") wx_option(wxUSE_AUI "use AUI docking library")
wx_option(wxUSE_PROPGRID "use wxPropertyGrid library") wx_option(wxUSE_PROPGRID "use wxPropertyGrid library")
wx_option(wxUSE_RIBBON "use wxRibbon library") wx_option(wxUSE_RIBBON "use wxRibbon library")
@@ -170,16 +169,19 @@ wx_option(wxUSE_STC "use wxStyledTextCtrl library")
wx_option(wxUSE_CONSTRAINTS "use layout-constraints system") wx_option(wxUSE_CONSTRAINTS "use layout-constraints system")
wx_option(wxUSE_LOGGUI "use standard GUI logger") wx_option(wxUSE_LOGGUI "use standard GUI logger")
wx_option(wxUSE_LOGWINDOW "use wxLogWindow") wx_option(wxUSE_LOGWINDOW "use wxLogWindow")
wx_option(wxUSE_LOGDIALOG "use wxLogDialog") wx_option(wxUSE_LOG_DIALOG "use wxLogDialog")
wx_option(wxUSE_MDI "use multiple document interface architecture") wx_option(wxUSE_MDI "use multiple document interface architecture")
wx_option(wxUSE_MDI_ARCHITECTURE "use docview architecture with MDI") wx_option(wxUSE_MDI_ARCHITECTURE "use docview architecture with MDI")
wx_option(wxUSE_MEDIACTRL "use wxMediaCtrl class") wx_option(wxUSE_MEDIACTRL "use wxMediaCtrl class")
wx_option(wxUSE_RICHTEXT "use wxRichTextCtrl") wx_option(wxUSE_RICHTEXT "use wxRichTextCtrl")
wx_option(wxUSE_POSTSCRIPT "use wxPostscriptDC device context (default for gtk+)") wx_option(wxUSE_POSTSCRIPT "use wxPostscriptDC device context (default for gtk+)")
wx_option(wxUSE_AFM_FOR_POSTSCRIPT "in wxPostScriptDC class use AFM (adobe font metrics) file for character widths")
wx_option(wxUSE_PRINTING_ARCHITECTURE "use printing architecture") wx_option(wxUSE_PRINTING_ARCHITECTURE "use printing architecture")
wx_option(wxUSE_SVG "use wxSVGFileDC device context") wx_option(wxUSE_SVG "use wxSVGFileDC device context")
wx_option(wxUSE_WEBKIT "use wxWebKitCtrl (Mac-only, use wxWebView instead)")
wx_option(wxUSE_WEBVIEW "use wxWebView library") wx_option(wxUSE_WEBVIEW "use wxWebView library")
if(APPLE)
wx_option(wxUSE_WEBKIT "use wxWebKitCtrl (Mac-only, use wxWebView instead)")
endif()
# wxDC is implemented in terms of wxGraphicsContext in wxOSX so the latter # wxDC is implemented in terms of wxGraphicsContext in wxOSX so the latter
# can't be disabled, don't even provide an option to do it # can't be disabled, don't even provide an option to do it
@@ -187,8 +189,18 @@ if(APPLE)
set(wxUSE_GRAPHICS_CONTEXT ON) set(wxUSE_GRAPHICS_CONTEXT ON)
else() else()
wx_option(wxUSE_GRAPHICS_CONTEXT "use graphics context 2D drawing API") wx_option(wxUSE_GRAPHICS_CONTEXT "use graphics context 2D drawing API")
if (WIN32 AND (NOT MSVC OR MSVC_VERSION LESS 1600))
wx_option(wxUSE_GRAPHICS_DIRECT2D "enable Direct2D graphics context" OFF)
endif()
endif() endif()
if(WXGTK)
set(wxUSE_CAIRO_DEFAULT ON)
else()
set(wxUSE_CAIRO_DEFAULT OFF)
endif()
wx_option(wxUSE_CAIRO "enable Cairo graphics context" ${wxUSE_CAIRO_DEFAULT})
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# IPC &c # IPC &c
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
@@ -291,7 +303,7 @@ wx_option(wxUSE_TREELISTCTRL "use wxTreeListCtrl class")
# common dialogs # common dialogs
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
wx_option(wxUSE_COMMONDLGS "use all common dialogs") wx_option(wxUSE_COMMON_DIALOGS "use all common dialogs")
wx_option(wxUSE_ABOUTDLG "use wxAboutBox") wx_option(wxUSE_ABOUTDLG "use wxAboutBox")
wx_option(wxUSE_CHOICEDLG "use wxChoiceDialog") wx_option(wxUSE_CHOICEDLG "use wxChoiceDialog")
wx_option(wxUSE_COLOURDLG "use wxColourDialog") wx_option(wxUSE_COLOURDLG "use wxColourDialog")
@@ -323,11 +335,18 @@ wx_option(wxUSE_JOYSTICK "use wxJoystick")
wx_option(wxUSE_METAFILE "use wxMetaFile") wx_option(wxUSE_METAFILE "use wxMetaFile")
wx_option(wxUSE_DRAGIMAGE "use wxDragImage") wx_option(wxUSE_DRAGIMAGE "use wxDragImage")
if(WIN32) if(WIN32)
wx_option(wxUSE_ACCESSIBILITY "enable accessibility support" ON) wx_option(wxUSE_ACCESSIBILITY "enable accessibility support")
endif() endif()
wx_option(wxUSE_UIACTIONSIMULATOR "use wxUIActionSimulator (experimental)") wx_option(wxUSE_UIACTIONSIMULATOR "use wxUIActionSimulator (experimental)")
wx_option(wxUSE_DC_TRANSFORM_MATRIX "use wxDC::SetTransformMatrix and related") wx_option(wxUSE_DC_TRANSFORM_MATRIX "use wxDC::SetTransformMatrix and related")
wx_option(wxUSE_WEBVIEW_WEBKIT "use wxWebView WebKit backend") wx_option(wxUSE_WEBVIEW_WEBKIT "use wxWebView WebKit backend")
# TODO: wxUSE_WEBVIEW_WEBKIT2
if(WIN32 OR APPLE)
set(wxUSE_PRIVATE_FONTS_DEFAULT ON)
else()
set(wxUSE_PRIVATE_FONTS_DEFAULT OFF)
endif()
wx_option(wxUSE_PRIVATE_FONTS "use fonts not installed on the system" ${wxUSE_PRIVATE_FONTS_DEFAULT})
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# support for image formats that do not rely on external library # support for image formats that do not rely on external library
@@ -341,19 +360,31 @@ wx_option(wxUSE_TGA "use tga images (TGA file format)")
wx_option(wxUSE_IFF "use iff images (IFF file format)") wx_option(wxUSE_IFF "use iff images (IFF file format)")
wx_option(wxUSE_PNM "use pnm images (PNM file format)") wx_option(wxUSE_PNM "use pnm images (PNM file format)")
wx_option(wxUSE_XPM "use xpm images (XPM file format)") wx_option(wxUSE_XPM "use xpm images (XPM file format)")
wx_option(wxUSE_ICO_CUR "_cur use Windows ICO and CUR formats") wx_option(wxUSE_ICO_CUR "use Windows ICO and CUR formats")
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# wxMSW-only options # wxMSW-only options
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
if(WIN32) if(WIN32)
wx_option(wxUSE_ACTIVEX " enable wxActiveXContainer class (Win32 only)")
wx_option(wxUSE_CRASHREPORT "enable wxCrashReport::Generate() to create mini dumps (Win32 only)")
wx_option(wxUSE_DC_CACHEING "cache temporary wxDC objects (Win32 only)") wx_option(wxUSE_DC_CACHEING "cache temporary wxDC objects (Win32 only)")
wx_option(wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW "use PS printing in wxMSW (Win32 only)") wx_option(wxUSE_NATIVE_PROGRESSDLG "use native progress dialog implementation")
wx_option(wxUSE_NATIVE_STATUSBAR "use native statusbar implementation)")
wx_option(wxUSE_OWNER_DRAWN "use owner drawn controls (Win32)") wx_option(wxUSE_OWNER_DRAWN "use owner drawn controls (Win32)")
wx_option(wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW "use PS printing in wxMSW (Win32 only)")
wx_option(wxUSE_TASKBARICON_BALLOONS "enable wxTaskBarIcon::ShowBalloon() method (Win32 only)")
wx_option(wxUSE_UXTHEME "enable support for Windows XP themed look (Win32 only)") wx_option(wxUSE_UXTHEME "enable support for Windows XP themed look (Win32 only)")
wx_option(wxUSE_DIB "use wxDIB class (Win32 only)")
wx_option(wxUSE_WEBVIEW_IE "use wxWebView IE backend (Win32 only)") wx_option(wxUSE_WEBVIEW_IE "use wxWebView IE backend (Win32 only)")
wx_option(wxUSE_WXDIB "use wxDIB class (Win32 only)")
if(MSVC_VERSION GREATER 1600 AND NOT CMAKE_VS_PLATFORM_TOOLSET MATCHES "_xp$")
set(wxUSE_WINRT_DEFAULT ON)
else()
set(wxUSE_WINRT_DEFAULT OFF)
endif()
wx_option(wxUSE_WINRT "enable WinRT support" ${wxUSE_WINRT_DEFAULT})
endif() endif()
# this one is not really MSW-specific but it exists mainly to be turned off # this one is not really MSW-specific but it exists mainly to be turned off

View File

@@ -471,24 +471,6 @@ endif() # CMAKE_USE_PTHREADS_INIT
check_symbol_exists(localtime_r time.h HAVE_LOCALTIME_R) check_symbol_exists(localtime_r time.h HAVE_LOCALTIME_R)
check_symbol_exists(gmtime_r time.h HAVE_GMTIME_R) check_symbol_exists(gmtime_r time.h HAVE_GMTIME_R)
if(WXMSW)
set(wxUSE_WEBVIEW_IE ON)
elseif(WXGTK OR APPLE)
set(wxUSE_WEBVIEW_WEBKIT ON)
endif()
if(MSVC)
set(wxUSE_GRAPHICS_CONTEXT ON)
endif()
if(MSVC_VERSION GREATER 1600 AND NOT CMAKE_VS_PLATFORM_TOOLSET MATCHES "_xp$")
set(wxUSE_WINRT ON)
endif()
if(wxUSE_OPENGL)
set(wxUSE_GLCANVAS ON)
endif()
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Checks for typedefs # Checks for typedefs
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------