1############################################################################# 2# Name: build/cmake/options.cmake 3# Purpose: User selectable build options 4# Author: Tobias Taschner 5# Created: 2016-09-24 6# Copyright: (c) 2016 wxWidgets development team 7# Licence: wxWindows licence 8############################################################################# 9 10# Global build options 11wx_option(wxBUILD_SHARED "Build wx libraries as shared libs" ${BUILD_SHARED_LIBS}) 12wx_option(wxBUILD_MONOLITHIC "build wxWidgets as single library" OFF) 13wx_option(wxBUILD_SAMPLES "Build only important samples (SOME) or ALL" OFF 14 STRINGS SOME ALL OFF) 15wx_option(wxBUILD_TESTS "Build console tests (CONSOLE_ONLY) or ALL" OFF 16 STRINGS CONSOLE_ONLY ALL OFF) 17wx_option(wxBUILD_DEMOS "Build demos" OFF) 18wx_option(wxBUILD_BENCHMARKS "Build benchmarks" OFF) 19wx_option(wxBUILD_PRECOMP "Use precompiled headers") 20mark_as_advanced(wxBUILD_PRECOMP) 21wx_option(wxBUILD_INSTALL "Create install/uninstall target for wxWidgets") 22wx_option(wxBUILD_COMPATIBILITY 23 "enable compatibilty with earlier wxWidgets versions" 3.0 STRINGS 2.8 3.0 3.1) 24mark_as_advanced(wxBUILD_COMPATIBILITY) 25# Allow user specified setup.h folder 26set(wxBUILD_CUSTOM_SETUP_HEADER_PATH "" CACHE PATH "Include path containing custom wx/setup.h") 27mark_as_advanced(wxBUILD_CUSTOM_SETUP_HEADER_PATH) 28 29if(WIN32) 30 wx_option(wxUSE_DPI_AWARE_MANIFEST "DPI Awareness" "per-monitor" STRINGS "none" "system" "per-monitor") 31endif() 32 33wx_option(wxBUILD_DEBUG_LEVEL "Debug Level" Default STRINGS Default 0 1 2) 34mark_as_advanced(wxBUILD_DEBUG_LEVEL) 35 36if(NOT APPLE) 37 wx_option(wxBUILD_USE_STATIC_RUNTIME "Link using the static runtime library" OFF) 38 mark_as_advanced(wxBUILD_USE_STATIC_RUNTIME) 39endif() 40 41if(MSVC) 42 wx_option(wxBUILD_MSVC_MULTIPROC "Enable multi-processor compilation for MSVC") 43 mark_as_advanced(wxBUILD_MSVC_MULTIPROC) 44endif() 45 46if(NOT MSVC OR MSVC_VERSION GREATER 1800) 47 # support setting the C++ standard, present it an option to the user 48 if(DEFINED CMAKE_CXX_STANDARD) 49 set(wxCXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD}) 50 else() 51 set(wxCXX_STANDARD_DEFAULT COMPILER_DEFAULT) 52 endif() 53 wx_option(wxBUILD_CXX_STANDARD "C++ standard used to build wxWidgets targets" 54 ${wxCXX_STANDARD_DEFAULT} STRINGS COMPILER_DEFAULT 98 11 14 17 20) 55endif() 56 57if(WIN32) 58 set(wxBUILD_VENDOR "custom" CACHE STRING "Short string identifying your company (used in DLL name)") 59endif() 60set(wxBUILD_FLAVOUR "" CACHE STRING "Specify a name to identify the build") 61mark_as_advanced(wxBUILD_FLAVOUR) 62 63wx_option(wxBUILD_OPTIMISE "use speed-optimised C/C++ compiler flags for release build" OFF) 64mark_as_advanced(wxBUILD_OPTIMISE) 65if(MSVC) 66 set(wxBUILD_STRIPPED_RELEASE_DEFAULT OFF) 67else() 68 set(wxBUILD_STRIPPED_RELEASE_DEFAULT ON) 69endif() 70wx_option(wxBUILD_STRIPPED_RELEASE "remove debug symbols in release build" ${wxBUILD_STRIPPED_RELEASE_DEFAULT}) 71mark_as_advanced(wxBUILD_STRIPPED_RELEASE) 72wx_option(wxBUILD_PIC "Enable position independent code (PIC)." ON) 73mark_as_advanced(wxBUILD_PIC) 74wx_option(wxUSE_NO_RTTI "disable RTTI support" OFF) 75 76# STL options 77wx_option(wxUSE_STL "use standard C++ classes for everything" OFF) 78set(wxTHIRD_PARTY_LIBRARIES ${wxTHIRD_PARTY_LIBRARIES} wxUSE_STL "use C++ STL classes") 79wx_dependent_option(wxUSE_STD_CONTAINERS "use standard C++ container classes" ON "wxUSE_STL" OFF) 80 81wx_option(wxUSE_UNICODE "compile with Unicode support (NOT RECOMMENDED to be turned off)") 82if(NOT WIN32) 83 wx_option(wxUSE_UNICODE_UTF8 "use UTF-8 representation for strings (Unix only)" OFF) 84 wx_dependent_option(wxUSE_UTF8_LOCALE_ONLY "only support UTF-8 locales in UTF-8 build (Unix only)" ON "wxUSE_UNICODE_UTF8" OFF) 85endif() 86 87wx_option(wxUSE_COMPILER_TLS "enable use of compiler TLS support") 88if(NOT WIN32) 89 wx_option(wxUSE_VISIBILITY "use of ELF symbols visibility") 90endif() 91wx_option(wxUSE_UNSAFE_WXSTRING_CONV "provide unsafe implicit conversions in wxString to const char* or std::string") 92wx_option(wxUSE_REPRODUCIBLE_BUILD "enable reproducable build" OFF) 93 94# --------------------------------------------------------------------------- 95# external libraries 96# --------------------------------------------------------------------------- 97 98wx_add_thirdparty_library(wxUSE_REGEX REGEX "enable support for wxRegEx class" DEFAULT builtin) 99wx_add_thirdparty_library(wxUSE_ZLIB ZLIB "use zlib for LZW compression" DEFAULT_APPLE sys) 100wx_add_thirdparty_library(wxUSE_EXPAT EXPAT "use expat for XML parsing" DEFAULT_APPLE sys) 101wx_add_thirdparty_library(wxUSE_LIBJPEG JPEG "use libjpeg (JPEG file format)") 102wx_add_thirdparty_library(wxUSE_LIBPNG PNG "use libpng (PNG image format)") 103wx_add_thirdparty_library(wxUSE_LIBTIFF TIFF "use libtiff (TIFF file format)") 104 105wx_option(wxUSE_LIBLZMA "use LZMA compression" OFF) 106set(wxTHIRD_PARTY_LIBRARIES ${wxTHIRD_PARTY_LIBRARIES} wxUSE_LIBLZMA "use liblzma for LZMA compression") 107 108wx_option(wxUSE_OPENGL "use OpenGL (or Mesa)") 109 110if(UNIX) 111 wx_option(wxUSE_LIBSDL "use SDL for audio on Unix") 112 wx_option(wxUSE_LIBICONV "use libiconv (character conversion)") 113 wx_option(wxUSE_LIBNOTIFY "use libnotify for notifications") 114 wx_option(wxUSE_XTEST "use XTest extension") 115 wx_option(wxUSE_LIBMSPACK "use libmspack (CHM help files loading)") 116 wx_option(wxUSE_LIBGNOMEVFS "use GNOME VFS for associating MIME types") 117 wx_option(wxUSE_GLCANVAS_EGL "use EGL backend for wxGLCanvas") 118 119 set(wxTHIRD_PARTY_LIBRARIES ${wxTHIRD_PARTY_LIBRARIES} wxUSE_LIBSDL "use SDL for audio on Unix") 120 set(wxTHIRD_PARTY_LIBRARIES ${wxTHIRD_PARTY_LIBRARIES} wxUSE_LIBMSPACK "use libmspack (CHM help files loading)") 121endif() 122 123# --------------------------------------------------------------------------- 124# optional non GUI features 125# --------------------------------------------------------------------------- 126wx_option(wxUSE_INTL "use internationalization system") 127wx_option(wxUSE_XLOCALE "use x-locale support (requires wxLocale)") 128wx_option(wxUSE_CONFIG "use wxConfig (and derived) classes") 129 130wx_option(wxUSE_SOCKETS "use socket/network classes") 131wx_option(wxUSE_IPV6 "enable IPv6 support in wxSocket") 132if(WIN32) 133 wx_option(wxUSE_OLE "use OLE classes") 134endif() 135wx_option(wxUSE_DATAOBJ "use data object classes") 136 137wx_option(wxUSE_IPC "use interprocess communication (wxSocket etc.)") 138 139wx_option(wxUSE_CONSOLE_EVENTLOOP "use event loop in console programs too") 140 141# please keep the settings below in alphabetical order 142wx_option(wxUSE_ANY "use wxAny class") 143wx_option(wxUSE_APPLE_IEEE "use the Apple IEEE codec") 144wx_option(wxUSE_ARCHIVE_STREAMS "use wxArchive streams") 145wx_option(wxUSE_BASE64 "use base64 encoding/decoding functions") 146wx_option(wxUSE_STACKWALKER "use wxStackWalker class for getting backtraces") 147wx_option(wxUSE_ON_FATAL_EXCEPTION "catch signals in wxApp::OnFatalException") 148wx_option(wxUSE_CMDLINE_PARSER "use wxCmdLineParser class") 149wx_option(wxUSE_DATETIME "use wxDateTime class") 150wx_option(wxUSE_DEBUGREPORT "use wxDebugReport class") 151if(APPLE) 152 set(wxUSE_DIALUP_MANAGER_DEFAULT OFF) 153else() 154 set(wxUSE_DIALUP_MANAGER_DEFAULT ON) 155endif() 156wx_option(wxUSE_DIALUP_MANAGER "use dialup network classes" ${wxUSE_DIALUP_MANAGER_DEFAULT}) 157wx_option(wxUSE_DYNLIB_CLASS "use wxLibrary class for DLL loading") 158wx_option(wxUSE_DYNAMIC_LOADER "use (new) wxDynamicLibrary class") 159wx_option(wxUSE_EXCEPTIONS "build exception-safe library") 160wx_option(wxUSE_EXTENDED_RTTI "use extended RTTI (XTI)" OFF) 161wx_option(wxUSE_FFILE "use wxFFile class") 162wx_option(wxUSE_FILE "use wxFile class") 163wx_option(wxUSE_FILE_HISTORY "use wxFileHistory class") 164wx_option(wxUSE_FILESYSTEM "use virtual file systems classes") 165wx_option(wxUSE_FONTENUM "use wxFontEnumerator class") 166wx_option(wxUSE_FONTMAP "use font encodings conversion classes") 167wx_option(wxUSE_FS_ARCHIVE "use virtual archive filesystems") 168wx_option(wxUSE_FS_INET "use virtual HTTP/FTP filesystems") 169wx_option(wxUSE_FS_ZIP "now replaced by fs_archive") 170wx_option(wxUSE_FSVOLUME "use wxFSVolume class") 171wx_option(wxUSE_FSWATCHER "use wxFileSystemWatcher class") 172wx_option(wxUSE_GEOMETRY "use geometry class") 173wx_option(wxUSE_LOG "use logging system") 174wx_option(wxUSE_LONGLONG "use wxLongLong class") 175wx_option(wxUSE_MIMETYPE "use wxMimeTypesManager") 176wx_option(wxUSE_PRINTF_POS_PARAMS "use wxVsnprintf() which supports positional parameters") 177wx_option(wxUSE_SECRETSTORE "use wxSecretStore class") 178wx_option(wxUSE_SNGLINST_CHECKER "use wxSingleInstanceChecker class") 179wx_option(wxUSE_SOUND "use wxSound class") 180wx_option(wxUSE_STDPATHS "use wxStandardPaths class") 181wx_option(wxUSE_STOPWATCH "use wxStopWatch class") 182wx_option(wxUSE_STREAMS "use wxStream etc classes") 183wx_option(wxUSE_SYSTEM_OPTIONS "use wxSystemOptions") 184wx_option(wxUSE_TARSTREAM "use wxTar streams") 185wx_option(wxUSE_TEXTBUFFER "use wxTextBuffer class") 186wx_option(wxUSE_TEXTFILE "use wxTextFile class") 187wx_option(wxUSE_TIMER "use wxTimer class") 188wx_option(wxUSE_VARIANT "use wxVariant class") 189 190# WebRequest options 191wx_option(wxUSE_WEBREQUEST "use wxWebRequest class") 192if(WIN32) 193 wx_option(wxUSE_WEBREQUEST_WINHTTP "use wxWebRequest WinHTTP backend") 194endif() 195if(APPLE) 196 wx_option(wxUSE_WEBREQUEST_URLSESSION "use wxWebRequest URLSession backend") 197endif() 198if(APPLE OR WIN32) 199 set(wxUSE_WEBREQUEST_CURL_DEFAULT OFF) 200else() 201 set(wxUSE_WEBREQUEST_CURL_DEFAULT ON) 202endif() 203wx_option(wxUSE_WEBREQUEST_CURL "use wxWebRequest libcurl backend" ${wxUSE_WEBREQUEST_CURL_DEFAULT}) 204 205wx_option(wxUSE_ZIPSTREAM "use wxZip streams") 206 207# URL-related classes 208wx_option(wxUSE_URL "use wxURL class") 209wx_option(wxUSE_PROTOCOL "use wxProtocol class") 210wx_option(wxUSE_PROTOCOL_HTTP "HTTP support in wxProtocol") 211wx_option(wxUSE_PROTOCOL_FTP "FTP support in wxProtocol") 212wx_option(wxUSE_PROTOCOL_FILE "FILE support in wxProtocol") 213 214wx_option(wxUSE_THREADS "use threads") 215 216if(WIN32) 217 if(MINGW) 218 #TODO: version check, as newer versions have no problem enabling this 219 set(wxUSE_DBGHELP_DEFAULT OFF) 220 else() 221 set(wxUSE_DBGHELP_DEFAULT ON) 222 endif() 223 wx_option(wxUSE_DBGHELP "use dbghelp.dll API" ${wxUSE_DBGHELP_DEFAULT}) 224 wx_option(wxUSE_INICONF "use wxIniConfig") 225 wx_option(wxUSE_WINSOCK2 "include <winsock2.h> rather than <winsock.h>" OFF) 226 wx_option(wxUSE_REGKEY "use wxRegKey class") 227endif() 228 229if(wxUSE_GUI) 230 231# --------------------------------------------------------------------------- 232# optional "big" GUI features 233# --------------------------------------------------------------------------- 234 235wx_option(wxUSE_DOC_VIEW_ARCHITECTURE "use document view architecture") 236wx_option(wxUSE_HELP "use help subsystem") 237wx_option(wxUSE_MS_HTML_HELP "use MS HTML Help (win32)") 238wx_option(wxUSE_HTML "use wxHTML sub-library") 239wx_option(wxUSE_WXHTML_HELP "use wxHTML-based help") 240wx_option(wxUSE_XRC "use XRC resources sub-library") 241wx_option(wxUSE_XML "use the xml library (overruled by wxUSE_XRC)") 242wx_option(wxUSE_AUI "use AUI docking library") 243wx_option(wxUSE_PROPGRID "use wxPropertyGrid library") 244wx_option(wxUSE_RIBBON "use wxRibbon library") 245wx_option(wxUSE_STC "use wxStyledTextCtrl library") 246wx_option(wxUSE_CONSTRAINTS "use layout-constraints system") 247wx_option(wxUSE_LOGGUI "use standard GUI logger") 248wx_option(wxUSE_LOGWINDOW "use wxLogWindow") 249wx_option(wxUSE_LOG_DIALOG "use wxLogDialog") 250wx_option(wxUSE_MDI "use multiple document interface architecture") 251wx_option(wxUSE_MDI_ARCHITECTURE "use docview architecture with MDI") 252wx_option(wxUSE_MEDIACTRL "use wxMediaCtrl class") 253wx_option(wxUSE_RICHTEXT "use wxRichTextCtrl") 254wx_option(wxUSE_POSTSCRIPT "use wxPostscriptDC device context (default for gtk+)") 255wx_option(wxUSE_AFM_FOR_POSTSCRIPT "in wxPostScriptDC class use AFM (adobe font metrics) file for character widths") 256wx_option(wxUSE_PRINTING_ARCHITECTURE "use printing architecture") 257wx_option(wxUSE_SVG "use wxSVGFileDC device context") 258wx_option(wxUSE_WEBVIEW "use wxWebView library") 259 260# wxDC is implemented in terms of wxGraphicsContext in wxOSX so the latter 261# can't be disabled, don't even provide an option to do it 262if(APPLE) 263 set(wxUSE_GRAPHICS_CONTEXT ON) 264else() 265 wx_option(wxUSE_GRAPHICS_CONTEXT "use graphics context 2D drawing API") 266 if(WIN32) 267 wx_option(wxUSE_GRAPHICS_DIRECT2D "enable Direct2D graphics context") 268 endif() 269endif() 270 271if(WXGTK) 272 set(wxUSE_CAIRO_DEFAULT ON) 273else() 274 set(wxUSE_CAIRO_DEFAULT OFF) 275endif() 276wx_option(wxUSE_CAIRO "enable Cairo graphics context" ${wxUSE_CAIRO_DEFAULT}) 277 278# --------------------------------------------------------------------------- 279# IPC &c 280# --------------------------------------------------------------------------- 281 282wx_option(wxUSE_CLIPBOARD "use wxClipboard class") 283wx_option(wxUSE_DRAG_AND_DROP "use Drag'n'Drop classes") 284 285# --------------------------------------------------------------------------- 286# optional GUI controls (in alphabetical order except the first one) 287# --------------------------------------------------------------------------- 288 289# don't set DEFAULT_wxUSE_XXX below if the option is not specified 290wx_option(wxUSE_CONTROLS "disable compilation of all standard controls") 291 292# features affecting multiple controls 293wx_option(wxUSE_MARKUP "support wxControl::SetLabelMarkup") 294 295# please keep the settings below in alphabetical order 296wx_option(wxUSE_ACCEL "use accelerators") 297wx_option(wxUSE_ACTIVITYINDICATOR "use wxActivityIndicator class") 298wx_option(wxUSE_ADDREMOVECTRL "use wxAddRemoveCtrl") 299wx_option(wxUSE_ANIMATIONCTRL "use wxAnimationCtrl class") 300wx_option(wxUSE_BANNERWINDOW "use wxBannerWindow class") 301wx_option(wxUSE_ARTPROVIDER_STD "use standard XPM icons in wxArtProvider") 302wx_option(wxUSE_ARTPROVIDER_TANGO "use Tango icons in wxArtProvider") 303wx_option(wxUSE_BMPBUTTON "use wxBitmapButton class") 304wx_option(wxUSE_BITMAPCOMBOBOX "use wxBitmapComboBox class") 305wx_option(wxUSE_BUTTON "use wxButton class") 306wx_option(wxUSE_CALENDARCTRL "use wxCalendarCtrl class") 307wx_option(wxUSE_CARET "use wxCaret class") 308wx_option(wxUSE_CHECKBOX "use wxCheckBox class") 309wx_option(wxUSE_CHECKLISTBOX "use wxCheckListBox (listbox with checkboxes) class") 310wx_option(wxUSE_CHOICE "use wxChoice class") 311wx_option(wxUSE_CHOICEBOOK "use wxChoicebook class") 312wx_option(wxUSE_COLLPANE "use wxCollapsiblePane class") 313wx_option(wxUSE_COLOURPICKERCTRL "use wxColourPickerCtrl class") 314wx_option(wxUSE_COMBOBOX "use wxComboBox class") 315wx_option(wxUSE_COMBOCTRL "use wxComboCtrl class") 316wx_option(wxUSE_COMMANDLINKBUTTON "use wxCommmandLinkButton class") 317wx_option(wxUSE_DATAVIEWCTRL "use wxDataViewCtrl class") 318wx_option(wxUSE_NATIVE_DATAVIEWCTRL "use the native wxDataViewCtrl if available") 319wx_option(wxUSE_DATEPICKCTRL "use wxDatePickerCtrl class") 320wx_option(wxUSE_DETECT_SM "use code to detect X11 session manager" OFF) 321wx_option(wxUSE_DIRPICKERCTRL "use wxDirPickerCtrl class") 322wx_option(wxUSE_DISPLAY "use wxDisplay class") 323wx_option(wxUSE_EDITABLELISTBOX "use wxEditableListBox class") 324wx_option(wxUSE_FILECTRL "use wxFileCtrl class") 325wx_option(wxUSE_FILEPICKERCTRL "use wxFilePickerCtrl class") 326wx_option(wxUSE_FONTPICKERCTRL "use wxFontPickerCtrl class") 327wx_option(wxUSE_GAUGE "use wxGauge class") 328wx_option(wxUSE_GRID "use wxGrid class") 329wx_option(wxUSE_HEADERCTRL "use wxHeaderCtrl class") 330wx_option(wxUSE_HYPERLINKCTRL "use wxHyperlinkCtrl class") 331wx_option(wxUSE_IMAGLIST "use wxImageList class") 332wx_option(wxUSE_INFOBAR "use wxInfoBar class") 333wx_option(wxUSE_LISTBOOK "use wxListbook class") 334wx_option(wxUSE_LISTBOX "use wxListBox class") 335wx_option(wxUSE_LISTCTRL "use wxListCtrl class") 336wx_option(wxUSE_NOTEBOOK "use wxNotebook class") 337wx_option(wxUSE_NOTIFICATION_MESSAGE "use wxNotificationMessage class") 338wx_option(wxUSE_ODCOMBOBOX "use wxOwnerDrawnComboBox class") 339wx_option(wxUSE_POPUPWIN "use wxPopUpWindow class") 340wx_option(wxUSE_PREFERENCES_EDITOR "use wxPreferencesEditor class") 341wx_option(wxUSE_RADIOBOX "use wxRadioBox class") 342wx_option(wxUSE_RADIOBTN "use wxRadioButton class") 343wx_option(wxUSE_RICHMSGDLG "use wxRichMessageDialog class") 344wx_option(wxUSE_RICHTOOLTIP "use wxRichToolTip class") 345wx_option(wxUSE_REARRANGECTRL "use wxRearrangeList/Ctrl/Dialog") 346wx_option(wxUSE_SASH "use wxSashWindow class") 347wx_option(wxUSE_SCROLLBAR "use wxScrollBar class and scrollable windows") 348wx_option(wxUSE_SEARCHCTRL "use wxSearchCtrl class") 349wx_option(wxUSE_SLIDER "use wxSlider class") 350wx_option(wxUSE_SPINBTN "use wxSpinButton class") 351wx_option(wxUSE_SPINCTRL "use wxSpinCtrl class") 352wx_option(wxUSE_SPLITTER "use wxSplitterWindow class") 353wx_option(wxUSE_STATBMP "use wxStaticBitmap class") 354wx_option(wxUSE_STATBOX "use wxStaticBox class") 355wx_option(wxUSE_STATLINE "use wxStaticLine class") 356wx_option(wxUSE_STATTEXT "use wxStaticText class") 357wx_option(wxUSE_STATUSBAR "use wxStatusBar class") 358wx_option(wxUSE_TASKBARBUTTON "use wxTaskBarButton class") 359wx_option(wxUSE_TASKBARICON "use wxTaskBarIcon class") 360wx_option(wxUSE_TOOLBAR_NATIVE "use native wxToolBar class") 361wx_option(wxUSE_TEXTCTRL "use wxTextCtrl class") 362if(wxUSE_TEXTCTRL) 363 # we don't have special switches to disable wxUSE_RICHEDIT[2], it doesn't 364 # seem useful to allow disabling them 365 set(wxUSE_RICHEDIT ON) 366 set(wxUSE_RICHEDIT2 ON) 367endif() 368wx_option(wxUSE_TIMEPICKCTRL "use wxTimePickerCtrl class") 369wx_option(wxUSE_TIPWINDOW "use wxTipWindow class") 370wx_option(wxUSE_TOGGLEBTN "use wxToggleButton class") 371wx_option(wxUSE_TOOLBAR "use wxToolBar class") 372wx_option(wxUSE_TOOLBOOK "use wxToolbook class") 373wx_option(wxUSE_TREEBOOK "use wxTreebook class") 374wx_option(wxUSE_TREECTRL "use wxTreeCtrl class") 375wx_option(wxUSE_TREELISTCTRL "use wxTreeListCtrl class") 376 377# --------------------------------------------------------------------------- 378# common dialogs 379# --------------------------------------------------------------------------- 380 381wx_option(wxUSE_COMMON_DIALOGS "use all common dialogs") 382wx_option(wxUSE_ABOUTDLG "use wxAboutBox") 383wx_option(wxUSE_CHOICEDLG "use wxChoiceDialog") 384wx_option(wxUSE_COLOURDLG "use wxColourDialog") 385wx_option(wxUSE_CREDENTIALDLG "use wxCredentialEntryDialog") 386wx_option(wxUSE_FILEDLG "use wxFileDialog") 387wx_option(wxUSE_FINDREPLDLG "use wxFindReplaceDialog") 388wx_option(wxUSE_FONTDLG "use wxFontDialog") 389wx_option(wxUSE_DIRDLG "use wxDirDialog") 390wx_option(wxUSE_MSGDLG "use wxMessageDialog") 391wx_option(wxUSE_NUMBERDLG "use wxNumberEntryDialog") 392wx_option(wxUSE_SPLASH "use wxSplashScreen") 393wx_option(wxUSE_TEXTDLG "use wxTextDialog") 394wx_option(wxUSE_STARTUP_TIPS "use startup tips") 395wx_option(wxUSE_PROGRESSDLG "use wxProgressDialog") 396wx_option(wxUSE_WIZARDDLG "use wxWizard") 397 398# --------------------------------------------------------------------------- 399# misc GUI options 400# --------------------------------------------------------------------------- 401 402wx_option(wxUSE_MENUS "use wxMenu and wxMenuItem classes") 403wx_option(wxUSE_MENUBAR "use wxMenuBar class") 404wx_option(wxUSE_MINIFRAME "use wxMiniFrame class") 405wx_option(wxUSE_TOOLTIPS "use wxToolTip class") 406wx_option(wxUSE_SPLINES "use spline drawing code") 407wx_option(wxUSE_MOUSEWHEEL "use mousewheel") 408wx_option(wxUSE_VALIDATORS "use wxValidator and derived classes") 409wx_option(wxUSE_BUSYINFO "use wxBusyInfo") 410wx_option(wxUSE_HOTKEY "use wxWindow::RegisterHotKey()") 411wx_option(wxUSE_JOYSTICK "use wxJoystick") 412wx_option(wxUSE_METAFILE "use wxMetaFile") 413wx_option(wxUSE_DRAGIMAGE "use wxDragImage") 414wx_option(wxUSE_UIACTIONSIMULATOR "use wxUIActionSimulator (experimental)") 415wx_option(wxUSE_DC_TRANSFORM_MATRIX "use wxDC::SetTransformMatrix and related") 416wx_option(wxUSE_WEBVIEW_WEBKIT "use wxWebView WebKit backend") 417if(WIN32 OR APPLE) 418 set(wxUSE_PRIVATE_FONTS_DEFAULT ON) 419else() 420 set(wxUSE_PRIVATE_FONTS_DEFAULT OFF) 421endif() 422wx_option(wxUSE_PRIVATE_FONTS "use fonts not installed on the system" ${wxUSE_PRIVATE_FONTS_DEFAULT}) 423 424# --------------------------------------------------------------------------- 425# support for image formats that do not rely on external library 426# --------------------------------------------------------------------------- 427 428wx_option(wxUSE_PALETTE "use wxPalette class") 429wx_option(wxUSE_IMAGE "use wxImage class") 430wx_option(wxUSE_GIF "use gif images (GIF file format)") 431wx_option(wxUSE_PCX "use pcx images (PCX file format)") 432wx_option(wxUSE_TGA "use tga images (TGA file format)") 433wx_option(wxUSE_IFF "use iff images (IFF file format)") 434wx_option(wxUSE_PNM "use pnm images (PNM file format)") 435wx_option(wxUSE_XPM "use xpm images (XPM file format)") 436wx_option(wxUSE_ICO_CUR "use Windows ICO and CUR formats") 437 438# --------------------------------------------------------------------------- 439# wxMSW-only options 440# --------------------------------------------------------------------------- 441 442if(WIN32) 443 if(MSVC_VERSION GREATER 1600 AND NOT CMAKE_VS_PLATFORM_TOOLSET MATCHES "_xp$") 444 set(wxUSE_WINRT_DEFAULT ON) 445 else() 446 set(wxUSE_WINRT_DEFAULT OFF) 447 endif() 448 if(MSVC_VERSION GREATER 1800 AND NOT CMAKE_VS_PLATFORM_TOOLSET MATCHES "_xp$" AND 449 EXISTS "${wxSOURCE_DIR}/3rdparty/webview2") 450 set(wxUSE_WEBVIEW_EDGE_DEFAULT ON) 451 else() 452 set(wxUSE_WEBVIEW_EDGE_DEFAULT OFF) 453 endif() 454 455 wx_option(wxUSE_ACCESSIBILITY "enable accessibility support") 456 wx_option(wxUSE_ACTIVEX " enable wxActiveXContainer class (Win32 only)") 457 wx_option(wxUSE_CRASHREPORT "enable wxCrashReport::Generate() to create mini dumps (Win32 only)") 458 wx_option(wxUSE_DC_CACHEING "cache temporary wxDC objects (Win32 only)") 459 wx_option(wxUSE_NATIVE_PROGRESSDLG "use native progress dialog implementation") 460 wx_option(wxUSE_NATIVE_STATUSBAR "use native statusbar implementation)") 461 wx_option(wxUSE_OWNER_DRAWN "use owner drawn controls (Win32)") 462 wx_option(wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW "use PS printing in wxMSW (Win32 only)") 463 wx_option(wxUSE_TASKBARICON_BALLOONS "enable wxTaskBarIcon::ShowBalloon() method (Win32 only)") 464 wx_option(wxUSE_UXTHEME "enable support for Windows XP themed look (Win32 only)") 465 wx_option(wxUSE_WEBVIEW_EDGE "use wxWebView Edge (Chromium) backend (Windows 7+ only)" ${wxUSE_WEBVIEW_EDGE_DEFAULT}) 466 wx_option(wxUSE_WEBVIEW_IE "use wxWebView IE backend (Win32 only)") 467 wx_option(wxUSE_WINRT "enable WinRT support" ${wxUSE_WINRT_DEFAULT}) 468 wx_option(wxUSE_WXDIB "use wxDIB class (Win32 only)") 469endif() 470 471# this one is not really MSW-specific but it exists mainly to be turned off 472# under MSW, it should be off by default on the other platforms 473if(WIN32) 474 set(wxDEFAULT_wxUSE_AUTOID_MANAGEMENT ON) 475else() 476 set(wxDEFAULT_wxUSE_AUTOID_MANAGEMENT OFF) 477endif() 478 479wx_option(wxUSE_AUTOID_MANAGEMENT "use automatic ids management" ${wxDEFAULT_wxUSE_AUTOID_MANAGEMENT}) 480 481endif() # wxUSE_GUI 482