Added CMake build system 68/144968/3
authorDavid Steele <david.steele@samsung.com>
Fri, 18 Aug 2017 20:14:36 +0000 (21:14 +0100)
committerDavid Steele <david.steele@samsung.com>
Mon, 21 Aug 2017 15:39:09 +0000 (16:39 +0100)
Added a secondary folder build/tizen-cmake which implements a CMake equivalent of
autotools

Ensured coverage rules work fine.

(Note, doesn't have a pkg-config setup, as dali-core doesn't need one)

Change-Id: I14901695eabc0c8f8b6462b6e0c46dfa1664e750
Signed-off-by: David Steele <david.steele@samsung.com>
.gitignore
build/tizen-cmake/CMakeLists.txt [new file with mode: 0644]
build/tizen-cmake/dali-core.pc.in [new file with mode: 0644]
build/tizen/Makefile.am
dali/devel-api/CMakeLists.txt [new file with mode: 0644]
dali/integration-api/CMakeLists.txt [new file with mode: 0644]
dali/internal/CMakeLists.txt [new file with mode: 0644]
dali/public-api/CMakeLists.txt [new file with mode: 0644]

index caf34e7..cfb5c0e 100644 (file)
@@ -5,6 +5,13 @@
 Makefile.in
 Makefile
 BROWSE
+CMakeCache.txt
+CMakeFiles/
+cmake_install.cmake
+dali.info
+install_manifest.txt
+libdali-core.so.0
+libdali-core.so.0.1.1
 *~
 *.pc
 *.o
