apps/graphics/NxWidgets: Hooking into build system.

This commit is contained in:
Gregory Nutt 2018-09-16 06:52:25 -06:00
parent 17b69f1515
commit 2de0a78202
27 changed files with 289 additions and 33 deletions

View File

@ -0,0 +1,37 @@
############################################################################
# apps/graphics/NxWidgets/Make.defs
# Adds selected applications to apps/ build
#
# Copyright (C) 2018 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
include $(wildcard graphics/NxWidgets/*/Make.defs)

View File

@ -34,7 +34,7 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CBUTTON)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CBUTTON),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CButton
endif

View File

@ -34,7 +34,7 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CBUTTONARRAY)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CBUTTONARRAY),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CButtonArray
endif

View File

@ -34,7 +34,7 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CCHECKBOX)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CCHECKBOX),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CCheckBox
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CGLYPHBUTTON)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CGLYPHBUTTON),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CGlyphButton
endif

View File

@ -34,7 +34,7 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CGLYPHSLIDERHORIZONTAL)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CGLYPHSLIDERHORIZONTAL),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CGlyphSliderHorizontal
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CIMAGE)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CIMAGE),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CImage
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CKEYPAD)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CKEYPAD),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CKeypad
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CLABEL)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CLABEL),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CLabel
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CLATCHBUTTON)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CLATCHBUTTON),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CLatchButton
endif

View File

@ -34,7 +34,7 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CLATCHBUTTONARRAY)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CLATCHBUTTONARRAY),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CLatchButtonArray
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CLISTBOX)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CLISTBOX),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CListBox
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CPROGRESSBAR)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CPROGRESSBAR),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CProgressBar
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CRADIOBUTTON)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CRADIOBUTTON),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CRadioButton
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CSCROLLBARHORIZONTAL)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CSCROLLBARHORIZONTAL),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CScrollbarHorizontal
endif

View File

@ -34,7 +34,7 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CSCROLLBARVERTICAL)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CSCROLLBARVERTICAL),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CScrollbarVertical
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CSLIDERHORIZONAL)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CSLIDERHORIZONAL),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CSliderHorizonal
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CSLIDERVERTICAL)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CSLIDERVERTICAL),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CSliderVertical
endif

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_CTEXTBOX)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_CTEXTBOX),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/CTextBox
endif

View File

@ -0,0 +1,103 @@
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
menu "Unit Tests"
config NXWIDGETS_UNITTEST_CBUTTON
tristate "CButton"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CBUTTONARRAY
tristate "CButtonArray"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CCHECKBOX
tristate "CCheckBox"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CGLYPHBUTTON
tristate "CGlyphButton"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CGLYPHSLIDERHORIZONTAL
tristate "CGlyphSliderHorizontal"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CIMAGE
tristate "CImage"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CKEYPAD
tristate "CKeypad"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CLABEL
tristate "CLabel"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CLATCHBUTTON
tristate "CLatchButton"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CLATCHBUTTONARRAY
tristate "CLatchButtonArray"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CLISTBOX
tristate "CListBox"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CPROGRESSBAR
tristate "CProgressBar"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CRADIOBUTTON
tristate "CRadioButton"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CSCROLLBARHORIZONTAL
tristate "CScrollbarHorizontal"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CSCROLLBARVERTICAL
tristate "CScrollbarVertical"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CSLIDERHORIZONAL
tristate "CSliderHorizontal"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CSLIDERVERTICAL
tristate "CSliderVertical"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_CTEXTBOX
tristate "CTextBox"
default n
depends on NXWIDGETS
config NXWIDGETS_UNITTEST_NXWM
tristate "NxWM"
default y
depends on NXWM
endmenu # Unit Tests

View File

@ -0,0 +1,37 @@
############################################################################
# apps/graphics/NxWidgets/UnitTests/Make.defs
# Adds selected applications to apps/ build
#
# Copyright (C) 2018 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
include $(wildcard graphics/NxWidgets/UnitTests/*/Make.defs)

View File

@ -34,4 +34,3 @@
############################################################################
include $(APPDIR)/Directory.mk

View File

