a342582eb1
When using CMake to generate project files, do not create projects for samples that rely on a feature that is not available. For example, do not create a project for the AUI sample when wxUSE_AUI=0. Closes https://github.com/wxWidgets/wxWidgets/pull/713
254 lines
11 KiB
CMake
254 lines
11 KiB
CMake
#############################################################################
|
|
# Name: build/cmake/samples/CMakeLists.txt
|
|
# Purpose: CMake script to build samples
|
|
# Author: Tobias Taschner
|
|
# Created: 2016-10-04
|
|
# Copyright: (c) 2016 wxWidgets development team
|
|
# Licence: wxWindows licence
|
|
#############################################################################
|
|
|
|
wx_add_sample(access accesstest.cpp DEPENDS wxUSE_ACCESSBILITY)
|
|
wx_add_sample(animate anitest.cpp anitest.h LIBRARIES adv DATA throbber.gif hourglass.ani DEPENDS wxUSE_ANIMATIONCTRL)
|
|
wx_add_sample(artprov arttest.cpp artbrows.cpp artbrows.h)
|
|
wx_add_sample(aui auidemo.cpp LIBRARIES adv aui html NAME auidemo DEPENDS wxUSE_AUI)
|
|
wx_add_sample(calendar RES calendar.rc LIBRARIES adv DEPENDS wxUSE_CALENDARCTRL)
|
|
wx_add_sample(caret DEPENDS wxUSE_CARET)
|
|
wx_add_sample(clipboard DEPENDS wxUSE_CLIPBOARD)
|
|
wx_add_sample(collpane LIBRARIES adv DEPENDS wxUSE_COLLPANE)
|
|
wx_add_sample(combo LIBRARIES adv DATA dropbuth.png dropbutn.png dropbutp.png DEPENDS wxUSE_COMBOCTRL)
|
|
wx_add_sample(config conftest.cpp DEPENDS wxUSE_CONFIG)
|
|
wx_add_sample(console CONSOLE IMPORTANT)
|
|
wx_add_sample(dataview IMPORTANT dataview.cpp mymodels.cpp mymodels.h LIBRARIES adv DEPENDS wxUSE_DATAVIEWCTRL)
|
|
if(wxUSE_ON_FATAL_EXCEPTION AND (NOT WIN32 OR MSVC))
|
|
wx_add_sample(debugrpt LIBRARIES qa DEPENDS wxUSE_DEBUGREPORT)
|
|
endif()
|
|
wx_add_sample(dialogs dialogs.cpp dialogs.h LIBRARIES adv DATA tips.txt)
|
|
wx_add_sample(dialup nettest.cpp DEPENDS wxUSE_DIALUP_MANAGER)
|
|
wx_add_sample(display DEPENDS wxUSE_DISPLAY)
|
|
wx_add_sample(dnd dnd.cpp RES dnd.rc DATA wxwin.png DEPENDS wxUSE_DRAG_AND_DROP)
|
|
wx_add_sample(docview docview.cpp doc.cpp view.cpp docview.h doc.h view.h
|
|
RES docview.rc DEPENDS wxUSE_DOC_VIEW_ARCHITECTURE)
|
|
wx_add_sample(dragimag dragimag.cpp dragimag.h RES dragimag.rc
|
|
DATA backgrnd.png shape01.png shape02.png shape03.png
|
|
DEPENDS wxUSE_DRAGIMAGE)
|
|
wx_add_sample(drawing DATA pat4.bmp pat35.bmp pat36.bmp image.bmp mask.bmp)
|
|
wx_add_sample(erase)
|
|
wx_add_sample(event event.cpp gestures.cpp gestures.h)
|
|
wx_add_sample(except DEPENDS wxUSE_EXCEPTIONS)
|
|
wx_add_sample(exec)
|
|
wx_add_sample(font DATA wxprivate.ttf)
|
|
wx_add_sample(fswatcher DEPENDS wxUSE_FSWATCHER)
|
|
wx_add_sample(grid griddemo.cpp griddemo.h LIBRARIES adv DEPENDS wxUSE_GRID)
|
|
|
|
wx_list_add_prefix(HELP_DOC_FILES doc/
|
|
aindex.html down.gif dxxgifs.tex HIER.html icon1.gif icon2.gif index.html
|
|
logo.gif wx204.htm wx34.htm wxExtHelpController.html wxhelp.map wx.htm
|
|
)
|
|
wx_add_sample(help demo.cpp LIBRARIES html adv
|
|
DATA
|
|
back.gif bullet.bmp contents.gif cshelp.txt doc.chm doc.cnt doc.hhc
|
|
doc.hhk doc.hhp doc.hlp doc.hpj doc.zip forward.gif up.gif
|
|
${HELP_DOC_FILES}
|
|
NAME helpdemo
|
|
DEPENDS wxUSE_HELP
|
|
)
|
|
wx_add_sample(htlbox LIBRARIES html DEPENDS wxUSE_HTML)
|
|
if(wxUSE_HTML)
|
|
include(html.cmake)
|
|
endif()
|
|
wx_add_sample(image image.cpp canvas.cpp canvas.h cursor_png.c RES image.rc
|
|
DATA horse.png horse.jpg horse.bmp horse.gif horse.pcx horse.pnm
|
|
horse_ag.pnm horse_rg.pnm horse.tif horse.tga horse.xpm horse.cur
|
|
horse.ico horse3.ani smile.xbm toucan.png cmyk.jpg cursor.png
|
|
DEPENDS wxUSE_IMAGE)
|
|
foreach(lang ar bg cs de fr it ka pl ru sv ja ja_JP.EUC-JP)
|
|
list(APPEND INTERNAT_DATA_FILES ${lang}/internat.po ${lang}/internat.mo)
|
|
endforeach()
|
|
wx_add_sample(internat DATA ${INTERNAT_DATA_FILES} DEPENDS wxUSE_INTL)
|
|
# IPC samples
|
|
set(wxSAMPLE_FOLDER ipc)
|
|
wx_add_sample(ipc client.cpp client.h connection.h ipcsetup.h NAME ipcclient LIBRARIES net DEPENDS wxUSE_IPC)
|
|
wx_add_sample(ipc server.cpp server.h connection.h ipcsetup.h NAME ipcserver LIBRARIES net DEPENDS wxUSE_IPC)
|
|
wx_add_sample(ipc CONSOLE baseclient.cpp connection.h ipcsetup.h NAME baseipcclient LIBRARIES net DEPENDS wxUSE_IPC)
|
|
wx_add_sample(ipc CONSOLE baseserver.cpp connection.h ipcsetup.h NAME baseipcserver LIBRARIES net DEPENDS wxUSE_IPC)
|
|
set(wxSAMPLE_FOLDER)
|
|
wx_add_sample(joytest joytest.cpp joytest.h DATA buttonpress.wav LIBRARIES adv DEPENDS wxUSE_JOYSTICK)
|
|
wx_add_sample(keyboard)
|
|
wx_add_sample(layout layout.cpp layout.h)
|
|
wx_add_sample(listctrl listtest.cpp listtest.h RES listtest.rc DEPENDS wxUSE_LISTCTRL)
|
|
wx_add_sample(mdi mdi.cpp mdi.h RES mdi.rc DEPENDS wxUSE_MDI wxUSE_DOC_VIEW_ARCHITECTURE wxUSE_MDI_ARCHITECTURE)
|
|
wx_add_sample(mediaplayer LIBRARIES media DEPENDS wxUSE_MEDIACTRL)
|
|
wx_add_sample(memcheck)
|
|
wx_add_sample(menu DEPENDS wxUSE_MENUS)
|
|
wx_add_sample(minimal IMPORTANT)
|
|
wx_add_sample(notebook notebook.cpp notebook.h LIBRARIES aui adv DEPENDS wxUSE_NOTEBOOK)
|
|
if(wxUSE_OPENGL)
|
|
set(wxSAMPLE_SUBDIR opengl/)
|
|
set(wxSAMPLE_FOLDER OpenGL)
|
|
wx_add_sample(cube cube.cpp cube.h LIBRARIES gl)
|
|
wx_add_sample(isosurf isosurf.cpp isosurf.h LIBRARIES gl DATA isosurf.dat.gz)
|
|
wx_add_sample(penguin
|
|
penguin.cpp dxfrenderer.cpp trackball.c
|
|
dxfrenderer.h penguin.h trackball.h
|
|
LIBRARIES gl
|
|
DATA penguin.dxf.gz)
|
|
wx_add_sample(pyramid
|
|
pyramid.cpp oglstuff.cpp mathstuff.cpp oglpfuncs.cpp
|
|
pyramid.h oglstuff.h mathstuff.h oglpfuncs.h
|
|
LIBRARIES gl)
|
|
set(wxSAMPLE_SUBDIR)
|
|
set(wxSAMPLE_FOLDER)
|
|
endif()
|
|
wx_add_sample(ownerdrw RES ownerdrw.rc DATA sound.png nosound.png DEPENDS wxUSE_OWNER_DRAWN)
|
|
wx_add_sample(popup DEPENDS wxUSE_POPUPWIN)
|
|
wx_add_sample(power)
|
|
wx_add_sample(preferences DEPENDS wxUSE_PREFERENCES_EDITOR)
|
|
wx_add_sample(printing printing.cpp printing.h DEPENDS wxUSE_PRINTING_ARCHITECTURE)
|
|
wx_add_sample(propgrid propgrid.cpp propgrid_minimal.cpp sampleprops.cpp
|
|
tests.cpp sampleprops.h propgrid.h LIBRARIES adv propgrid NAME propgriddemo DEPENDS wxUSE_PROPGRID)
|
|
wx_add_sample(render FOLDER render)
|
|
wx_add_sample(render DLL renddll.cpp NAME renddll FOLDER render)
|
|
wx_add_sample(ribbon ribbondemo.cpp LIBRARIES ribbon adv NAME ribbondemo DEPENDS wxUSE_RIBBON)
|
|
wx_add_sample(richtext LIBRARIES richtext adv html xml NAME richtextdemo DEPENDS wxUSE_XML wxUSE_RICHTEXT)
|
|
wx_add_sample(sashtest sashtest.cpp sashtest.h RES sashtest.rc LIBRARIES adv DEPENDS wxUSE_SASH)
|
|
wx_add_sample(scroll)
|
|
wx_add_sample(secretstore CONSOLE DEPENDS wxUSE_SECRETSTORE)
|
|
wx_add_sample(shaped DATA star.png)
|
|
if(wxUSE_SOCKETS)
|
|
wx_add_sample(sockets client.cpp NAME client LIBRARIES net FOLDER sockets)
|
|
wx_add_sample(sockets server.cpp NAME server LIBRARIES net FOLDER sockets)
|
|
wx_add_sample(sockets CONSOLE baseclient.cpp NAME baseclient LIBRARIES net FOLDER sockets)
|
|
wx_add_sample(sockets CONSOLE baseserver.cpp NAME baseserver LIBRARIES net FOLDER sockets)
|
|
endif()
|
|
wx_add_sample(sound RES sound.rc DATA 9000g.wav cuckoo.wav doggrowl.wav tinkalink2.wav LIBRARIES adv DEPENDS wxUSE_SOUND)
|
|
wx_add_sample(splash DATA splash.png press.mpg LIBRARIES adv DEPENDS wxUSE_SPLASH)
|
|
if(TARGET splash AND wxUSE_MEDIACTRL)
|
|
target_link_libraries(splash media)
|
|
endif()
|
|
wx_add_sample(splitter DEPENDS wxUSE_SPLITTER)
|
|
wx_add_sample(statbar DEPENDS wxUSE_STATUSBAR)
|
|
wx_add_sample(stc stctest.cpp edit.cpp prefs.cpp edit.h defsext.h prefs.h
|
|
DATA stctest.cpp NAME stctest LIBRARIES stc DEPENDS wxUSE_STC)
|
|
wx_add_sample(svg svgtest.cpp RES svgtest.rc DEPENDS wxUSE_SVG)
|
|
wx_add_sample(taborder)
|
|
wx_add_sample(taskbar tbtest.cpp tbtest.h LIBRARIES adv DEPENDS wxUSE_TASKBARICON)
|
|
wx_add_sample(text DEPENDS wxUSE_TEXTCTRL)
|
|
wx_add_sample(thread DEPENDS wxUSE_THREADS)
|
|
wx_add_sample(toolbar RES toolbar.rc DEPENDS wxUSE_TOOLBAR)
|
|
wx_add_sample(treectrl treetest.cpp treetest.h DEPENDS wxUSE_TREECTRL)
|
|
wx_add_sample(treelist LIBRARIES adv DEPENDS wxUSE_TREELISTCTRL)
|
|
wx_add_sample(typetest typetest.cpp typetest.h)
|
|
wx_add_sample(uiaction DEPENDS wxUSE_UIACTIONSIMULATOR)
|
|
wx_add_sample(validate validate.cpp validate.h DEPENDS wxUSE_VALIDATORS)
|
|
wx_add_sample(vscroll vstest.cpp)
|
|
wx_add_sample(webview LIBRARIES webview stc adv NAME webviewsample DEPENDS wxUSE_WEBVIEW)
|
|
# widgets Sample
|
|
set(SAMPLE_WIDGETS_SRC
|
|
activityindicator.cpp
|
|
bmpcombobox.cpp
|
|
button.cpp
|
|
checkbox.cpp
|
|
choice.cpp
|
|
clrpicker.cpp
|
|
combobox.cpp
|
|
datepick.cpp
|
|
dirctrl.cpp
|
|
dirpicker.cpp
|
|
editlbox.cpp
|
|
filectrl.cpp
|
|
filepicker.cpp
|
|
fontpicker.cpp
|
|
gauge.cpp
|
|
headerctrl.cpp
|
|
hyperlnk.cpp
|
|
itemcontainer.cpp
|
|
listbox.cpp
|
|
native.cpp
|
|
notebook.cpp
|
|
odcombobox.cpp
|
|
radiobox.cpp
|
|
searchctrl.cpp
|
|
slider.cpp
|
|
spinbtn.cpp
|
|
static.cpp
|
|
statbmp.cpp
|
|
textctrl.cpp
|
|
timepick.cpp
|
|
toggle.cpp
|
|
widgets.cpp
|
|
widgets.h
|
|
itemcontainer.h
|
|
)
|
|
if(APPLE)
|
|
# The source file using native controls uses Cocoa under OS X, so it must
|
|
# be compiled as Objective C++ which means it must have .mm extension.
|
|
# But this would make it uncompilable under the other platforms and we
|
|
# don't want to have two files with identical contents. Hence this hack:
|
|
# we have native.mm which just includes native.cpp under OS X, while
|
|
# elsewhere we just compile native.cpp directly.
|
|
list(APPEND SAMPLE_WIDGETS_SRC native_wrapper.mm)
|
|
endif()
|
|
wx_add_sample(widgets IMPORTANT ${SAMPLE_WIDGETS_SRC} LIBRARIES adv)
|
|
wx_add_sample(wizard LIBRARIES adv DEPENDS wxUSE_WIZARDDLG)
|
|
wx_add_sample(wrapsizer)
|
|
|
|
wx_list_add_prefix(XRC_RC_FILES rc/
|
|
aui.xpm aui.xrc
|
|
artprov.xpm artprov.xrc basicdlg.xpm
|
|
basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas.xrc
|
|
derivdlg.xpm derivdlg.xrc fileopen.gif filesave.gif frame.xrc
|
|
fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif
|
|
resource.xrc toolbar.xrc uncenter.xpm
|
|
objref.xrc objrefdlg.xpm
|
|
uncenter.xrc update.gif
|
|
variable.xpm variable.xrc
|
|
variants.xpm variants.xrc
|
|
throbber.gif stop.xpm
|
|
wxbanner.gif
|
|
)
|
|
wx_add_sample(xrc
|
|
xrcdemo.cpp
|
|
myframe.cpp
|
|
derivdlg.cpp
|
|
custclas.cpp
|
|
objrefdlg.cpp
|
|
derivdlg.h
|
|
xrcdemo.h
|
|
myframe.h
|
|
custclas.h
|
|
objrefdlg.h
|
|
DATA ${XRC_RC_FILES}
|
|
LIBRARIES aui ribbon xrc html adv
|
|
NAME xrcdemo
|
|
DEPENDS wxUSE_XML wxUSE_XRC
|
|
)
|
|
wx_add_sample(xti xti.cpp classlist.cpp codereadercallback.cpp
|
|
classlist.h codereadercallback.h LIBRARIES xml
|
|
DEPENDS wxUSE_XML wxUSE_EXTENDED_RTTI)
|
|
|
|
if(WIN32)
|
|
# Windows only samples
|
|
|
|
# DLL Sample
|
|
if(wxUSE_DYNLIBCLASS)
|
|
wx_add_sample(dll DLL my_dll.cpp my_dll.h NAME my_dll FOLDER dll
|
|
DEFINITIONS MY_DLL_BUILDING)
|
|
if(NOT wxBUILD_SHARED)
|
|
# this test only makes sense with statically built wx, otherwise
|
|
# the same copy of wx would be used
|
|
wx_add_sample(dll wx_exe.cpp my_dll.h NAME wx_exe FOLDER dll LIBRARIES my_dll)
|
|
endif()
|
|
|
|
wx_add_sample(dll sdk_exe.cpp my_dll.h NAME sdk_exe FOLDER dll LIBRARIES my_dll)
|
|
endif()
|
|
if(MSVC)
|
|
wx_add_sample(flash)
|
|
endif()
|
|
#TODO: renable when sample is fixed
|
|
#wx_add_sample(mfc mfctest.cpp mfctest.h resource.h stdafx.h RES mfctest.rc)
|
|
wx_add_sample(nativdlg nativdlg.cpp nativdlg.h resource.h RES nativdlg.rc)
|
|
wx_add_sample(oleauto DEPENDS wxUSE_OLE)
|
|
wx_add_sample(regtest RES regtest.rc DEPENDS wxUSE_REGKEY)
|
|
wx_add_sample(taskbarbutton LIBRARIES adv DEPENDS wxUSE_TASKBARBUTTON)
|
|
endif()
|