Browse Source

Added list of files and its generator for cmake.

Hilton Medeiros 15 years ago
parent
commit
21d5aeb3f6

+ 14 - 8
Build/CMakeLists.txt

@@ -11,6 +11,9 @@ set(LIBROCKET_VERSION_MINOR 2)
 set(LIBROCKET_VERSION_PATCH 0)
 set(PROJECT_VERSION ${LIBROCKET_VERSION_MAJOR}.${LIBROCKET_VERSION_MINOR}.${LIBROCKET_VERSION_PATCH})
 
+# Search in the 'cmake' directory for additional CMake modules.
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
+
 
 #===================================
 # Environment tests ================
@@ -54,12 +57,14 @@ endif()
 # Setup paths ======================
 #===================================
 
+set(PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/..)
+
 include_directories(
-    ${PROJECT_SOURCE_DIR}/../Include
+    ${PROJECT_SOURCE_DIR}/Include
 )
 
-set(SOURCE "../Source")
-
+# Include list of source files
+include(FileList)
 
 #===================================
 # Build libraries ==================
@@ -68,16 +73,17 @@ set(SOURCE "../Source")
 set(LIBRARIES Core Controls Debugger)
 
 foreach(library ${LIBRARIES})
-	set(LIB_SOURCE_PATH "${SOURCE}/${library}")
-	set(NAME "Rocket${library}")
+    set(NAME Rocket${library})
+
+    add_library(${NAME} ${${library}_SRC_FILES}
+                        ${${library}_HDR_FILES}
+                        ${${library}_PUB_HDR_FILES}
+    )
 
-	aux_source_directory(${LIB_SOURCE_PATH} LIB_SOURCES)
-	add_library(${NAME} ${LIB_SOURCES})
     set_target_properties(${NAME} PROPERTIES
                            VERSION ${PROJECT_VERSION}
                            SOVERSION ${LIBROCKET_VERSION_MAJOR}
     )
