if (NOT WIN32)
	message(FATAL_ERROR "This CMakeLists is only for Windows, use a system package on mac/linux")
endif()

add_custom_command(
	OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/include/wx/setup.h"
	COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/include/wx/msw/setup.h" "${CMAKE_CURRENT_BINARY_DIR}/include/wx/setup.h"
	DEPENDS include/wx/msw/setup.h
)
add_custom_command(
	OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/include/wx/msw/rcdefs.h"
	COMMAND "${CMAKE_CXX_COMPILER}" "${CMAKE_CXX_FLAGS}" /EP /nologo "${CMAKE_CURRENT_SOURCE_DIR}/include/wx/msw/genrcdefs.h" > "${CMAKE_CURRENT_BINARY_DIR}/include/wx/msw/rcdefs.h"
	DEPENDS include/wx/msw/genrcdefs.h
)

add_library(wx30_config
	include/wx/msw/wx.rc
	"${CMAKE_CURRENT_BINARY_DIR}/include/wx/setup.h"
	"${CMAKE_CURRENT_BINARY_DIR}/include/wx/msw/rcdefs.h")
target_include_directories(wx30_config PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/include" include)
set_target_properties(wx30_config PROPERTIES LINKER_LANGUAGE CXX)

# WX internal shared settings
add_library(wx30_buildparams INTERFACE)
target_compile_definitions(wx30_buildparams INTERFACE
	_CRT_SECURE_NO_DEPRECATE=1
	_SCL_SECURE_NO_WARNINGS=1
	__WXMSW__
	_UNICODE
	WXBUILDING
)
target_include_directories(wx30_buildparams INTERFACE include)
target_precompile_headers(wx30_buildparams INTERFACE <wx/wxprec.h>)
target_link_libraries(wx30_buildparams INTERFACE wx30_config)

add_library(wx30_core
	src/common/accelcmn.cpp
	src/common/accesscmn.cpp
	src/common/affinematrix2d.cpp
	src/common/anidecod.cpp
	src/common/appcmn.cpp
	src/common/artprov.cpp
	src/common/artstd.cpp
	src/common/arttango.cpp
	src/common/bmpbase.cpp
	src/common/bmpbtncmn.cpp
	src/common/bookctrl.cpp
	src/common/btncmn.cpp
	src/common/cairo.cpp
	src/common/checkboxcmn.cpp
	src/common/checklstcmn.cpp
	src/common/choiccmn.cpp
	src/common/clipcmn.cpp
	src/common/clrpickercmn.cpp
	src/common/cmdproc.cpp
	src/common/cmndata.cpp
	src/common/colourcmn.cpp
	src/common/colourdata.cpp
	src/common/combocmn.cpp
	src/common/containr.cpp
	src/common/cshelp.cpp
	src/common/ctrlcmn.cpp
	src/common/ctrlsub.cpp
	src/common/dcbase.cpp
	src/common/dcbufcmn.cpp
	src/common/dcgraph.cpp
	src/common/dcsvg.cpp
	src/common/dirctrlcmn.cpp
	src/common/dlgcmn.cpp
	src/common/dndcmn.cpp
	src/common/dobjcmn.cpp
	src/common/docmdi.cpp
	src/common/docview.cpp
	src/common/dpycmn.cpp
	src/common/dseldlg.cpp
	src/common/effects.cpp
	src/common/event.cpp
	src/common/fddlgcmn.cpp
	src/common/filectrlcmn.cpp
	src/common/filehistorycmn.cpp
	src/common/filepickercmn.cpp
	src/common/fldlgcmn.cpp
	src/common/fontcmn.cpp
	src/common/fontdata.cpp
	src/common/fontenumcmn.cpp
	src/common/fontmap.cpp
	src/common/fontpickercmn.cpp
	src/common/fontutilcmn.cpp
	src/common/framecmn.cpp
	src/common/fs_mem.cpp
	src/common/gaugecmn.cpp
	src/common/gbsizer.cpp
	src/common/gdicmn.cpp
	src/common/geometry.cpp
	src/common/gifdecod.cpp
	src/common/graphcmn.cpp
	src/common/headercolcmn.cpp
	src/common/headerctrlcmn.cpp
	src/common/helpbase.cpp
	src/common/iconbndl.cpp
	src/common/imagall.cpp
	src/common/imagbmp.cpp
	src/common/image.cpp
	src/common/imagfill.cpp
	src/common/imaggif.cpp
	src/common/imagiff.cpp
	src/common/imagjpeg.cpp
	src/common/imagpcx.cpp
	src/common/imagpng.cpp
	src/common/imagpnm.cpp
	src/common/imagtga.cpp
	src/common/imagtiff.cpp
	src/common/imagxpm.cpp
	src/common/layout.cpp
	src/common/lboxcmn.cpp
	src/common/listctrlcmn.cpp
	src/common/markupparser.cpp
	src/common/matrix.cpp
	src/common/menucmn.cpp
	src/common/modalhook.cpp
	src/common/mousemanager.cpp
	src/common/msgout.cpp
	src/common/nbkbase.cpp
	src/common/overlaycmn.cpp
	src/common/ownerdrwcmn.cpp
	src/common/panelcmn.cpp
	src/common/paper.cpp
	src/common/persist.cpp
	src/common/pickerbase.cpp
	src/common/popupcmn.cpp
	src/common/preferencescmn.cpp
	src/common/prntbase.cpp
	src/common/quantize.cpp
	src/common/radiobtncmn.cpp
	src/common/radiocmn.cpp
	src/common/rearrangectrl.cpp
	src/common/rendcmn.cpp
	src/common/rgncmn.cpp
	src/common/scrolbarcmn.cpp
	src/common/settcmn.cpp
	src/common/sizer.cpp
	src/common/slidercmn.cpp
	src/common/spinbtncmn.cpp
	src/common/spinctrlcmn.cpp
	src/common/srchcmn.cpp
	src/common/statbar.cpp
	src/common/statbmpcmn.cpp
	src/common/statboxcmn.cpp
	src/common/statlinecmn.cpp
	src/common/stattextcmn.cpp
	src/common/stockitem.cpp
	src/common/tbarbase.cpp
	src/common/textcmn.cpp
	src/common/textentrycmn.cpp
	src/common/textmeasurecmn.cpp
	src/common/toplvcmn.cpp
	src/common/treebase.cpp
	src/common/uiactioncmn.cpp
	src/common/utilscmn.cpp
	src/common/valgen.cpp
	src/common/validate.cpp
	src/common/valnum.cpp
	src/common/valtext.cpp
	src/common/wincmn.cpp
	src/common/windowid.cpp
	src/common/wrapsizer.cpp
	src/common/xpmdecod.cpp
	src/generic/preferencesg.cpp
	src/msw/accel.cpp
	src/msw/ole/access.cpp
	src/msw/ole/activex.cpp
	src/msw/anybutton.cpp
	src/msw/app.cpp
	src/msw/artmsw.cpp
	src/msw/ole/automtn.cpp
	src/msw/bitmap.cpp
	src/msw/bmpbuttn.cpp
	src/msw/brush.cpp
	src/msw/button.cpp
	src/msw/caret.cpp
	src/msw/checkbox.cpp
	src/msw/checklst.cpp
	src/msw/choice.cpp
	src/msw/clipbrd.cpp
	src/msw/colordlg.cpp
	src/msw/colour.cpp
	src/msw/combo.cpp
	src/msw/combobox.cpp
	src/msw/control.cpp
	src/msw/cursor.cpp
	src/msw/data.cpp
	src/msw/ole/dataobj.cpp
	src/msw/dc.cpp
	src/msw/dcclient.cpp
	src/msw/dcmemory.cpp
	src/msw/dcprint.cpp
	src/msw/dcscreen.cpp
	src/msw/dialog.cpp
	src/msw/dialup.cpp
	src/msw/dib.cpp
	src/msw/dirdlg.cpp
	src/msw/display.cpp
	src/msw/dragimag.cpp
	src/msw/ole/dropsrc.cpp
	src/msw/ole/droptgt.cpp
	src/msw/enhmeta.cpp
	src/msw/evtloop.cpp
	src/msw/fdrepdlg.cpp
	src/msw/filedlg.cpp
	src/msw/font.cpp
	src/msw/fontdlg.cpp
	src/msw/fontenum.cpp
	src/msw/fontutil.cpp
	src/msw/frame.cpp
	src/msw/gauge.cpp
	src/msw/gdiimage.cpp
	src/msw/gdiobj.cpp
	src/msw/gdiplus.cpp
	src/msw/graphics.cpp
	src/msw/headerctrl.cpp
	src/msw/helpchm.cpp
	src/msw/helpwin.cpp
	src/msw/icon.cpp
	src/msw/imaglist.cpp
	src/msw/iniconf.cpp
	src/msw/listbox.cpp
	src/msw/listctrl.cpp
	src/msw/main.cpp
	src/msw/mdi.cpp
	src/msw/menu.cpp
	src/msw/menuitem.cpp
	src/msw/metafile.cpp
	src/msw/minifram.cpp
	src/msw/msgdlg.cpp
	src/msw/mslu.cpp
	src/msw/nativdlg.cpp
	src/msw/nativewin.cpp
	src/msw/nonownedwnd.cpp
	src/msw/notebook.cpp
	src/msw/ole/oleutils.cpp
	src/msw/ole/safearray.cpp
	src/msw/ownerdrw.cpp
	src/msw/palette.cpp
	src/msw/panel.cpp
	src/msw/pen.cpp
	src/msw/popupwin.cpp
	src/msw/printdlg.cpp
	src/msw/printwin.cpp
	src/msw/progdlg.cpp
	src/msw/radiobox.cpp
	src/msw/radiobut.cpp
	src/msw/region.cpp
	src/msw/renderer.cpp
	src/msw/richmsgdlg.cpp
	src/msw/scrolbar.cpp
	src/msw/settings.cpp
	src/msw/slider.cpp
	src/msw/spinbutt.cpp
	src/msw/spinctrl.cpp
	src/msw/statbmp.cpp
	src/msw/statbox.cpp
	src/msw/statline.cpp
	src/msw/stattext.cpp
	src/msw/statusbar.cpp
	src/msw/textctrl.cpp
	src/msw/textentry.cpp
	src/msw/textmeasure.cpp
	src/msw/tglbtn.cpp
	src/msw/toolbar.cpp
	src/msw/tooltip.cpp
	src/msw/toplevel.cpp
	src/msw/treectrl.cpp
	src/msw/uiaction.cpp
	src/msw/utilsgui.cpp
	src/msw/utilswin.cpp
	src/msw/ole/uuid.cpp
	src/msw/uxtheme.cpp
	src/msw/volume.cpp
	src/msw/window.cpp
	src/generic/busyinfo.cpp
	src/generic/buttonbar.cpp
	src/generic/choicbkg.cpp
	src/generic/choicdgg.cpp
	src/generic/clrpickerg.cpp
	src/generic/collpaneg.cpp
	src/generic/combog.cpp
	src/generic/dcpsg.cpp
	src/generic/dirctrlg.cpp
	src/generic/dragimgg.cpp
	src/generic/filectrlg.cpp
	src/generic/filepickerg.cpp
	src/generic/fontpickerg.cpp
	src/generic/graphicc.cpp
	src/generic/headerctrlg.cpp
	src/generic/infobar.cpp
	src/generic/listbkg.cpp
	src/generic/logg.cpp
	src/generic/markuptext.cpp
	src/generic/msgdlgg.cpp
	src/generic/numdlgg.cpp
	src/generic/printps.cpp
	src/generic/prntdlgg.cpp
	src/generic/progdlgg.cpp
	src/generic/renderg.cpp
	src/generic/richmsgdlgg.cpp
	src/generic/scrlwing.cpp
	src/generic/selstore.cpp
	src/generic/spinctlg.cpp
	src/generic/splitter.cpp
	src/generic/srchctlg.cpp
	src/generic/statbmpg.cpp
	src/generic/stattextg.cpp
	src/generic/statusbr.cpp
	src/generic/textdlgg.cpp
	src/generic/tipwin.cpp
	src/generic/toolbkg.cpp
	src/generic/treebkg.cpp
	src/generic/treectlg.cpp
	src/generic/vlbox.cpp
	src/generic/vscroll.cpp
	include/wx/msw/accel.h
	include/wx/msw/ole/access.h
	include/wx/msw/ole/activex.h
	include/wx/msw/anybutton.h
	include/wx/msw/app.h
	include/wx/msw/ole/automtn.h
	include/wx/msw/bitmap.h
	include/wx/msw/bmpbuttn.h
	include/wx/msw/bmpcbox.h
	include/wx/msw/brush.h
	include/wx/msw/button.h
	include/wx/msw/calctrl.h
	include/wx/msw/caret.h
	include/wx/msw/checkbox.h
	include/wx/msw/checklst.h
	include/wx/msw/choice.h
	include/wx/msw/clipbrd.h
	include/wx/msw/colordlg.h
	include/wx/msw/colour.h
	include/wx/msw/combo.h
	include/wx/msw/combobox.h
	include/wx/msw/commandlinkbutton.h
	include/wx/msw/control.h
	include/wx/msw/ctrlsub.h
	include/wx/msw/cursor.h
	include/wx/msw/custombgwin.h
	include/wx/msw/ole/dataform.h
	include/wx/msw/ole/dataobj.h
	include/wx/msw/ole/dataobj2.h
	include/wx/msw/datectrl.h
	include/wx/msw/datetimectrl.h
	include/wx/msw/dc.h
	include/wx/msw/dcclient.h
	include/wx/msw/dcmemory.h
	include/wx/msw/dcprint.h
	include/wx/msw/dcscreen.h
	include/wx/msw/dialog.h
	include/wx/msw/dib.h
	include/wx/msw/dirdlg.h
	include/wx/msw/dragimag.h
	include/wx/msw/ole/dropsrc.h
	include/wx/msw/ole/droptgt.h
	include/wx/msw/enhmeta.h
	include/wx/msw/evtloop.h
	include/wx/msw/fdrepdlg.h
	include/wx/msw/filedlg.h
	include/wx/msw/font.h
	include/wx/msw/fontdlg.h
	include/wx/msw/frame.h
	include/wx/msw/gauge.h
	include/wx/msw/gdiimage.h
	include/wx/msw/glcanvas.h
	include/wx/msw/headerctrl.h
	include/wx/msw/helpbest.h
	include/wx/msw/helpchm.h
	include/wx/msw/helpwin.h
	include/wx/msw/htmlhelp.h
	include/wx/msw/hyperlink.h
	include/wx/msw/icon.h
	include/wx/msw/imaglist.h
	include/wx/msw/iniconf.h
	include/wx/msw/init.h
	include/wx/msw/joystick.h
	include/wx/msw/listbox.h
	include/wx/msw/listctrl.h
	include/wx/msw/mdi.h
	include/wx/msw/menu.h
	include/wx/msw/menuitem.h
	include/wx/msw/metafile.h
	include/wx/msw/minifram.h
	include/wx/msw/missing.h
	include/wx/msw/msgdlg.h
	include/wx/msw/msvcrt.h
	include/wx/msw/nonownedwnd.h
	include/wx/msw/notebook.h
	include/wx/msw/notifmsg.h
	include/wx/msw/ole/oleutils.h
	include/wx/msw/ownerdrw.h
	include/wx/msw/palette.h
	include/wx/msw/panel.h
	include/wx/msw/pen.h
	include/wx/msw/popupwin.h
	include/wx/msw/printdlg.h
	include/wx/msw/printwin.h
	include/wx/msw/progdlg.h
	include/wx/msw/radiobox.h
	include/wx/msw/radiobut.h
	include/wx/msw/region.h
	include/wx/msw/richmsgdlg.h
	include/wx/msw/scrolbar.h
	include/wx/msw/slider.h
	include/wx/msw/sound.h
	include/wx/msw/spinbutt.h
	include/wx/msw/spinctrl.h
	include/wx/msw/statbmp.h
	include/wx/msw/statbox.h
	include/wx/msw/statline.h
	include/wx/msw/stattext.h
	include/wx/msw/statusbar.h
	include/wx/msw/taskbar.h
	include/wx/msw/textctrl.h
	include/wx/msw/textentry.h
	include/wx/msw/tglbtn.h
	include/wx/msw/timectrl.h
	include/wx/msw/toolbar.h
	include/wx/msw/tooltip.h
	include/wx/msw/toplevel.h
	include/wx/msw/treectrl.h
	include/wx/msw/ole/uuid.h
	include/wx/msw/uxtheme.h
	include/wx/msw/uxthemep.h
	include/wx/msw/webview_ie.h
	include/wx/msw/webviewhistoryitem_ie.h
	include/wx/msw/window.h
	include/wx/generic/aboutdlgg.h
	include/wx/generic/accel.h
	include/wx/generic/animate.h
	include/wx/generic/bmpcbox.h
	include/wx/generic/busyinfo.h
	include/wx/generic/buttonbar.h
	include/wx/generic/calctrlg.h
	include/wx/generic/choicdgg.h
	include/wx/generic/clrpickerg.h
	include/wx/generic/collpaneg.h
	include/wx/generic/colrdlgg.h
	include/wx/generic/combo.h
	include/wx/generic/ctrlsub.h
	include/wx/generic/custombgwin.h
	include/wx/generic/dataview.h
	include/wx/generic/datectrl.h
	include/wx/generic/dcpsg.h
	include/wx/generic/dirctrlg.h
	include/wx/generic/dirdlgg.h
	include/wx/generic/dragimgg.h
	include/wx/generic/dvrenderer.h
	include/wx/generic/dvrenderers.h
	include/wx/generic/fdrepdlg.h
	include/wx/generic/filectrlg.h
	include/wx/generic/filedlgg.h
	include/wx/generic/filepickerg.h
	include/wx/generic/fontdlgg.h
	include/wx/generic/fontpickerg.h
	include/wx/generic/grid.h
	include/wx/generic/gridctrl.h
	include/wx/generic/grideditors.h
	include/wx/generic/gridsel.h
	include/wx/generic/headerctrlg.h
	include/wx/generic/helpext.h
	include/wx/generic/hyperlink.h
	include/wx/generic/infobar.h
	include/wx/generic/laywin.h
	include/wx/generic/listctrl.h
	include/wx/generic/logg.h
	include/wx/generic/mdig.h
	include/wx/generic/msgdlgg.h
	include/wx/generic/notebook.h
	include/wx/generic/notifmsg.h
	include/wx/generic/numdlgg.h
	include/wx/generic/panelg.h
	include/wx/generic/printps.h
	include/wx/generic/prntdlgg.h
	include/wx/generic/progdlgg.h
	include/wx/generic/propdlg.h
	include/wx/generic/richmsgdlgg.h
	include/wx/generic/sashwin.h
	include/wx/generic/scrolwin.h
	include/wx/generic/spinctlg.h
	include/wx/generic/splash.h
	include/wx/generic/splitter.h
	include/wx/generic/srchctlg.h
	include/wx/generic/statbmpg.h
	include/wx/generic/stattextg.h
	include/wx/generic/statusbr.h
	include/wx/generic/textdlgg.h
	include/wx/generic/timectrl.h
	include/wx/generic/treectlg.h
	include/wx/generic/wizard.h
	include/wx/aboutdlg.h
	include/wx/accel.h
	include/wx/access.h
	include/wx/affinematrix2d.h
	include/wx/affinematrix2dbase.h
	include/wx/anidecod.h
	include/wx/animate.h
	include/wx/animdecod.h
	include/wx/anybutton.h
	include/wx/artprov.h
	include/wx/bannerwindow.h
	include/wx/bitmap.h
	include/wx/bmpbuttn.h
	include/wx/bmpcbox.h
	include/wx/bookctrl.h
	include/wx/persist/bookctrl.h
	include/wx/brush.h
	include/wx/busyinfo.h
	include/wx/button.h
	include/wx/calctrl.h
	include/wx/caret.h
	include/wx/checkbox.h
	include/wx/checklst.h
	include/wx/choicdlg.h
	include/wx/choice.h
	include/wx/choicebk.h
	include/wx/clipbrd.h
	include/wx/clrpicker.h
	include/wx/cmdproc.h
	include/wx/cmndata.h
	include/wx/collpane.h
	include/wx/colordlg.h
	include/wx/colour.h
	include/wx/colourdata.h
	include/wx/combo.h
	include/wx/combobox.h
	include/wx/commandlinkbutton.h
	include/wx/compositewin.h
	include/wx/control.h
	include/wx/cshelp.h
	include/wx/ctrlsub.h
	include/wx/cursor.h
	include/wx/custombgwin.h
	include/wx/dataobj.h
	include/wx/dataview.h
	include/wx/datectrl.h
	include/wx/dateevt.h
	include/wx/datetimectrl.h
	include/wx/dc.h
	include/wx/dcbuffer.h
	include/wx/dcclient.h
	include/wx/dcgraph.h
	include/wx/dcmemory.h
	include/wx/dcmirror.h
	include/wx/dcprint.h
	include/wx/dcps.h
	include/wx/dcscreen.h
	include/wx/dcsvg.h
	include/wx/debugrpt.h
	include/wx/dialog.h
	include/wx/dialup.h
	include/wx/dirctrl.h
	include/wx/dirdlg.h
	include/wx/display.h
	include/wx/display_impl.h
	include/wx/dnd.h
	include/wx/docmdi.h
	include/wx/docview.h
	include/wx/dragimag.h
	include/wx/dvrenderers.h
	include/wx/editlbox.h
	include/wx/effects.h
	include/wx/encinfo.h
	include/wx/evtloopsrc.h
	include/wx/fdrepdlg.h
	include/wx/filectrl.h
	include/wx/filedlg.h
	include/wx/filehistory.h
	include/wx/filepicker.h
	include/wx/fmappriv.h
	include/wx/font.h
	include/wx/fontdata.h
	include/wx/fontdlg.h
	include/wx/fontenum.h
	include/wx/fontpicker.h
	include/wx/fontutil.h
	include/wx/frame.h
	include/wx/gauge.h
	include/wx/gbsizer.h
	include/wx/gdicmn.h
	include/wx/gdiobj.h
	include/wx/geometry.h
	include/wx/gifdecod.h
	include/wx/glcanvas.h
	include/wx/graphics.h
	include/wx/grid.h
	include/wx/headercol.h
	include/wx/headerctrl.h
	include/wx/help.h
	include/wx/helpbase.h
	include/wx/helphtml.h
	include/wx/helpwin.h
	include/wx/htmllbox.h
	include/wx/hyperlink.h
	include/wx/icon.h
	include/wx/iconbndl.h
	include/wx/imagbmp.h
	include/wx/image.h
	include/wx/imaggif.h
	include/wx/imagiff.h
	include/wx/imagjpeg.h
	include/wx/imaglist.h
	include/wx/imagpcx.h
	include/wx/imagpng.h
	include/wx/imagpnm.h
	include/wx/imagtga.h
	include/wx/imagtiff.h
	include/wx/imagxpm.h
	include/wx/infobar.h
	include/wx/itemid.h
	include/wx/joystick.h
	include/wx/layout.h
	include/wx/laywin.h
	include/wx/listbase.h
	include/wx/listbook.h
	include/wx/listbox.h
	include/wx/listctrl.h
	include/wx/matrix.h
	include/wx/mdi.h
	include/wx/mediactrl.h
	include/wx/menu.h
	include/wx/menuitem.h
	include/wx/metafile.h
	include/wx/minifram.h
	include/wx/modalhook.h
	include/wx/mousemanager.h
	include/wx/msgdlg.h
	include/wx/nativewin.h
	include/wx/nonownedwnd.h
	include/wx/notebook.h
	include/wx/notifmsg.h
	include/wx/numdlg.h
	include/wx/odcombo.h
	include/wx/overlay.h
	include/wx/ownerdrw.h
	include/wx/palette.h
	include/wx/panel.h
	include/wx/paper.h
	include/wx/pen.h
	include/wx/persist.h
	include/wx/pickerbase.h
	include/wx/popupwin.h
	include/wx/position.h
	include/wx/print.h
	include/wx/printdlg.h
	include/wx/prntbase.h
	include/wx/progdlg.h
	include/wx/propdlg.h
	include/wx/quantize.h
	include/wx/radiobox.h
	include/wx/radiobut.h
	include/wx/range.h
	include/wx/rawbmp.h
	include/wx/rearrangectrl.h
	include/wx/region.h
	include/wx/renderer.h
	include/wx/richmsgdlg.h
	include/wx/richtooltip.h
	include/wx/sashwin.h
	include/wx/scopeguard.h
	include/wx/scrolbar.h
	include/wx/scrolwin.h
	include/wx/selstore.h
	include/wx/settings.h
	include/wx/simplebook.h
	include/wx/sizer.h
	include/wx/slider.h
	include/wx/sound.h
	include/wx/spinbutt.h
	include/wx/spinctrl.h
	include/wx/splash.h
	include/wx/persist/splitter.h
	include/wx/splitter.h
	include/wx/srchctrl.h
	include/wx/statbmp.h
	include/wx/statbox.h
	include/wx/statline.h
	include/wx/stattext.h
	include/wx/statusbr.h
	include/wx/taskbar.h
	include/wx/tbarbase.h
	include/wx/textcompleter.h
	include/wx/textctrl.h
	include/wx/textdlg.h
	include/wx/textentry.h
	include/wx/textwrapper.h
	include/wx/tglbtn.h
	include/wx/timectrl.h
	include/wx/tipdlg.h
	include/wx/tipwin.h
	include/wx/toolbar.h
	include/wx/toolbook.h
	include/wx/tooltip.h
	include/wx/persist/toplevel.h
	include/wx/toplevel.h
	include/wx/treebase.h
	include/wx/persist/treebook.h
	include/wx/treebook.h
	include/wx/treectrl.h
	include/wx/treelist.h
	include/wx/uiaction.h
	include/wx/valgen.h
	include/wx/validate.h
	include/wx/valnum.h
	include/wx/valtext.h
	include/wx/vidmode.h
	include/wx/vlbox.h
	include/wx/vms_x_fix.h
	include/wx/vscroll.h
	include/wx/webview.h
	include/wx/webviewarchivehandler.h
	include/wx/persist/window.h
	include/wx/window.h
	include/wx/windowid.h
	include/wx/windowptr.h
	include/wx/withimages.h
	include/wx/wizard.h
	include/wx/wrapsizer.h
	include/wx/wupdlock.h
	include/wx/wxhtml.h
	include/wx/xpmdecod.h
	include/wx/xpmhand.h
)
target_compile_definitions(wx30_core PRIVATE wxUSE_BASE=0)
target_link_libraries(wx30_core PUBLIC wx30_config PRIVATE PNG::PNG JPEG::JPEG wx30_buildparams Comctl32.lib Rpcrt4.lib)

add_library(wx30_base
	src/common/any.cpp
	src/common/appbase.cpp
	src/common/arcall.cpp
	src/common/arcfind.cpp
	src/common/archive.cpp
	src/common/arrstr.cpp
	src/common/base64.cpp
	src/common/clntdata.cpp
	src/common/cmdline.cpp
	src/common/config.cpp
	src/common/convauto.cpp
	src/common/datetime.cpp
	src/common/datetimefmt.cpp
	src/common/datstrm.cpp
	src/common/dircmn.cpp
	src/common/dynarray.cpp
	src/common/dynlib.cpp
	src/common/dynload.cpp
	src/common/encconv.cpp
	src/common/event.cpp
	src/common/evtloopcmn.cpp
	src/common/extended.c
	src/common/ffile.cpp
	src/common/file.cpp
	src/common/fileback.cpp
	src/common/fileconf.cpp
	src/common/filefn.cpp
	src/common/filename.cpp
	src/common/filesys.cpp
	src/common/filtall.cpp
	src/common/filtfind.cpp
	src/common/fmapbase.cpp
	src/common/fs_arc.cpp
	src/common/fs_filter.cpp
	src/common/fs_mem.cpp
	src/common/fswatchercmn.cpp
	src/common/hash.cpp
	src/common/hashmap.cpp
	src/common/init.cpp
	src/common/intl.cpp
	src/common/ipcbase.cpp
	src/common/languageinfo.cpp
	src/common/list.cpp
	src/common/log.cpp
	src/common/longlong.cpp
	src/common/memory.cpp
	src/common/mimecmn.cpp
	src/common/module.cpp
	src/common/msgout.cpp
	src/common/mstream.cpp
	src/common/numformatter.cpp
	src/common/object.cpp
	src/common/platinfo.cpp
	src/common/powercmn.cpp
	src/common/process.cpp
	src/common/regex.cpp
	src/common/sstream.cpp
	src/common/stdpbase.cpp
	src/common/stdstream.cpp
	src/common/stopwatch.cpp
	src/common/strconv.cpp
	src/common/stream.cpp
	src/common/string.cpp
	src/common/stringimpl.cpp
	src/common/stringops.cpp
	src/common/strvararg.cpp
	src/common/sysopt.cpp
	src/common/tarstrm.cpp
	src/common/textbuf.cpp
	src/common/textfile.cpp
	src/common/threadinfo.cpp
	src/common/time.cpp
	src/common/timercmn.cpp
	src/common/timerimpl.cpp
	src/common/tokenzr.cpp
	src/common/translation.cpp
	src/common/txtstrm.cpp
	src/common/unichar.cpp
	src/common/uri.cpp
	src/common/ustring.cpp
	src/common/utilscmn.cpp
	src/common/variant.cpp
	src/common/wfstream.cpp
	src/common/wxcrt.cpp
	src/common/wxprintf.cpp
	src/common/xlocale.cpp
	src/common/xti.cpp
	src/common/xtistrm.cpp
	src/common/zipstrm.cpp
	src/common/zstream.cpp
	src/msw/basemsw.cpp
	src/msw/crashrpt.cpp
	src/msw/dde.cpp
	src/msw/debughlp.cpp
	src/msw/dir.cpp
	src/msw/dlmsw.cpp
	src/msw/evtloopconsole.cpp
	src/msw/fswatcher.cpp
	src/msw/main.cpp
	src/msw/mimetype.cpp
	src/msw/mslu.cpp
	src/msw/power.cpp
	src/msw/regconf.cpp
	src/msw/registry.cpp
	src/msw/snglinst.cpp
	src/msw/stackwalk.cpp
	src/msw/stdpaths.cpp
	src/msw/thread.cpp
	src/msw/timer.cpp
	src/msw/utils.cpp
	src/msw/utilsexc.cpp
	src/msw/volume.cpp
	src/generic/fswatcherg.cpp
	include/wx/msw/apptbase.h
	include/wx/msw/apptrait.h
	include/wx/msw/chkconf.h
	include/wx/msw/crashrpt.h
	include/wx/msw/dde.h
	include/wx/msw/debughlp.h
	include/wx/msw/evtloopconsole.h
	include/wx/msw/fswatcher.h
	include/wx/msw/gccpriv.h
	include/wx/msw/libraries.h
	include/wx/msw/mimetype.h
	include/wx/msw/mslu.h
	include/wx/msw/private.h
	include/wx/msw/regconf.h
	include/wx/msw/registry.h
	include/wx/msw/seh.h
	include/wx/msw/stackwalk.h
	include/wx/msw/stdpaths.h
	include/wx/msw/winundef.h
	include/wx/msw/wrapcctl.h
	include/wx/msw/wrapcdlg.h
	include/wx/msw/wrapwin.h
	include/wx/generic/fswatcher.h
	include/wx/afterstd.h
	include/wx/any.h
	include/wx/anystr.h
	include/wx/app.h
	include/wx/apptrait.h
	include/wx/archive.h
	include/wx/arrstr.h
	include/wx/atomic.h
	include/wx/base64.h
	include/wx/beforestd.h
	include/wx/buffer.h
	include/wx/build.h
	include/wx/chartype.h
	include/wx/checkeddelete.h
	include/wx/chkconf.h
	include/wx/clntdata.h
	include/wx/cmdargs.h
	include/wx/cmdline.h
	include/wx/confbase.h
	include/wx/config.h
	include/wx/containr.h
	include/wx/convauto.h
	include/wx/meta/convertible.h
	include/wx/cpp.h
	include/wx/crt.h
	include/wx/datetime.h
	include/wx/datstrm.h
	include/wx/dde.h
	include/wx/debug.h
	include/wx/defs.h
	include/wx/dir.h
	include/wx/dlimpexp.h
	include/wx/dlist.h
	include/wx/dynarray.h
	include/wx/dynlib.h
	include/wx/dynload.h
	include/wx/encconv.h
	include/wx/event.h
	include/wx/eventfilter.h
	include/wx/evtloop.h
	include/wx/except.h
	include/wx/features.h
	include/wx/ffile.h
	include/wx/file.h
	include/wx/fileconf.h
	include/wx/filefn.h
	include/wx/filename.h
	include/wx/filesys.h
	include/wx/flags.h
	include/wx/fontenc.h
	include/wx/fontmap.h
	include/wx/fs_arc.h
	include/wx/fs_filter.h
	include/wx/fs_mem.h
	include/wx/fs_zip.h
	include/wx/fswatcher.h
	include/wx/hash.h
	include/wx/hashmap.h
	include/wx/hashset.h
	include/wx/iconloc.h
	include/wx/meta/if.h
	include/wx/meta/implicitconversion.h
	include/wx/init.h
	include/wx/meta/int2type.h
	include/wx/intl.h
	include/wx/iosfwrap.h
	include/wx/ioswrap.h
	include/wx/ipc.h
	include/wx/ipcbase.h
	include/wx/kbdstate.h
	include/wx/language.h
	include/wx/link.h
	include/wx/list.h
	include/wx/log.h
	include/wx/longlong.h
	include/wx/math.h
	include/wx/memconf.h
	include/wx/memory.h
	include/wx/memtext.h
	include/wx/mimetype.h
	include/wx/module.h
	include/wx/mousestate.h
	include/wx/meta/movable.h
	include/wx/msgout.h
	include/wx/msgqueue.h
	include/wx/mstream.h
	include/wx/numformatter.h
	include/wx/object.h
	include/wx/platform.h
	include/wx/platinfo.h
	include/wx/meta/pod.h
	include/wx/power.h
	include/wx/process.h
	include/wx/ptr_scpd.h
	include/wx/ptr_shrd.h
	include/wx/recguard.h
	include/wx/regex.h
	include/wx/rtti.h
	include/wx/scopedarray.h
	include/wx/scopedptr.h
	include/wx/scopeguard.h
	include/wx/sharedptr.h
	include/wx/snglinst.h
	include/wx/sstream.h
	include/wx/stack.h
	include/wx/stackwalk.h
	include/wx/stdpaths.h
	include/wx/stdstream.h
	include/wx/stockitem.h
	include/wx/stopwatch.h
	include/wx/strconv.h
	include/wx/stream.h
	include/wx/string.h
	include/wx/stringimpl.h
	include/wx/stringops.h
	include/wx/strvararg.h
	include/wx/sysopt.h
	include/wx/tarstrm.h
	include/wx/textbuf.h
	include/wx/textfile.h
	include/wx/thread.h
	include/wx/time.h
	include/wx/timer.h
	include/wx/tls.h
	include/wx/tokenzr.h
	include/wx/tracker.h
	include/wx/translation.h
	include/wx/txtstrm.h
	include/wx/typeinfo.h
	include/wx/types.h
	include/wx/unichar.h
	include/wx/uri.h
	include/wx/ustring.h
	include/wx/utils.h
	include/wx/variant.h
	include/wx/vector.h
	include/wx/version.h
	include/wx/versioninfo.h
	include/wx/volume.h
	include/wx/weakref.h
	include/wx/wfstream.h
	include/wx/wx.h
	include/wx/wxchar.h
	include/wx/wxcrt.h
	include/wx/wxcrtbase.h
	include/wx/wxcrtvararg.h
	include/wx/wxprec.h
	include/wx/xlocale.h
	include/wx/xti.h
	include/wx/xti2.h
	include/wx/xtictor.h
	include/wx/xtihandler.h
	include/wx/xtiprop.h
	include/wx/xtistrm.h
	include/wx/xtitypes.h
	include/wx/zipstrm.h
	include/wx/zstream.h
)
set_source_files_properties(src/common/extended.c PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
target_compile_definitions(wx30_base PRIVATE wxUSE_GUI=0 wxUSE_BASE=1)
target_link_libraries(wx30_base PUBLIC wx30_config PRIVATE ZLIB::ZLIB wx30_core wx30_buildparams)

add_library(wx30_adv
	src/common/animatecmn.cpp
	src/common/bmpcboxcmn.cpp
	src/common/calctrlcmn.cpp
	src/common/datavcmn.cpp
	src/common/gridcmn.cpp
	src/common/hyperlnkcmn.cpp
	src/common/odcombocmn.cpp
	src/common/richtooltipcmn.cpp
	src/common/taskbarcmn.cpp
	src/msw/aboutdlg.cpp
	src/msw/bmpcbox.cpp
	src/msw/calctrl.cpp
	src/msw/commandlinkbutton.cpp
	src/msw/datecontrols.cpp
	src/msw/datectrl.cpp
	src/msw/datetimectrl.cpp
	src/msw/hyperlink.cpp
	src/msw/joystick.cpp
	src/msw/notifmsg.cpp
	src/msw/richtooltip.cpp
	src/msw/sound.cpp
	src/msw/taskbar.cpp
	src/msw/timectrl.cpp
	src/generic/aboutdlgg.cpp
	src/generic/animateg.cpp
	src/generic/bannerwindow.cpp
	src/generic/bmpcboxg.cpp
	src/generic/calctrlg.cpp
	src/generic/commandlinkbuttong.cpp
	src/generic/datavgen.cpp
	src/generic/datectlg.cpp
	src/generic/editlbox.cpp
	src/generic/grid.cpp
	src/generic/gridctrl.cpp
	src/generic/grideditors.cpp
	src/generic/gridsel.cpp
	src/generic/helpext.cpp
	src/generic/hyperlinkg.cpp
	src/generic/laywin.cpp
	src/generic/notifmsgg.cpp
	src/generic/odcombo.cpp
	src/generic/propdlg.cpp
	src/generic/richtooltipg.cpp
	src/generic/sashwin.cpp
	src/generic/splash.cpp
	src/generic/timectrlg.cpp
	src/generic/tipdlg.cpp
	src/generic/treelist.cpp
	src/generic/wizard.cpp
	include/wx/msw/bmpcbox.h
	include/wx/msw/calctrl.h
	include/wx/msw/commandlinkbutton.h
	include/wx/msw/datectrl.h
	include/wx/msw/datetimectrl.h
	include/wx/msw/hyperlink.h
	include/wx/msw/joystick.h
	include/wx/msw/notifmsg.h
	include/wx/msw/sound.h
	include/wx/msw/taskbar.h
	include/wx/msw/timectrl.h
	include/wx/generic/aboutdlgg.h
	include/wx/generic/animate.h
	include/wx/generic/bmpcbox.h
	include/wx/generic/calctrlg.h
	include/wx/generic/dataview.h
	include/wx/generic/datectrl.h
	include/wx/generic/dvrenderer.h
	include/wx/generic/dvrenderers.h
	include/wx/generic/grid.h
	include/wx/generic/gridctrl.h
	include/wx/generic/grideditors.h
	include/wx/generic/gridsel.h
	include/wx/generic/helpext.h
	include/wx/generic/hyperlink.h
	include/wx/generic/laywin.h
	include/wx/generic/notifmsg.h
	include/wx/generic/propdlg.h
	include/wx/generic/sashwin.h
	include/wx/generic/splash.h
	include/wx/generic/timectrl.h
	include/wx/generic/wizard.h
	include/wx/aboutdlg.h
	include/wx/animate.h
	include/wx/bannerwindow.h
	include/wx/bmpcbox.h
	include/wx/calctrl.h
	include/wx/commandlinkbutton.h
	include/wx/dataview.h
	include/wx/datectrl.h
	include/wx/dateevt.h
	include/wx/datetimectrl.h
	include/wx/dcbuffer.h
	include/wx/dvrenderers.h
	include/wx/editlbox.h
	include/wx/grid.h
	include/wx/hyperlink.h
	include/wx/joystick.h
	include/wx/laywin.h
	include/wx/notifmsg.h
	include/wx/odcombo.h
	include/wx/propdlg.h
	include/wx/richtooltip.h
	include/wx/sashwin.h
	include/wx/sound.h
	include/wx/splash.h
	include/wx/taskbar.h
	include/wx/timectrl.h
	include/wx/tipdlg.h
	include/wx/treelist.h
	include/wx/wizard.h
)
target_link_libraries(wx30_adv PUBLIC wx30_config PRIVATE wx30_buildparams)

add_library(wx30_all INTERFACE)
target_link_libraries(wx30_all INTERFACE wx30_adv wx30_base wx30_core)
add_library(wxWidgets::all ALIAS wx30_all)