diff --git a/build/tizen-cmake/CMakeLists.txt b/build/tizen-cmake/CMakeLists.txt
new file mode 100644 (file)
index 0000000..baf23b0
--- /dev/null
@@ -0,0 +1,197 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+CMAKE_POLICY(SET CMP0012 NEW) # Prevent dereferencing of OFF/ON as variables
+
+SET(name "dali-core")
+
+PROJECT(${name})
+SET(PKG_NAME ${name})
+
+# API VERSION (Not DALi release version)
+SET(${name}_VERSION_MAJOR 0)
+SET(${name}_VERSION_MINOR 1)
+SET(${name}_VERSION_PATCH 1)
+SET(${name}_VERSION ${${name}_VERSION_MAJOR}.${${name}_VERSION_MINOR}.${${name}_VERSION_PATCH})
+
+SET(DALI_VERSION ${${name}_VERSION} )
+
+# Define options to CMake
+
+OPTION(ENABLE_EXPORTALL      "Enable Export all symbols" OFF)
+OPTION(ENABLE_DEBUG          "Enable Debug" OFF)
+OPTION(ENABLE_BACKTRACE      "Enable Backtrace" OFF)
+OPTION(ENABLE_LOCK_BACKTRACE "Enable" OFF)
+OPTION(ENABLE_COVERAGE       "Coverage" OFF)
+SET(GLES_VERSION 20 CACHE INTEGER "Gles Version")
+
+# Set up compiler definitions
+
+ADD_DEFINITIONS(-DPLATFORM_TIZEN -DDALI_COMPILATION)
+ADD_DEFINITIONS(-DDALI_GLES_VERSION=${GLES_VERSION})
+ADD_DEFINITIONS(-DPIC -DSTDC_HEADERS)
+
+IF("${ARCH}" STREQUAL "arm")
+    ADD_DEFINITIONS("-DTARGET")
+ENDIF("${ARCH}" STREQUAL "arm")
+
+IF( NOT ${ENABLE_EXPORTALL} AND NOT ${ENABLE_DEBUG} )
+  ADD_DEFINITIONS( "-fvisibility=hidden -DHIDE_DALI_INTERNALS" )
+ENDIF( NOT ${ENABLE_EXPORTALL} AND NOT ${ENABLE_DEBUG} )
+
+IF( ENABLE_DEBUG )
+  ADD_DEFINITIONS( "-DDEBUG_ENABLED" )
+ENDIF( ENABLE_DEBUG )
+
+IF( ENABLE_BACKTRACE OR ENABLE_LOCK_BACKTRACE )
+  ADD_DEFINITIONS( "-DBACKTRACE_ENABLED" )
+ENDIF( ENABLE_BACKTRACE OR ENABLE_LOCK_BACKTRACE )
+
+IF( ENABLE_LOCK_BACKTRACE )
+  ADD_DEFINITIONS( "-DLOCK_BACKTRACE_ENABLED" )
+ENDIF( ENABLE_LOCK_BACKTRACE )
+
+# Deployment folder should come from spec file or command line:
+SET( PREFIX ${CMAKE_INSTALL_PREFIX})
+SET( EXEC_PREFIX ${CMAKE_INSTALL_PREFIX})
+
+# from root/build/tizen, get back to root
+SET(ROOT_SRC_DIR ${CMAKE_SOURCE_DIR}/../..)
+
+# Requires the following variables to be setup
+# @PREFIX@ @EXEC_PREFIX@ @DALI_VERSION@ @LIBDIR@ @DEV_INCLUDE_PATH@
+SET(INCLUDE_DIR $ENV{includedir})
+SET(DEV_INCLUDE_PATH ${INCLUDE_DIR})
+SET(LIB_DIR $ENV{libdir})
+CONFIGURE_FILE( dali-core.pc.in dali-core.pc )
+
+MESSAGE( STATUS "CMAKE_BUILD_TYPE: " ${CMAKE_BUILD_TYPE} )
+if(CMAKE_BUILD_TYPE MATCHES Debug)
+    MESSAGE("Setting variable: DEBUG_ENABLED")
+    SET(DEBUG_ENABLED "1")
+ENDIF()
+
+# Set up compiler flags and warnings
+#ADD_COMPILE_OPTIONS( -std=c++11 -ggdb )
+ADD_COMPILE_OPTIONS( -std=c++11 -gdwarf-4 )
+ADD_COMPILE_OPTIONS( -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast )
+ADD_COMPILE_OPTIONS( -Werror -Wall -Wextra -Wno-unused-parameter -Wfloat-equal )
+
+IF( ENABLE_DEBUG )
+  ADD_COMPILE_OPTIONS( -O0 )
+ELSE( ENABLE_DEBUG )
+  ADD_COMPILE_OPTIONS( -Os )
+ENDIF( ENABLE_DEBUG )
+
+IF( ENABLE_COVERAGE OR CXXFLAGS MATCHES --coverage)
+  ADD_COMPILE_OPTIONS( --coverage )
+  SET(COVERAGE --coverage)
+ENDIF()
+
+INCLUDE_DIRECTORIES(
+  ${ROOT_SRC_DIR}
+)
+
+SET(SOURCE_DIR "${ROOT_SRC_DIR}/dali")
+
+SET(SOURCES "")
+
+# could use INCLUDE to get the source lists a different way;
+# would then need to specify a build folder somehow...
+ADD_SUBDIRECTORY( ${SOURCE_DIR}/internal dali/internal )
+ADD_SUBDIRECTORY( ${SOURCE_DIR}/integration-api dali/integration-api )
+ADD_SUBDIRECTORY( ${SOURCE_DIR}/public-api dali/public-api )
+ADD_SUBDIRECTORY( ${SOURCE_DIR}/devel-api dali/devel-api )
+
+ADD_LIBRARY( ${name} SHARED ${SOURCES} )
+
+TARGET_LINK_LIBRARIES( ${name}
+  -lpthread
+  ${COVERAGE}
+)
+
+SET_TARGET_PROPERTIES( ${name}
+  PROPERTIES
+  VERSION ${DALI_VERSION}
+  SOVERSION ${${name}_VERSION_MAJOR}
+  CLEAN_DIRECT_OUPUT 1
+)
+
+# Install the library so file and symlinks
+INSTALL( TARGETS ${name} DESTINATION ${PREFIX}/lib )
+
+# macro for installing headers by replacing prefix. (TODO, investigate
+# if there is a CMAKE way of doing this automatically)
+MACRO(INSTALL_HEADERS_WITH_DIRECTORY HEADER_LIST STRIP_PREFIX REPLACE_PREFIX)
+  GET_FILENAME_COMPONENT( SPREFIX ${STRIP_PREFIX} ABSOLUTE )
+  FOREACH(HEADER ${${HEADER_LIST}})
+    STRING(REGEX MATCH "(.*)[/]" DIR ${HEADER})
+    STRING(REPLACE ${SPREFIX} ${REPLACE_PREFIX} NEWDIR ${DIR})
+    INSTALL(FILES ${HEADER} DESTINATION ${PREFIX}/include/${NEWDIR})
+  ENDFOREACH(HEADER)
+ENDMACRO(INSTALL_HEADERS_WITH_DIRECTORY)
+
+# Install headers using lists defined by ADD_SUBDIRECTORY
+INSTALL_HEADERS_WITH_DIRECTORY(PUBLIC_API_HEADERS ${SOURCE_DIR} "dali")
+INSTALL_HEADERS_WITH_DIRECTORY(DEVEL_API_HEADERS ${SOURCE_DIR} "dali")
+INSTALL_HEADERS_WITH_DIRECTORY(INTEGRATION_API_HEADERS ${SOURCE_DIR} "dali")
+
+IF(UNIX)
+  # Define custom rules for coverage
+  SET(COVERAGE_DIR .cov)
+  SET(COVERAGE_OUTPUT_DIR doc/coverage)
+
+  # lcov prior to 1.10 doesn't have -rc option; this and subsequent version don't output
+  # branch coverage. Determine the lcov version, and enable branch coverage accordingly.
+  EXECUTE_PROCESS( COMMAND bash -c "lcov --version | cut -d' ' -f4" OUTPUT_VARIABLE LCOV_VERSION )
+  STRING( REPLACE "." ";" LCOV_VLIST ${LCOV_VERSION})
+  IF( NOT $<VERSION_LESS:${LCOV_VERSION},"1.10"> )
+    SET(LCOV_OPTS --rc lcov_branch_coverage=1)
+  ENDIF()
+
+  ADD_CUSTOM_TARGET( cov_data lcov ${LCOV_OPTS} --base-directory dali --directory . -c -o dali.info
+          COMMAND lcov ${LCOV_OPTS} --remove dali.info \"*/dali-env/*\" \"/usr/include/*\" \"public-api/shader-effects/*\" \"*/image-actor*\" -o dali.info )
+
+  ADD_CUSTOM_TARGET( coverage genhtml ${LCOV_OPTS} -o ${COVERAGE_OUTPUT_DIR} dali.info
+    DEPENDS cov_data )
+
+  ADD_CUSTOM_TARGET( reset_coverage @lcov -z --directory `pwd` )
+
+  # Define custom rule for distclean
+  ADD_CUSTOM_TARGET( distclean @echo cleaning for source distribution )
+  ADD_CUSTOM_COMMAND(
+        DEPENDS clean
+        COMMENT "distribution clean"
+        COMMAND find
+        ARGS    .
+        -not -name config.cmake -and \(
+        -name tester.c -or
+        -name Testing -or
+        -name CMakeFiles -or
+        -name cmake.depends -or
+        -name cmake.check_depends -or
+        -name CMakeCache.txt -or
+        -name cmake.check_cache -or
+        -name *.cmake -or
+        -name Makefile -or
+        -name core -or
+        -name core.* -or
+        -name gmon.out -or
+        -name install_manifest.txt -or
+        -name *.pc -or
+        -name *.gcov -or
+        -name *.gcno -or
+        -name *.gcda -or
+        -name *~ \)
+        | grep -v TC | xargs rm -rf
+        TARGET  distclean
+        VERBATIM
+        )
+
+ENDIF(UNIX)
+
+
+MESSAGE( STATUS "Configuration:\n" )
+MESSAGE( STATUS "Prefix:                " ${PREFIX} )
+MESSAGE( STATUS "Debug build:           " ${ENABLE_DEBUG} )
+MESSAGE( STATUS "Backtrace:             " ${ENABLE_BACKTRACE} )
+MESSAGE( STATUS "Scoped Lock backtrace: " ${ENABLE_LOCK_BACKTRACE} )
+MESSAGE( STATUS "Coverage:              " ${ENABLE_COVERAGE} )
diff --git a/build/tizen-cmake/dali-core.pc.in b/build/tizen-cmake/dali-core.pc.in
new file mode 100644 (file)
index 0000000..b6ff02d
--- /dev/null
@@ -0,0 +1,12 @@
+prefix=@PREFIX@
+exec_prefix=@EXEC_PREFIX@
+apiversion=@DALI_VERSION@
+libdir=@LIBDIR@
+includedir=@DEV_INCLUDE_PATH@
+
+Name: DALi 3D Engine
+Description: Cross platform 3D Engine
+Version: ${apiversion}
+Requires:
+Libs: -L${libdir} -ldali-core
+Cflags: -I${includedir} -std=c++11
index 7d9bf95..b97d9e4 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2014 Samsung Electronics Co., Ltd.
+# Copyright (c) 2017 Samsung Electronics Co., Ltd.
 
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -52,7 +52,6 @@ rename_cov_data:
 cov_data: rename_cov_data
        @cd $(COVERAGE_DIR) ; lcov $(LCOV_OPTS) --base-directory . --directory . -c -o dali.info
        @cd $(COVERAGE_DIR) ; lcov $(LCOV_OPTS) --remove dali.info "*/dali-env/*" "/usr/include/*" "public-api/shader-effects/*" "*/image-actor*" -o dali.info
-
        @test -z $(COVERAGE_OUTPUT_DIR) || mkdir -p $(COVERAGE_OUTPUT_DIR)
 
 coverage: cov_data
diff --git a/dali/devel-api/CMakeLists.txt b/dali/devel-api/CMakeLists.txt
new file mode 100644 (file)
index 0000000..75151be
--- /dev/null
@@ -0,0 +1,72 @@
+SET( SOURCES ${SOURCES}
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/actor-devel.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/custom-actor-devel.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/animation-data.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/animation-devel.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/path-constrainer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/hash.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/stage-devel.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/hit-test-algorithm.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/distance-field.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/texture-set-image.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/nine-patch-image.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/pixel-data-devel.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/handle-devel.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/weak-handle.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/csharp-type-registry.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/scripting/scripting.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/signal-delegate.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/threading/conditional-wait.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/threading/mutex.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/threading/thread.cpp
+
+  PARENT_SCOPE )
+
+SET( DEVEL_API_HEADERS
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/actor-devel.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/custom-actor-devel.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/layer-devel.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/animation-data.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/path-constrainer.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/animation-devel.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/circular-queue.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/dali-vector-devel.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/hash.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/map-wrapper.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/owner-container.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/ref-counted-dali-vector.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/set-wrapper.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/stage-devel.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/hit-test-algorithm.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/device.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-event-devel.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/key-event-devel.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/distance-field.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/native-image-interface-extension.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/nine-patch-image.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/texture-set-image.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/pixel-data-devel.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/pixel-devel.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/csharp-type-info.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/csharp-type-registry.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/handle-devel.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-helper-devel.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/weak-handle.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/renderer-devel.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/signal-delegate.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/scripting/enum-helper.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/scripting/scripting.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/threading/conditional-wait.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/threading/mutex.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/threading/thread.h
+
+  PARENT_SCOPE )
diff --git a/dali/integration-api/CMakeLists.txt b/dali/integration-api/CMakeLists.txt
new file mode 100644 (file)
index 0000000..07ae15d
--- /dev/null
@@ -0,0 +1,59 @@
+# Add platform abstraction headers here
+
+SET(SOURCES ${SOURCES}
+  ${CMAKE_CURRENT_SOURCE_DIR}/bitmap.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/core.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/debug.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/profiling.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/input-options.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/system-overlay.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/lockless-buffer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/gesture-event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/hover-event-integ.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/key-event-integ.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/long-press-gesture-event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/wheel-event-integ.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/multi-point-event-integ.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pan-gesture-event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pinch-gesture-event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/point.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/tap-gesture-event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-event-combiner.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-event-integ.cpp
+  PARENT_SCOPE )
+
+SET(INTEGRATION_API_HEADERS
+  ${CMAKE_CURRENT_SOURCE_DIR}/core.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/context-notifier.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/debug.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/profiling.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/input-options.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/bitmap.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/resource-policies.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/resource-types.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/gl-abstraction.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/gl-defines.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/gl-sync-abstraction.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/gesture-manager.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/render-controller.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/platform-abstraction.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/system-overlay.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/lockless-buffer.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/gesture-event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/gesture-requests.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/hover-event-integ.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/key-event-integ.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/long-press-gesture-event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/wheel-event-integ.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/multi-point-event-integ.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pan-gesture-event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pinch-gesture-event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/point.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/tap-gesture-event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-event-combiner.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-event-integ.h
+
+  PARENT_SCOPE )
diff --git a/dali/internal/CMakeLists.txt b/dali/internal/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b9ac3eb
--- /dev/null
@@ -0,0 +1,145 @@
+# Add internal source files here
+
+SET(SOURCES ${SOURCES}
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/blending-options.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/core-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/internal-constants.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/math.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/message-buffer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/mutex-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/image-sampler.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/image-attributes.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/fixed-size-memory-pool.cpp
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/actors/actor-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/actors/custom-actor-internal.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/actors/layer-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/actors/layer-list.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/actors/camera-actor-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/animation/animation-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/animation/animation-playlist.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/animation/constrainer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/animation/constraint-base.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/animation/key-frames-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/animation/linear-constrainer-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/animation/path-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/animation/path-constrainer-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/demangler.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/event-thread-services.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/notification-manager.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/object-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/object-registry-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/projection.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/property-buffer-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/property-conditions-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/property-metadata.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/property-notification-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/property-notification-manager.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/property-helper.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/stage-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/system-overlay-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/thread-local-storage.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/type-info-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/common/type-registry-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/effects/shader-factory.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/actor-gesture-data.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/actor-observer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/event-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/key-event-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/key-event-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/gesture-detector-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/gesture-event-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/gesture-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/hit-test-algorithm-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/hover-event-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/long-press-gesture-detector-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/long-press-gesture-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/wheel-event-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/multi-point-event-util.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/pan-gesture-detector-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/pan-gesture-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/pinch-gesture-detector-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/pinch-gesture-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/tap-gesture-detector-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/tap-gesture-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/touch-data-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/events/touch-event-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/bitmap-packed-pixel.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/bitmap-compressed.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/image-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/buffer-image-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/frame-buffer-image-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/encoded-buffer-image-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/nine-patch-image-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/resource-image-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/native-image-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/images/pixel-data-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/object/custom-object-internal.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/render-tasks/render-task-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/render-tasks/render-task-list-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/rendering/frame-buffer-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/rendering/geometry-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/rendering/texture-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/rendering/texture-set-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/rendering/renderer-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/rendering/sampler-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/rendering/shader-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/size-negotiation/memory-pool-relayout-container.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/event/size-negotiation/relayout-controller-impl.cpp
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/common/render-algorithms.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/common/render-debug.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/common/render-instruction.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/common/render-instruction-container.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/common/render-item.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/common/render-tracker.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/common/render-manager.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/data-providers/render-data-provider.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/gl-resources/context.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/gl-resources/frame-buffer-state-cache.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/gl-resources/gl-call-debug.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/gl-resources/gpu-buffer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/queue/render-queue.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/renderers/render-frame-buffer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/renderers/render-geometry.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/renderers/render-property-buffer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/renderers/render-renderer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/renderers/render-texture.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/shaders/program.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/shaders/program-controller.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render/shaders/scene-graph-shader.cpp
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/animation/scene-graph-animation.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/animation/scene-graph-constraint-base.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/discard-queue.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/property-base.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/property-owner-messages.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/property-condition-functions.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/property-condition-step-functions.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/property-condition-variable-step-functions.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/property-owner.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/scene-graph-buffers.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/scene-graph-connection-change-propagator.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/scene-graph-property-notification.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/common/uniform-map.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/controllers/render-message-dispatcher.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/controllers/scene-controller-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/gestures/pan-gesture-profiling.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/gestures/scene-graph-pan-gesture.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/queue/update-message-queue.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/manager/render-instruction-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/manager/render-task-processor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/manager/transform-manager.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/manager/update-algorithms.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/manager/update-manager.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/manager/update-manager-debug.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/render-tasks/scene-graph-camera.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/nodes/node.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/nodes/node-messages.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/nodes/scene-graph-layer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/render-tasks/scene-graph-render-task.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/render-tasks/scene-graph-render-task-list.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/rendering/scene-graph-texture-set.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/update/rendering/scene-graph-renderer.cpp
+
+  PARENT_SCOPE )
diff --git a/dali/public-api/CMakeLists.txt b/dali/public-api/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c7f2e58
--- /dev/null
@@ -0,0 +1,219 @@
+#
+# Add public-api source files here
+#
+SET(SOURCES ${SOURCES}
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/actor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/camera-actor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/custom-actor.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/custom-actor-impl.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/layer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/animation.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/alpha-function.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/constraint.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/constraint-source.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/key-frames.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/linear-constrainer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/path.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/time-period.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/constants.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/dali-common.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/dali-vector.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/stage.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/gesture.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/gesture-detector.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/hover-event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/key-event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/long-press-gesture.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/long-press-gesture-detector.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/wheel-event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pan-gesture.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pan-gesture-detector.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pinch-gesture.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pinch-gesture-detector.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/tap-gesture.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/tap-gesture-detector.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-point.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-event.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-data.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/image.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/pixel.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/pixel-data.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/buffer-image.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/frame-buffer-image.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/encoded-buffer-image.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/resource-image.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/native-image.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/compile-time-math.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/degree.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/matrix.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/matrix3.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/quaternion.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/vector2.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/vector3.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/vector4.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/any.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/base-handle.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/handle.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/base-object.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/object-registry.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-array.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-conditions.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-input.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-key.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-map.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-notification.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-types.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-value.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/ref-object.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render-tasks/render-task.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/render-tasks/render-task-list.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/frame-buffer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/geometry.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/property-buffer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/texture.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/texture-set.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/renderer.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/sampler.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/shader.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/callback.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/connection-tracker.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/connection-tracker-interface.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/signal-slot-connections.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/signal-slot-observers.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/base-signal.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/functor-delegate.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/type-info.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/type-registry.cpp
+  ${CMAKE_CURRENT_SOURCE_DIR}/dali-core-version.cpp
+
+  PARENT_SCOPE )
+
+#
+# Add public header files here
+#
+SET(PUBLIC_API_HEADERS
+  ${CMAKE_CURRENT_SOURCE_DIR}/dali-core.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/dali-core-version.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/actor.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/actor-enumerations.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/camera-actor.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/custom-actor.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/custom-actor-impl.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/draw-mode.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/layer.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/actors/sampling.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/alpha-function.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/animation.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/constraint.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/constraints.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/constraint-source.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/key-frames.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/linear-constrainer.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/path.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/animation/time-period.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/compile-time-assert.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/constants.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/dali-common.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/dali-vector.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/intrusive-ptr.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/loading-state.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/stage.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/type-traits.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/vector-wrapper.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/common/view-mode.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/gesture.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/gesture-detector.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/hover-event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/key-event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/long-press-gesture.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/long-press-gesture-detector.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/wheel-event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pan-gesture.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pan-gesture-detector.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pinch-gesture.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/pinch-gesture-detector.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/point-state.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/tap-gesture.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/tap-gesture-detector.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-point.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-event.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/events/touch-data.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/buffer-image.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/encoded-buffer-image.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/frame-buffer-image.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/image.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/image-operations.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/pixel.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/pixel-data.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/resource-image.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/native-image.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/images/native-image-interface.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/angle-axis.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/compile-time-math.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/degree.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/math-utils.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/matrix.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/matrix3.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/quaternion.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/radian.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/random.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/rect.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/uint-16-pair.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/vector2.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/vector3.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/vector4.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/math/viewport.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/any.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/base-handle.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/base-object.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/handle.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/object-registry.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-array.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-conditions.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-index-ranges.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-input.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-key.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-map.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-notification-declarations.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-notification.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-types.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property-value.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/property.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/ref-object.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/type-info.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/type-registry.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/object/type-registry-helper.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/render-tasks/render-task.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/render-tasks/render-task-list.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/frame-buffer.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/geometry.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/property-buffer.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/texture.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/texture-set.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/renderer.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/sampler.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/rendering/shader.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/size-negotiation/relayout-container.h
+
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/base-signal.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/callback.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/connection-tracker-interface.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/connection-tracker.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/dali-signal.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/functor-delegate.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/signal-slot-connections.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/signal-slot-observers.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/signals/slot-delegate.h
+
+  PARENT_SCOPE )