@ -34,6 +34,6 @@
#
############################################################################
if ($(CONFIG_NXWIDGETS_UNITTEST_NXWM)
ifeq ($(CONFIG_NXWIDGETS_UNITTEST_NXWM),y)
CONFIGURED_APPS += graphics/NxWidgets/UnitTests/nxwm
endif

View File

@ -0,0 +1,40 @@
############################################################################
# apps/graphics/NxWidgets/libnxwidgets/Make.defs
# Adds selected applications to apps/ build
#
# Copyright (C) Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
ifeq ($(CONFIG_NXWIDGETS),y)
CONFIGURED_APPS += graphics/NxWidgets/libnxwidgets
endif

View File

@ -35,26 +35,22 @@
-include $(TOPDIR)/Make.defs
# Control build verbosity
ifeq ($(V),1)
export Q :=
else
export Q := @
endif
NXWIDGETDIR := ${shell pwd | sed -e 's/ /\\ /g'}
ASRCS =
CSRCS =
# Infrastructure
CXXSRCS = cbitmap.cxx cbgwindow.cxx ccallback.cxx cgraphicsport.cxx
CXXSRCS += clistdata.cxx clistdataitem.cxx cnxfont.cxx
CXXSRCS += cnxserver.cxx cnxstring.cxx cnxtimer.cxx cnxwidget.cxx cnxwindow.cxx
CXXSRCS += cnxtkwindow.cxx cnxtoolbar.cxx crect.cxx crlepalettebitmap.cxx
CXXSRCS += cscaledbitmap.cxx cstringiterator.cxx ctext.cxx cwidgetcontrol.cxx cwidgeteventhandlerlist.cxx
CXXSRCS += cwindoweventhandlerlist.cxx singletons.cxx
CXXSRCS += cscaledbitmap.cxx cstringiterator.cxx ctext.cxx cwidgetcontrol.cxx
CXXSRCS += cwidgeteventhandlerlist.cxx cwindoweventhandlerlist.cxx singletons.cxx
# Widget APIs
CXXSRCS += cbutton.cxx cbuttonarray.cxx ccheckbox.cxx ccyclebutton.cxx
CXXSRCS += cglyphbutton.cxx cglyphsliderhorizontal.cxx cglyphsliderhorizontalgrip.cxx
CXXSRCS += cimage.cxx ckeypad.cxx clabel.cxx clatchbutton.cxx
@ -66,7 +62,9 @@ CXXSRCS += cscrollingpanel.cxx cscrollingtextbox.cxx csliderhorizontal.cxx
CXXSRCS += csliderhorizontalgrip.cxx cslidervertical.cxx csliderverticalgrip.cxx
CXXSRCS += cstickybutton.cxx cstickybuttonarray.cxx cstickyimage.cxx ctabpanel.cxx
CXXSRCS += ctextbox.cxx
# Images
CXXSRCS += glyph_nxlogo160x160.cxx glyph_nxlogo320x320.cxx
CXXSRCS += glyph_arrowdown.cxx glyph_checkboxon.cxx glyph_screendepthup.cxx
CXXSRCS += glyph_arrowleft.cxx glyph_control.cxx glyph_screenflipdown.cxx
@ -76,9 +74,11 @@ CXXSRCS += glyph_backspace.cxx glyph_radiobuttonmu.cxx glyph_windowclose.cxx
CXXSRCS += glyph_capslock.cxx glyph_radiobuttonon.cxx glyph_windowdepthdown.cxx
CXXSRCS += glyph_checkboxmu.cxx glyph_return.cxx glyph_windowdepthup.cxx
CXXSRCS += glyph_checkboxoff.cxx glyph_screendepthdown.cxx
SRCS = $(ASRCS) $(CSRCS) $(CXXSRCS)
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(NXWIDGETDIR)$(DELIM)include}
CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(NXWIDGETDIR)$(DELIM)include}
VPATH = $(NXWIDGETDIR)$(DELIM)src
include $(APPDIR)/Application.mk

View File

@ -0,0 +1,40 @@
############################################################################
# apps/graphics/NxWidgets/nxwm/Make.defs
# Adds selected applications to apps/ build
#
# Copyright (C) Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
ifeq ($(CONFIG_NXWM),y)
CONFIGURED_APPS += graphics/NxWidgets/nxwm
endif

View File

@ -87,11 +87,11 @@ CXXSRCS += glyph_mediaplayer24x24.cxx glyph_mplayer_controls32x32.cxx
endif
endif
SRCS = $(ASRCS) $(CSRCS) $(CXXSRCS)
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(NXWMDIR)$(DELIM)include}
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(NXWIDGETDIR)$(DELIM)include}
CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(NXWMDIR)$(DELIM)include}
CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(NXWIDGETDIR)$(DELIM)include}
VPATH = $(NXWIDGETDIR)$(DELIM)src
include $(APPDIR)/Application.mk