-	set(LIB_SOURCES)
 
     install(TARGETS ${NAME}
             LIBRARY DESTINATION lib

+ 412 - 0
Build/cmake/FileList.cmake

@@ -0,0 +1,412 @@
+# This file was auto-generated with gen_filelists.sh
+
+set(Core_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorFirstOfType.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledBoxInstancer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementStyle.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/ContextInstancerDefault.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyParserKeyword.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementDefinition.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorOnlyChild.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorNoneInstancer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledHorizontal.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledImageInstancer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/PluginRegistry.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorEmpty.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetParser.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLNodeHandlerTemplate.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyShorthandDefinition.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorNthOfType.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementTextDefault.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelector.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectShadowInstancer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorLastOfType.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureLayoutRow.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementBackground.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyParserString.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureResource.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNode.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/Clock.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledInstancer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledImage.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledVerticalInstancer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorLastChild.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementHandle.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/EventDispatcher.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/Pool.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/TemplateCache.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/Template.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/UnicodeRange.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/EventIterators.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLNodeHandlerBody.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutBlockBox.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/WidgetSlider.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutInlineBoxText.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontFaceLayer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementImage.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontFamily.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiled.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyParserColour.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLParseTools.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/WidgetSliderScroll.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutBlockBoxSpace.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DocumentHeader.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/precompiled.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontFaceHandle.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorNthLastChild.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorFirstChild.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutLineBox.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DebugFont.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectNone.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectShadow.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureDatabase.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyParserNumber.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledVertical.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorNthChild.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureLayoutRectangle.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutInlineBox.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/GeometryDatabase.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectOutlineInstancer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureLayoutTexture.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontFace.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureLayout.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/EventInstancerDefault.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementBorder.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLNodeHandlerHead.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementDecoration.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StreamFile.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutEngine.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectOutline.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetFactory.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorNthLastOfType.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FileInterfaceDefault.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLNodeHandlerDefault.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorNone.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledHorizontalInstancer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StringCache.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectNoneInstancer.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledBox.h
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorOnlyOfType.h
+)
+
+set(Core_PUB_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/FontEffect.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/StringStorage.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/TypeConverter.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ElementScroll.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/SystemInterface.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Colour.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Box.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ConvolutionFilter.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/EventListenerInstancer.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ElementInstancerGeneric.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/FileInterface.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/MathTypes.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ElementInstancer.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/PropertySpecification.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Property.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Plugin.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ElementReference.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/StreamMemory.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/WString.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/EventListener.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/PropertyDefinition.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Decorator.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Texture.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/PropertyDictionary.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/StyleSheet.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Pool.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/FontGlyph.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ReferenceCountable.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/StringUtilities.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Vertex.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ElementUtilities.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Factory.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Stream.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/GeometryUtilities.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Vector2.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/StyleSheetSpecification.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/RenderInterface.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/StyleSheetKeywords.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Core.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/FontDatabase.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Header.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Dictionary.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Types.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/XMLParser.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ElementDocument.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/BaseXMLParser.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Debug.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/URL.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Input.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Event.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Geometry.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Font.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ElementText.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/String.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Element.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ScriptInterface.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/StringBase.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/EventInstancer.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/DecoratorInstancer.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Context.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/FontEffectInstancer.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Variant.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Math.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Log.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/Platform.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/XMLNodeHandler.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/PropertyParser.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core/ContextInstancer.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Core.h
+)
+
+set(Core_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Source/Core/StreamMemory.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledVertical.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/EventInstancerDefault.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementHandle.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLNodeHandlerBody.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureDatabase.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledBox.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetParser.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Core.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Template.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLNodeHandler.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/String.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ReferenceCountable.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorLastOfType.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementBackground.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledHorizontal.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/EventDispatcher.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/EventListenerInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StringCache.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementUtilities.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/TemplateCache.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledBoxInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Event.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Clock.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/GeometryDatabase.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorOnlyChild.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementDecoration.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffect.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FileInterfaceDefault.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLNodeHandlerTemplate.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ConvolutionFilter.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiled.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLNodeHandlerHead.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DocumentHeader.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ContextInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Decorator.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/BaseXMLParser.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Box.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyDefinition.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Math.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementText.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/precompiled.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetSpecification.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectNone.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/PluginRegistry.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/RenderInterface.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ContextInstancerDefault.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutInlineBoxText.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureLayout.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyDictionary.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Context.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutEngine.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/WidgetSlider.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Property.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementStyle.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorNoneInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Element.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectOutlineInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontDatabase.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Texture.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementScroll.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontFaceLayer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/UnicodeRange.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FileInterface.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorNthLastChild.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectShadow.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetFactory.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorLastChild.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutBlockBoxSpace.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectNoneInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontFace.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Vector2.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyParserKeyword.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNode.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementDocument.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorEmpty.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledImageInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectOutline.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontFamily.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/WString.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/URL.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontEffectShadowInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledHorizontalInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorNone.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StreamFile.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Dictionary.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledImage.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/EventInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureLayoutRow.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StringStorage.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertySpecification.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/FontFaceHandle.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/SystemInterface.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementBorder.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Plugin.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutLineBox.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureLayoutRectangle.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureResource.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutBlockBox.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorNthOfType.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementImage.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelector.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/GeometryUtilities.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorNthLastOfType.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/WidgetSliderScroll.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLParseTools.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorFirstOfType.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementTextDefault.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyParserNumber.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLNodeHandlerDefault.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/TextureLayoutTexture.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Stream.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/XMLParser.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheet.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorFirstChild.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StringUtilities.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Log.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Variant.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorNthChild.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Geometry.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/DecoratorTiledVerticalInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementReference.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/StyleSheetNodeSelectorOnlyOfType.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyParserString.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/PropertyParserColour.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/Factory.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/ElementDefinition.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Core/LayoutInlineBox.cpp
+)
+
+set(Controls_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetDropDown.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeRange.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetSliderInput.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetTextInputSingleLine.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetTextInput.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeButton.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetSlider.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetTextInputMultiLine.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/XMLNodeHandlerTabSet.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeCheckbox.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeSubmit.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeRadio.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementTextSelection.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputType.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/XMLNodeHandlerDataGrid.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/XMLNodeHandlerTextArea.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetTextInputSingleLinePassword.h
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeText.h
+)
+
+set(Controls_PUB_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/DataQuery.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementFormControlDataSelect.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementFormControlTextArea.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementTabSet.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/Controls.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementFormControlSelect.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/SelectOption.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementFormControlInput.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementFormControl.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/Header.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/DataSource.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementDataGrid.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementDataGridExpandButton.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementDataGridRow.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/Clipboard.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/DataFormatter.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/DataSourceListener.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementForm.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls/ElementDataGridCell.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Controls.h
+)
+
+set(Controls_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Source/Controls/SelectOption.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetTextInputSingleLinePassword.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/XMLNodeHandlerDataGrid.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/XMLNodeHandlerTextArea.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetDropDown.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementTabSet.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementFormControlTextArea.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/Clipboard.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetTextInputMultiLine.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/DataSourceListener.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetSliderInput.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementFormControlDataSelect.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeSubmit.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetTextInput.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/Controls.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeRadio.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementDataGridRow.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementFormControlSelect.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetSlider.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementDataGridExpandButton.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeText.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeCheckbox.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputType.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementFormControlInput.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementDataGrid.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementTextSelection.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/XMLNodeHandlerTabSet.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/DataQuery.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementForm.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeButton.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/InputTypeRange.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementDataGridCell.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/ElementFormControl.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/WidgetTextInputSingleLine.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/DataFormatter.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Controls/DataSource.cpp
+)
+
+set(Debugger_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/ElementLog.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/SystemInterface.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/InfoSource.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/Plugin.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/LogSource.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/ElementInfo.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/BeaconSource.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/Geometry.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/MenuSource.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/ElementContextHook.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/CommonSource.h
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/FontSource.h
+)
+
+set(Debugger_PUB_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Debugger/Header.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Debugger/Debugger.h
+    ${PROJECT_SOURCE_DIR}/Include/Rocket/Debugger.h
+)
+
+set(Debugger_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/ElementInfo.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/Debugger.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/ElementLog.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/ElementContextHook.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/SystemInterface.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/Plugin.cpp
+    ${PROJECT_SOURCE_DIR}/Source/Debugger/Geometry.cpp
+)
+

+ 167 - 0
Build/cmake/SampleFileList.cmake

@@ -0,0 +1,167 @@
+# This file was auto-generated with gen_samplelists.sh
+
+set(customlog_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/customlog/src/SystemInterface.h
+)
+
+set(customlog_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/customlog/src/main.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/customlog/src/SystemInterface.cpp
+)
+
+set(directx_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/directx/src/RenderInterfaceDirectX.h
+)
+
+set(directx_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/directx/src/main.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/directx/src/RenderInterfaceDirectX.cpp
+)
+
+set(drag_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/drag/src/Inventory.h
+    ${PROJECT_SOURCE_DIR}/Samples/basic/drag/src/DragListener.h
+)
+
+set(drag_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/drag/src/main.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/drag/src/DragListener.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/drag/src/Inventory.cpp
+)
+
+set(loaddocument_HDR_FILES
+)
+
+set(loaddocument_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/loaddocument/src/main.cpp
+)
+
+set(ogre3d_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/ogre3d/src/RocketApplication.h
+    ${PROJECT_SOURCE_DIR}/Samples/basic/ogre3d/src/RenderInterfaceOgre3D.h
+    ${PROJECT_SOURCE_DIR}/Samples/basic/ogre3d/src/RocketFrameListener.h
+    ${PROJECT_SOURCE_DIR}/Samples/basic/ogre3d/src/SystemInterfaceOgre3D.h
+)
+
+set(ogre3d_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/ogre3d/src/RenderInterfaceOgre3D.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/ogre3d/src/SystemInterfaceOgre3D.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/ogre3d/src/main.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/ogre3d/src/RocketFrameListener.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/ogre3d/src/RocketApplication.cpp
+)
+
+set(treeview_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/treeview/src/FileSystem.h
+    ${PROJECT_SOURCE_DIR}/Samples/basic/treeview/src/FileFormatter.h
+)
+
+set(treeview_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/basic/treeview/src/main.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/treeview/src/FileSystem.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/basic/treeview/src/FileFormatter.cpp
+)
+
+set(invaders_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/ElementGame.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventHandler.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Invader.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Shield.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/DecoratorInstancerStarfield.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Mothership.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventManager.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventHandlerOptions.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/DecoratorInstancerDefender.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Defender.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/DecoratorStarfield.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Game.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/GameDetails.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/HighScoresNameFormatter.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Event.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/HighScores.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventInstancer.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/DecoratorDefender.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventHandlerStartGame.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventHandlerHighScore.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/HighScoresShipFormatter.h
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Sprite.h
+)
+
+set(invaders_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/DecoratorInstancerStarfield.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/main.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Invader.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/HighScoresShipFormatter.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventHandlerOptions.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Event.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Sprite.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventHandler.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/HighScoresNameFormatter.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Game.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/GameDetails.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/DecoratorInstancerDefender.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/DecoratorStarfield.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventInstancer.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Mothership.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventHandlerHighScore.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/DecoratorDefender.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/ElementGame.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Shield.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventManager.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/HighScores.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/EventHandlerStartGame.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/invaders/src/Defender.cpp
+)
+
+set(pyinvaders_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/ElementGame.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Invader.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Shield.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/DecoratorInstancerStarfield.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Mothership.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/DecoratorInstancerDefender.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Defender.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/DecoratorStarfield.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Game.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/GameDetails.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/PythonInterface.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/HighScores.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/DecoratorDefender.h
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Sprite.h
+)
+
+set(pyinvaders_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/DecoratorInstancerStarfield.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/main.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Invader.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Sprite.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Game.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/GameDetails.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/DecoratorInstancerDefender.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/DecoratorStarfield.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/PythonInterface.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Mothership.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/DecoratorDefender.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/ElementGame.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Shield.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/HighScores.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/pyinvaders/src/Defender.cpp
+)
+
+set(shell_HDR_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/shell/include/ShellSystemInterface.h
+    ${PROJECT_SOURCE_DIR}/Samples/shell/include/ShellFileInterface.h
+    ${PROJECT_SOURCE_DIR}/Samples/shell/include/ShellRenderInterfaceOpenGL.h
+    ${PROJECT_SOURCE_DIR}/Samples/shell/include/ShellOpenGL.h
+    ${PROJECT_SOURCE_DIR}/Samples/shell/include/Input.h
+    ${PROJECT_SOURCE_DIR}/Samples/shell/include/Shell.h
+)
+
+set(shell_SRC_FILES
+    ${PROJECT_SOURCE_DIR}/Samples/shell/src/Input.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/shell/src/ShellFileInterface.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/shell/src/ShellSystemInterface.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/shell/src/ShellRenderInterfaceOpenGL.cpp
+    ${PROJECT_SOURCE_DIR}/Samples/shell/src/Shell.cpp
+)
+

+ 29 - 0
Build/cmake/gen_filelists.sh

@@ -0,0 +1,29 @@
+#!/bin/bash
+
+basedir="../.."
+file=Build/cmake/FileList.cmake
+src='set(lib_SRC_FILES'
+hdr='set(lib_HDR_FILES'
+pubhdr='set(lib_PUB_HDR_FILES'
+srcdir='${PROJECT_SOURCE_DIR}'
+
+printfiles() {
+    echo ${hdr/lib/$1} >>$file
+    find  Source/$1/ -maxdepth 1 -iname "*.h" -exec echo '    '$srcdir/{} \; >>$file
+    echo -e ')\n' >>$file
+    echo ${pubhdr/lib/$1} >>$file
+    find  Include/Rocket/$1/ -maxdepth 1 -iname "*.h" -exec echo '    '$srcdir/{} \; >>$file
+    echo '    '$srcdir/Include/Rocket/$1.h >>$file
+    echo -e ')\n' >>$file
+    echo ${src/lib/$1} >>$file
+    find  Source/$1/ -maxdepth 1 -iname "*.cpp" -exec echo '    '$srcdir/{} \; >>$file
+    echo -e ')\n' >>$file
+}
+
+pushd $basedir
+echo -e "# This file was auto-generated with gen_filelists.sh\n" >$file
+for lib in "Core" "Controls" "Debugger"; do
+    printfiles $lib
+done
+popd
+

+ 32 - 0
Build/cmake/gen_samplelists.sh

@@ -0,0 +1,32 @@
+#!/bin/bash
+
+basedir="../.."
+file=Build/cmake/SampleFileList.cmake
+src='set(sample_SRC_FILES'
+hdr='set(sample_HDR_FILES'
+srcdir='${PROJECT_SOURCE_DIR}'
+srcpath=Samples
+samples=('basic/customlog' 'basic/directx' 'basic/drag' 'basic/loaddocument'
+        'basic/ogre3d' 'basic/treeview' 'invaders' 'pyinvaders' 'shell'
+)
+
+printfiles() {
+    # Print headers
+    name=${1/'basic/'/} #substitute basic/ for nothing
+    echo ${hdr/sample/$name} >>$file
+    find  $srcpath/$1/src -maxdepth 1 -iname "*.h" -exec echo '    '$srcdir/{} \; >>$file
+    find  $srcpath/$1/include -maxdepth 1 -iname "*.h" -exec echo '    '$srcdir/{} \; >>$file 2>/dev/null
+    echo -e ')\n' >>$file
+    # Print source files
+    echo ${src/sample/$name} >>$file
+    find  $srcpath/$1/src -maxdepth 1 -iname "*.cpp" -exec echo '    '$srcdir/{} \; >>$file
+    echo -e ')\n' >>$file
+}
+
+pushd $basedir
+echo -e "# This file was auto-generated with gen_samplelists.sh\n" >$file
+for sample in ${samples[@]}; do
+    printfiles $sample
+done
+popd
+