wxWidgets/build/cmake/samples/CMakeLists.txt
PB a342582eb1 Don't build samples that cannot be built with CMake
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
2018-02-04 15:53:09 +01:00

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()