Update spec and CMakeLists.txt 35/275835/5
authorXianbing Teng <xb.teng@samsung.com>
Thu, 2 Jun 2022 13:26:22 +0000 (21:26 +0800)
committerXianbing Teng <xb.teng@samsung.com>
Tue, 19 Jul 2022 09:34:36 +0000 (17:34 +0800)
Change-Id: I64621ac3368aae5b5d2457a0db28f5a4114b89cf

17 files changed:
.gitignore
README.md
build/tizen/CMakeLists.txt
build/tizen/Makefile.am [deleted file]
build/tizen/autogen.sh [deleted file]
build/tizen/configure.ac [deleted file]
build/tizen/dali2-csharp-binder.pc.in
build/tizen/profiles/common-profile.cmake [new file with mode: 0644]
build/tizen/profiles/ivi-profile.cmake [new file with mode: 0644]
build/tizen/profiles/macos-profile.cmake [new file with mode: 0644]
build/tizen/profiles/mobile-profile.cmake [new file with mode: 0644]
build/tizen/profiles/tv-profile.cmake [new file with mode: 0644]
build/tizen/profiles/ubuntu-profile.cmake [new file with mode: 0644]
build/tizen/profiles/wearable-profile.cmake [new file with mode: 0644]
build/tizen/profiles/windows-profile.cmake [new file with mode: 0644]
dali-csharp-binder/file.list
packaging/dali-csharp-binder.spec

index 37ba5cb..15990c5 100755 (executable)
@@ -35,3 +35,5 @@ build/tizen/m4/
 build/tizen/.deps/
 build/tizen/.libs/
 build/tizen/build/
+build/tizen/cmake_install.cmake
+build/tizen/install_manifest.txt
index d478b54..c4802ce 100644 (file)
--- a/README.md
+++ b/README.md
@@ -49,13 +49,17 @@ e.g. it avoids spurious 'defined but not used' warnings in header files.
 
 To build the repository enter the 'build/tizen' folder:
 
- cd dali-csharp-binder/build/tizen
        $ cd dali-csharp-binder/build/tizen
 
-Then run the following commands:
+Then run the following command to set up the build:
 
- autoreconf --install
- ./configure --prefix=$DESKTOP_PREFIX
- make install -j8
+         $ cmake -DCMAKE_INSTALL_PREFIX=$DESKTOP_PREFIX .
+
+If a Debug build is required, then add -DCMAKE_BUILD_TYPE=Debug
+
+To build run:
+
+         $ make install -j8
 
 3. Building for Windows
 =======================
index 0a1e800..cc546b2 100644 (file)
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.8.2)
 
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_C_STANDARD 99)
+SET(CMAKE_CXX_STANDARD 17)
+SET(CMAKE_C_STANDARD 99)
 
-set(name "dali2-csharp-binder")
+SET(name "dali2-csharp-binder")
 
 project(${name} CXX)
 
-set(${name}_VERSION_MAJOR 2)
-set(${name}_VERSION_MINOR 0)
-set(${name}_VERSION_PATCH 0)
-set(${name}_VERSION ${${name}_VERSION_MAJOR}.${${name}_VERSION_MINOR}.${${name}_VERSION_PATCH})
-
-add_definitions(-DDALI_PROFILE_WINDOWS)
-add_compile_options( /FIdali-windows-dependencies.h ) # Adds missing definitions.
-add_compile_options( /vmg ) # Avoids a 'reinterpret_cast' compile error while compiling signals and callbacks.
-add_compile_options( /wd4251 ) # Ignores warning C4251: "'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'"
-
-add_definitions(-D_USE_MATH_DEFINES)
-
-set(VCPKG_INCLUDE_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
+SET(GCC_COMPILER_VERSION_REQUIRED "6")
+IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+  IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_COMPILER_VERSION_REQUIRED)
+    MESSAGE(FATAL_ERROR "The GCC required compiler version is " ${GCC_COMPILER_VERSION_REQUIRED})
+  ENDIF()
+ENDIF()
+
+SET(${name}_VERSION_MAJOR 2)
+SET(${name}_VERSION_MINOR 0)
+SET(${name}_VERSION_PATCH 0)
+SET(${name}_VERSION ${${name}_VERSION_MAJOR}.${${name}_VERSION_MINOR}.${${name}_VERSION_PATCH})
+
+SET(DALI_CSHARP_BINDER_VERSION ${${name}_VERSION} )
+
+# Define options to CMake
+OPTION(ENABLE_EXPORTALL          "Enable Export all symbols" OFF)
+OPTION(ENABLE_DEBUG              "Enable Debug" OFF)
+OPTION(ENABLE_PROFILE            "Enable Profile" OFF)
+OPTION(ENABLE_TRACE              "Enable Trace" ON)
+OPTION(ENABLE_PKG_CONFIGURE      "Use pkgconfig" ON)
+OPTION(ENABLE_RIVE_ANIMATION     "Enable rive animation" OFF)
+OPTION(ENABLE_ECORE_WAYLAND2     "Enable ecore wayland2" OFF)
+
+# Set up compiler definitions
+IF(CMAKE_BUILD_TYPE MATCHES Debug)
+  SET( ENABLE_DEBUG ON )
+ENDIF()
+
+IF( ENABLE_DEBUG )
+  MESSAGE( STATUS "CMAKE_BUILD_TYPE: " Debug )
+  ADD_DEFINITIONS( "-DDEBUG_ENABLED" )
+  SET( ENABLE_EXPORTALL ON )
+ELSE()
+  MESSAGE( STATUS "CMAKE_BUILD_TYPE: " Release )
+ENDIF()
+
+IF( NOT ENABLE_PROFILE )
+  IF( ANDROID )
+    SET( ENABLE_PROFILE ANDROID )
+  ELSE()
+    SET( ENABLE_PROFILE UBUNTU )
+  ENDIF()
+ENDIF()
+
+# from root/build/tizen, get back to root.
+# set the variable only if it's not set yet. it allows to access build script
+# from top-level directory
+IF( NOT ROOT_SRC_DIR )
+  SET(ROOT_SRC_DIR ${CMAKE_SOURCE_DIR}/../..)
+ENDIF()
+# Make sure the path is absolute
+GET_FILENAME_COMPONENT(ROOT_SRC_DIR ${ROOT_SRC_DIR} ABSOLUTE)
+
+
+# Test for profile and exit if something wrong
+SET( VALID_PROFILES COMMON MOBILE WEARABLE TV IVI UBUNTU ANDROID WINDOWS MACOS )
+LIST( FIND VALID_PROFILES ${ENABLE_PROFILE} RESULT )
+IF( RESULT EQUAL -1 )
+  MESSAGE( FATAL_ERROR "Invalid profile!" )
+ENDIF()
+
+# Defines profile specific variable
+SET( ${ENABLE_PROFILE}_PROFILE 1 )
+
+IF( ENABLE_PKG_CONFIGURE )
+  FIND_PACKAGE( PkgConfig REQUIRED )
+
+  PKG_CHECK_MODULES(DALICORE REQUIRED dali2-core)
+  PKG_CHECK_MODULES(DALIADAPTOR REQUIRED dali2-adaptor)
+  PKG_CHECK_MODULES(DALITOOLKIT REQUIRED dali2-toolkit)
+ENDIF()
+
+ADD_DEFINITIONS(-DDALI_PROFILE_WINDOWS)
+
+IF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc.
+  FIND_PACKAGE( dali-windows-dependencies REQUIRED )
+  FIND_PACKAGE( dali2-core REQUIRED )
+  FIND_PACKAGE( dali2-adaptor REQUIRED )
+  FIND_PACKAGE( dali2-toolkit REQUIRED )
+  FIND_PACKAGE( pthreads REQUIRED )
+ENDIF()
+
+SET( DALI_CFLAGS
+  ${DALICORE_CFLAGS}
+  ${DALIADAPTOR_CFLAGS}
+  ${DALITOOLKIT_CFLAGS}
+)
 
-find_package( pthreads REQUIRED )
-find_package( curl REQUIRED )
-find_library( GETOPT_LIBRARY NAMES getopt )
-find_library( EXIF_LIBRARY NAMES libexif )
+SET( DALI_LDFLAGS
+    ${DALICORE_LDFLAGS}
+    ${DALIADAPTOR_LDFLAGS}
+    ${DALITOOLKIT_LDFLAGS}
+)
 
-find_package( png REQUIRED )
-find_package( gif REQUIRED )
-find_package( jpeg REQUIRED )
-find_library( TURBO_JPEG_LIBRARY NAMES turbojpeg )
+ADD_DEFINITIONS(-D_USE_MATH_DEFINES)
 
-find_package( unofficial-fontconfig REQUIRED )
-find_package( freetype REQUIRED )
-find_package( harfbuzz REQUIRED )
-find_library( FRIBIDI_LIBRARY NAMES fribidi )
+SET(VCPKG_INCLUDE_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include")
 
-find_package( unofficial-angle REQUIRED )
-find_package( unofficial-cairo REQUIRED )
+# set lowercase profile name
+STRING( TOLOWER ${ENABLE_PROFILE} PROFILE_LCASE )
 
-find_package( WebP REQUIRED )
 
-find_package( dali-windows-dependencies REQUIRED )
-find_package( dali2-core REQUIRED )
-find_package( dali2-adaptor REQUIRED )
-find_package( dali2-toolkit REQUIRED )
+# Deployment folder should come from spec file or command line:
+SET( PREFIX ${CMAKE_INSTALL_PREFIX})
+SET( EXEC_PREFIX ${CMAKE_INSTALL_PREFIX})
 
 # Set up the include dir
-set( INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include )
-set( LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib )
-set( BIN_DIR ${CMAKE_INSTALL_PREFIX}/bin )
-
-set( REQUIRED_LIBS
-  PThreads4W::PThreads4W
-  CURL::libcurl
-  ${GETOPT_LIBRARY}
-  ${EXIF_LIBRARY}
-  ${PNG_LIBRARIES}
-  ${GIF_LIBRARIES}
-  JPEG::JPEG
-  ${TURBO_JPEG_LIBRARY}
-  unofficial::fontconfig::fontconfig
-  Freetype::Freetype
-  harfbuzz::harfbuzz
-  ${FRIBIDI_LIBRARY}
-  unofficial::angle::libEGL
-  unofficial::angle::libGLESv2
-  unofficial::cairo::cairo
-  WebP::webp
-  WebP::webpdemux
-  dali-windows-dependencies::dali-windows-dependencies
-  dali2-core::dali2-core
-  dali2-adaptor::dali2-adaptor
-  dali2-toolkit::dali2-toolkit
-)
-
-include_directories(
+SET( INCLUDE_DIR $ENV{includedir} )
+IF( NOT INCLUDE_DIR )
+  SET( INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR} )
+ENDIF()
+IF( NOT INCLUDE_DIR )
+  SET( INCLUDE_DIR ${PREFIX}/include )
+ENDIF()
+
+# Set up the lib dir
+SET( LIB_DIR $ENV{libdir} )
+IF( NOT LIB_DIR )
+  SET( LIB_DIR ${CMAKE_INSTALL_LIBDIR} )
+ENDIF()
+IF( NOT LIB_DIR )
+  SET( LIB_DIR ${PREFIX}/lib )
+ENDIF()
+
+# Set up the bin dir
+SET( BIN_DIR $ENV{bindir} )
+IF( NOT BIN_DIR )
+  SET( BIN_DIR ${CMAKE_INSTALL_BINDIR} )
+ENDIF()
+IF( NOT BIN_DIR )
+  SET( BIN_DIR ${PREFIX}/bin )
+ENDIF()
+
+# Set up compiler flags and warnings
+IF( UNIX )
+  ADD_COMPILE_OPTIONS( -Wall ${DALI_CFLAGS} )# -Wextra -Wno-unused-parameter )# -Wfloat-equal )
+ELSEIF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc.
+  ADD_COMPILE_OPTIONS( /FIdali-windows-dependencies.h ) # Adds missing definitions.
+  ADD_COMPILE_OPTIONS( /vmg ) # Avoids a 'reinterpret_cast' compile error while compiling signals and callbacks.
+  ADD_COMPILE_OPTIONS( /wd4251 ) # Ignores warning C4251: "'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'"
+ENDIF()
+
+# from root/build/tizen, get back to root
+SET(ROOT_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../)
+
+# Make sure the path is absolute
+GET_FILENAME_COMPONENT(ROOT_SRC_DIR ${ROOT_SRC_DIR} ABSOLUTE)
+
+SET(dali_csharp_binder_dir ${CMAKE_CURRENT_SOURCE_DIR}/../../dali-csharp-binder)
+INCLUDE( ${dali_csharp_binder_dir}/file.list )
+
+# Include profile specific setup
+INCLUDE( profiles/${PROFILE_LCASE}-profile.cmake )
+
+IF( ENABLE_PKG_CONFIGURE )
+  # Configure the pkg-config file
+  # Requires the following variables to be setup:
+  # @PREFIX@ @EXEC_PREFIX@ @DALI_VERSION@ @LIB_DIR@ @DEV_INCLUDE_PATH@
+  SET( DEV_INCLUDE_PATH ${INCLUDE_DIR} )
+  SET( CORE_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali2-csharp-binder.pc )
+  CONFIGURE_FILE( ${CORE_PKG_CFG_FILE}.in ${CORE_PKG_CFG_FILE} @ONLY )
+ENDIF()
+
+INCLUDE_DIRECTORIES(
+  ${ROOT_SRC_DIR}
+  ${PROFILE_INCLUDE_DIRECTORIES}
   ${VCPKG_INCLUDE_DIR}
   ${CMAKE_INSTALL_PREFIX}/include
   ${INCLUDE_DIR}
 )
 
-link_directories(${LIB_DIR})
-
-set(dali_csharp_binder_dir ${CMAKE_CURRENT_SOURCE_DIR}/../../dali-csharp-binder)
-
-set(SOURCES
-  ${dali_csharp_binder_dir}/src/callbackbase_wrap.cpp
-  ${dali_csharp_binder_dir}/src/keyboard_focus_manager_wrap.cpp
-  ${dali_csharp_binder_dir}/src/devel-property-wrap.cpp
-  ${dali_csharp_binder_dir}/src/version-check.cpp
-  ${dali_csharp_binder_dir}/src/processor-controller.cpp
-  ${dali_csharp_binder_dir}/src/flex-layout.cpp
-  ${dali_csharp_binder_dir}/src/gestures.cpp
-  ${dali_csharp_binder_dir}/src/view-wrapper-impl-wrap.cpp
-  ${dali_csharp_binder_dir}/src/event-thread-callback-wrap.cpp
-  ${dali_csharp_binder_dir}/src/application.cpp
-  ${dali_csharp_binder_dir}/src/text-editor.cpp
-  ${dali_csharp_binder_dir}/src/text-field.cpp
-  ${dali_csharp_binder_dir}/src/window.cpp
-  ${dali_csharp_binder_dir}/src/tts-player.cpp
-  ${dali_csharp_binder_dir}/src/input-method-context.cpp
-  ${dali_csharp_binder_dir}/src/input-method-options.cpp
-  ${dali_csharp_binder_dir}/src/animation.cpp
-  ${dali_csharp_binder_dir}/src/adaptor.cpp
-  ${dali_csharp_binder_dir}/src/extents.cpp
-  ${dali_csharp_binder_dir}/src/text-label.cpp
-  ${dali_csharp_binder_dir}/src/text-utils.cpp
-  ${dali_csharp_binder_dir}/src/dali_wrap.cpp
-)
+ADD_LIBRARY(${name} SHARED ${SOURCES})
 
-add_library(${name} SHARED ${SOURCES})
-target_link_libraries(${name} ${REQUIRED_LIBS})
+TARGET_LINK_LIBRARIES(${name}
+                      ${DALI_LDFLAGS}
+                      ${REQUIRED_LIBS})
 
-set_target_properties(${name}
+SET_TARGET_PROPERTIES(${name}
   PROPERTIES
   VERSION ${${name}_VERSION}
   SOVERSION ${${name}_VERSION_MAJOR}
   CLEAN_DIRECT_OUPUT 1
 )
 
-# Install the pdb file.
-if( ${CMAKE_BUILD_TYPE} MATCHES Debug )
-  set(BIN_DIR ${BIN_DIR}/debug)
-  set(LIB_DIR ${LIB_DIR}/debug)
-  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/${name}.pdb DESTINATION ${BIN_DIR} )
-endif()
-
-# Install the library so file and symlinks
-install( TARGETS ${name}
-  LIBRARY DESTINATION ${LIB_DIR}
-  ARCHIVE DESTINATION ${LIB_DIR}
-  RUNTIME DESTINATION ${BIN_DIR}
-)
+IF( INSTALL_CMAKE_MODULES )
+  # Install the pdb file.
+  IF( ENABLE_DEBUG )
+    SET(BIN_DIR "${BIN_DIR}/debug")
+    SET(LIB_DIR "${LIB_DIR}/debug")
+  ENDIF()
+
+  # Install the library so file and symlinks
+  INSTALL( TARGETS ${name}
+    EXPORT ${name}-targets
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR}
+    RUNTIME DESTINATION ${BIN_DIR}
+  )
+
+  # Install the cmake modules.
+  INSTALL(
+    EXPORT ${name}-targets
+    NAMESPACE ${name}::
+    FILE ${name}-targets.cmake
+    DESTINATION share/${name}
+  )
+
+  FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}-config.cmake "
+    include(CMakeFindDependencyMacro)
+    include(\${CMAKE_CURRENT_LIST_DIR}/${name}-targets.cmake)
+  ")
+
+  INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-config.cmake DESTINATION share/${name})
+
+  # Install the pdb file.
+  IF( ENABLE_DEBUG AND WIN32 )
+    INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/${name}.pdb DESTINATION ${BIN_DIR} )
+  ENDIF()
+ELSE()
+  # Install the library so file and symlinks
+  INSTALL( TARGETS ${name} DESTINATION ${LIB_DIR} )
+ENDIF()
+
+# Install the pkg-config file
+IF( ENABLE_PKG_CONFIGURE )
+  INSTALL( FILES ${CORE_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig )
+ENDIF()
+
+# Install headers
+INSTALL( FILES ${dali_csharp_binder_header_files} DESTINATION ${INCLUDE_DIR}/dali-csharp-binder )
+
+# Configuration Messages
+MESSAGE( STATUS "Configuration:\n" )
+MESSAGE( STATUS "Prefix:                        " ${PREFIX} )
+MESSAGE( STATUS "Lib Dir:                       " ${LIB_DIR} )
+MESSAGE( STATUS "Include Dir:                   " ${INCLUDE_DIR} )
+MESSAGE( STATUS "Debug build:                   " ${ENABLE_DEBUG} )
+MESSAGE( STATUS "Profile:                       " ${ENABLE_PROFILE} )
+MESSAGE( STATUS "Export all symbols:            " ${ENABLE_EXPORTALL} )
+MESSAGE( STATUS "Trace:                         " ${ENABLE_TRACE} )
+MESSAGE( STATUS "Use pkg configure:             " ${ENABLE_PKG_CONFIGURE} )
+MESSAGE( STATUS "CXXFLAGS:                      " ${CMAKE_CXX_FLAGS} )
+MESSAGE( STATUS "LDFLAGS:                       " ${CMAKE_SHARED_LINKER_FLAGS_INIT}${CMAKE_SHARED_LINKER_FLAGS} )
diff --git a/build/tizen/Makefile.am b/build/tizen/Makefile.am
deleted file mode 100644 (file)
index fe724a6..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-#
-# Copyright (c) 2020 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.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-MAINTAINERCLEANFILES = \
-    aclocal.m4 \
-    autom4te.cache \
-    config.guess \
-    config.sub \
-    config.h.in \
-    configure \
-    depcomp \
-    install-sh \
-    ltmain.sh \
-    m4 \
-    missing \
-    `find "$(srcdir)" -type f -name Makefile.in -print` \
-    `find . \( -name "*.gcov" -o -name "*.gcno" -o -name "*.gcda" \) -print`
-
-CLEANFILES = \
-       `find . \( -name "*.gcov" -o -name "*.gcno" -o -name "*.gcda" \) -print`
-
-# Build the Dali csharp binder library
-
-############# INCLUDE FILE LISTS #############
-
-dali_csharp_binder_dir = ../../dali-csharp-binder
-include ../../dali-csharp-binder/file.list
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = dali2-csharp-binder.pc
-
-# sources
-if UBUNTU_PROFILE
-LIBDALI_CSHARP_BINDER_LA_SOURCES = \
-                        $(dali_csharp_binder_common_src_files)
-endif
-
-if MOBILE_PROFILE
-LIBDALI_CSHARP_BINDER_LA_SOURCES = \
-                        $(dali_csharp_binder_common_src_files) \
-                        $(dali_csharp_binder_tizen_src_files)
-endif
-
-if IVI_PROFILE
-LIBDALI_CSHARP_BINDER_LA_SOURCES = \
-                        $(dali_csharp_binder_common_src_files) \
-                        $(dali_csharp_binder_tizen_src_files)
-endif
-
-if TV_PROFILE
-LIBDALI_CSHARP_BINDER_LA_SOURCES = \
-                        $(dali_csharp_binder_common_src_files) \
-                        $(dali_csharp_binder_tizen_src_files)
-endif
-
-if COMMON_PROFILE
-LIBDALI_CSHARP_BINDER_LA_SOURCES = \
-                        $(dali_csharp_binder_common_src_files) \
-                        $(dali_csharp_binder_tizen_src_files)
-endif
-
-if WEARABLE_PROFILE
-LIBDALI_CSHARP_BINDER_LA_SOURCES = \
-                        $(dali_csharp_binder_common_src_files) \
-                        $(dali_csharp_binder_tizen_src_files) \
-                        $(dali_csharp_binder_tizen_wearable_src_files)
-endif
-
-if RIVE_ANIMATION
-LIBDALI_CSHARP_BINDER_RIVE_LA_SOURCES = \
-                        $(dali_csharp_binder_tizen_rive_src_files)
-endif
-
-LIBDALI_CSHARP_BINDER_LA_includes = \
-        -I../../
-
-LIBDALI_CSHARP_BINDER_LA_CXXFLAGS = \
-                        -DDALI_DATA_RW_DIR="\"${daliReadWriteDir}\"" \
-                        -DDALI_DATA_RO_DIR="\"${daliReadOnlyDir}\"" \
-                        $(LIBDALI_CSHARP_BINDER_LA_includes) \
-                        ${CFLAGS} \
-                        $(DALICORE_CFLAGS) \
-                        $(DALIADAPTOR_CFLAGS) \
-                        $(DALITOOLKIT_CFLAGS) \
-                        $(DALI_CSHARP_BINDER_CFLAGS)
-
-LIBDALI_CSHARP_BINDER_LA_LIBADD = \
-                    $(DALICORE_LIBS) \
-                    $(DALIADAPTOR_LIBS) \
-                    $(DALITOOLKIT_LIBS)
-
-if !UBUNTU_PROFILE
-LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \
-                            $(DALIWIDGET_CFLAGS)
-LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIWIDGET_LIBS)
-if ECORE_WAYLAND2
-LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DECORE_WL2 \
-                            -DEFL_BETA_API_SUPPORT \
-                            $(ECORE_WL2_CFLAGS)
-else
-LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += $(ECORE_WAYLAND_CFLAGS)
-endif
-
-endif
-
-if WEARABLE_PROFILE
-LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \
-                            $(DALIWATCHVIEW_CFLAGS)
-LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIWATCHVIEW_LIBS)
-
-LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \
-                            $(DALIWATCHHOLDERBASE_CFLAGS)
-LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIWATCHHOLDERBASE_LIBS)
-endif
-
-if RIVE_ANIMATION
-LIBDALI_CSHARP_BINDER_LA_CXXFLAGS += -DTIZEN_BUILD \
-                            $(DALIRIVEVIEW_CFLAGS)
-LIBDALI_CSHARP_BINDER_LA_LIBADD += $(DALIRIVEVIEW_LIBS)
-endif
-
-lib_LTLIBRARIES = libdali2-csharp-binder.la
-
-libdali2_csharp_binder_la_SOURCES = $(LIBDALI_CSHARP_BINDER_LA_SOURCES)
-if RIVE_ANIMATION
-libdali2_csharp_binder_la_SOURCES += $(LIBDALI_CSHARP_BINDER_RIVE_LA_SOURCES)
-endif
-libdali2_csharp_binder_la_includes = $(LIBDALI_CSHARP_BINDER_LA_INCLUDES)
-libdali2_csharp_binder_ladir = $(libdir)
-libdali2_csharp_binder_la_LDFLAGS = ${LDFLAGS}
-libdali2_csharp_binder_la_CXXFLAGS = $(LIBDALI_CSHARP_BINDER_LA_CXXFLAGS)
-libdali2_csharp_binder_la_LIBADD = $(LIBDALI_CSHARP_BINDER_LA_LIBADD)
-
-libdali2_csharp_binderdir = $(includedir)/dali-csharp-binder
-libdali2_csharp_binder_HEADERS = $(dali_csharp_binder_header_files)
diff --git a/build/tizen/autogen.sh b/build/tizen/autogen.sh
deleted file mode 100755 (executable)
index d247709..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-rm -rf autom4te.cache
-rm -f aclocal.m4 ltmain.sh
-
-echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS || exit 1
-echo "Running autoheader..." ; autoheader || exit 1
-echo "Running autoconf..." ; autoconf || exit 1
-echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
-echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
-
-if [ -z "$NOCONFIGURE" ]; then
-         ./configure "$@"
-fi
-
diff --git a/build/tizen/configure.ac b/build/tizen/configure.ac
deleted file mode 100644 (file)
index 5367cb3..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-#                                               -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-
-m4_define([dali_version],[2.0.0])
-AC_INIT([dali], [dali_version])
-AM_INIT_AUTOMAKE([-Wall foreign])
-AC_CONFIG_MACRO_DIR([m4])
-
-# Checks for programs.
-AC_PROG_CXX
-AC_PROG_LIBTOOL
-AC_PROG_MKDIR_P
-
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
-LT_INIT
-
-DALI_CSHARP_BINDER_VERSION=dali_version
-AC_SUBST(DALI_CSHARP_BINDER_VERSION)
-
-AC_ARG_ENABLE([debug],
-              [AC_HELP_STRING([--enable-debug],
-                              [Turns on debugging])],
-              [enable_debug=$enableval],
-              [enable_debug=no])
-
-DALI_CSHARP_BINDER_CFLAGS="$DALI_CSHARP_BINDER_CFLAGS -std=c++17 "
-if test "x$enable_debug" = "xyes"; then
-  DALI_CSHARP_BINDER_CFLAGS="$DALI_CSHARP_BINDER_CFLAGS -DDEBUG_ENABLED"
-fi
-
-# Tizen Profile options
-AC_ARG_ENABLE([profile],
-              [AC_HELP_STRING([--enable-profile=COMMON,MOBILE,WEARABLE,TV,IVI,UBUNTU],
-                            [Select the variant of tizen])],
-              [enable_profile=$enableval],
-              [enable_profile=UBUNTU])
-
-# Ensure valid profile selected
-if test "x$enable_profile" != "xCOMMON" -a "x$enable_profile" != "xMOBILE" -a "x$enable_profile" != "xWEARABLE" -a "x$enable_profile" != "xTV" -a "x$enable_profile" != "xIVI" -a "x$enable_profile" != "xUBUNTU"; then
-  AC_MSG_ERROR([$enable_profile is an invalid profile])
-fi
-
-
-AC_ARG_ENABLE(wayland,
-              [  --enable-wayland       Build on Wayland],
-              enable_wayland=yes,
-              enable_wayland=no)
-
-AC_ARG_ENABLE(ecore_wayland2,
-              [  --enable-ecore-wayland2  Build on Ecore Wayland2],
-              enable_ecore_wayland2=yes,
-              enable_ecore_wayland2=no)
-
-AC_ARG_ENABLE([rive-animation-view],
-              [AC_HELP_STRING([--enable-rive-animation-view],
-              [enables the rive animation view])],
-              [enable_rive_animation_view=yes],
-              [enable_rive_animation_view=no])
-
-
-DALI_CSHARP_BINDER_CFLAGS="$DALI_CSHARP_BINDER_CFLAGS -DDALI_PROFILE_${enable_profile}"
-DALI_PROFILE_CFLAGS=" -DDALI_PROFILE_${enable_profile}"
-AM_CONDITIONAL([COMMON_PROFILE], [test x$enable_profile = xCOMMON])
-AM_CONDITIONAL([MOBILE_PROFILE], [test x$enable_profile = xMOBILE])
-AM_CONDITIONAL([WEARABLE_PROFILE], [test x$enable_profile = xWEARABLE])
-AM_CONDITIONAL([TV_PROFILE], [test x$enable_profile = xTV])
-AM_CONDITIONAL([IVI_PROFILE], [test x$enable_profile = xIVI])
-AM_CONDITIONAL([UBUNTU_PROFILE], [test x$enable_profile = xUBUNTU])
-AM_CONDITIONAL([WAYLAND], [test x$enable_wayland = xyes])
-AM_CONDITIONAL([ECORE_WAYLAND2], [test x$enable_ecore_wayland2 = xyes])
-AM_CONDITIONAL([ENABLE_RENAME_SO], [test x$enable_rename_so = xyes])
-AM_CONDITIONAL([RIVE_ANIMATION], [test x$enable_rive_animation_view = xyes])
-
-### AM_CONDITIONAL([TIZENBUILD], [test x$enable_tizenBuild = xyes])
-### AM_CONDITIONAL([ECOREWL2], [test x$enable_ecoreWl2 = xyes])
-
-PKG_CHECK_MODULES(DALICORE, dali2-core)
-PKG_CHECK_MODULES(DALIADAPTOR, dali2-adaptor)
-PKG_CHECK_MODULES(DALITOOLKIT, dali2-toolkit)
-
-if test "x$enable_profile" = "xMOBILE" -o "x$enable_profile" = "xWEARABLE" -o "x$enable_profile" = "xTV" -o "x$enable_profile" = "xIVI" -o "x$enable_profile" = "xCOMMON"; then
-  PKG_CHECK_MODULES(DALIWIDGET, widget_viewer_dali)
-  if test "x$enable_rive_animation_view" = "xyes"; then
-    PKG_CHECK_MODULES(DALIRIVEVIEW, dali2-extension-rive-animation-view)
-  fi
-
-  if test x$enable_ecore_wayland2 = xyes; then
-    PKG_CHECK_MODULES(ECORE_WL2, ecore-wl2)
-  else
-    PKG_CHECK_MODULES(ECORE_WAYLAND, ecore-wayland)
-  fi
-fi
-
-if test "x$enable_profile" = "xWEARABLE"; then
-  PKG_CHECK_MODULES(DALIWATCHVIEW, watch_viewer_dali)
-  PKG_CHECK_MODULES(DALIWATCHHOLDERBASE, watch-holder-base)
-fi
-
-if test x$DALI_DATA_RW_DIR != x; then
-  dataReadWriteDir=$DALI_DATA_RW_DIR
-else
-  dataReadWriteDir=${prefix}/share/dali/
-fi
-
-if test x$DALI_DATA_RO_DIR != x; then
-  dataReadOnlyDir=$DALI_DATA_RO_DIR
-else
-  dataReadOnlyDir=${prefix}/share/dali/
-fi
-
-if test x$includedir != x; then
-  INCLUDE_DIR=$includedir
-else
-  INCLUDE_DIR=$prefix/include/
-fi
-if test x$libdir != x; then
-  LIB_DIR=$libdir
-else
-  LIB_DIR=$prefix/lib/
-fi
-if test x$bindir != x; then
-  BIN_DIR=$bindir
-else
-  BIN_DIR=$prefix/bin/
-fi
-
-PREFIX=$prefix
-EXEC_PREFIX=$exec_prefix
-DEV_INCLUDE_PATH=$INCLUDE_DIR
-
-AC_SUBST(dataReadWriteDir)
-AC_SUBST(dataReadOnlyDir)
-AC_SUBST(DALI_CSHARP_BINDER_CFLAGS)
-AC_SUBST(DALI_PROFILE_CFLAGS)
-
-AC_SUBST(INCLUDE_DIR)
-AC_SUBST(LIB_DIR)
-AC_SUBST(BIN_DIR)
-
-AC_SUBST(PREFIX)
-AC_SUBST(EXEC_PREFIX)
-AC_SUBST(DEV_INCLUDE_PATH)
-
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_FILES([dali2-csharp-binder.pc])
-
-AC_OUTPUT
-
-
-echo "
-Configuration
--------------
-  Prefix:                           $prefix
-  EXEC_PREFIX:                      $EXEC_PREFIX
-  INCLUDE_DIR:                      $INCLUDE_DIR
-  LIB_DIR:                          $LIB_DIR
-  BIN_DIR:                          $BIN_DIR
-  Debug Build:                      $enable_debug
-  Compile flags:                    $DALI_CSHARP_BINDER_CFLAGS
-  Profile:                          $enable_profile
-  Data Dir (Read/Write):            $dataReadWriteDir
-  Data Dir (Read Only):             $dataReadOnlyDir
-"
index 04974ed..652db80 100644 (file)
@@ -9,6 +9,6 @@ includedir=@DEV_INCLUDE_PATH@
 Name: DALi C# binder
 Description: DALi C# binder Libaray
 Version: ${apiversion}
-Requires: dali-core dali-adaptor dali-toolkit
+Requires: dali2-core dali2-adaptor dali2-toolkit
 Libs: -L${libdir} -ldali2-csharp-binder
 Cflags: -I${includedir}/dali-csharp-binder
diff --git a/build/tizen/profiles/common-profile.cmake b/build/tizen/profiles/common-profile.cmake
new file mode 100644 (file)
index 0000000..050fad5
--- /dev/null
@@ -0,0 +1,41 @@
+# PROFILE: COMMON\r
+\r
+SET( SOURCES\r
+  ${dali_csharp_binder_common_src_files}\r
+  ${dali_csharp_binder_tizen_src_files}\r
+)\r
+\r
+ADD_DEFINITIONS( "-DTIZEN_BUILD" )\r
+PKG_CHECK_MODULES(DALIWIDGET widget_viewer_dali)\r
+SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIWIDGET_CFLAGS})\r
+\r
+IF( ENABLE_ECORE_WAYLAND2 )\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wl2)\r
+ELSE()\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wayland)\r
+ENDIF()\r
+\r
+# WAYLAND\r
+IF( ENABLE_WAYLAND )\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    -DWL_EGL_PLATFORM\r
+    ${WAYLAND_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${WAYLAND_LDFLAGS}\r
+  )\r
+ELSE()\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    ${X11_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${X11_LDFLAGS}\r
+    ${ECORE_X_LDFLAGS}\r
+  )\r
+ENDIF()\r
+\r
+# Set the header directories\r
+SET( PROFILE_INCLUDE_DIRECTORIES\r
+  ${WAYLAND_INCLUDE_DIRS}\r
+  ${DALIWIDGET_INCLUDE_DIRS}\r
+)\r
diff --git a/build/tizen/profiles/ivi-profile.cmake b/build/tizen/profiles/ivi-profile.cmake
new file mode 100644 (file)
index 0000000..ac40666
--- /dev/null
@@ -0,0 +1,48 @@
+# PROFILE: IVI\r
+\r
+SET( SOURCES\r
+  ${dali_csharp_binder_common_src_files}\r
+  ${dali_csharp_binder_tizen_src_files}\r
+)\r
+\r
+ADD_DEFINITIONS( "-DTIZEN_BUILD" )\r
+PKG_CHECK_MODULES(DALIWIDGET widget_viewer_dali)\r
+SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIWIDGET_CFLAGS})\r
+\r
+IF ( ENABLE_RIVE_ANIMATION )\r
+  PKG_CHECK_MODULES(DALIRIVEVIEW dali2-extension-rive-animation-view)\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIRIVEVIEW_CFLAGS})\r
+  SET( SOURCES ${SOURCES} ${dali_csharp_binder_tizen_rive_src_files} )\r
+ENDIF()\r
+\r
+IF( ENABLE_ECORE_WAYLAND2 )\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wl2)\r
+ELSE()\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wayland)\r
+ENDIF()\r
+\r
+# WAYLAND\r
+IF( ENABLE_WAYLAND )\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    -DWL_EGL_PLATFORM\r
+    ${WAYLAND_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${WAYLAND_LDFLAGS}\r
+  )\r
+ELSE()\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    ${X11_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${X11_LDFLAGS}\r
+    ${ECORE_X_LDFLAGS}\r
+  )\r
+ENDIF()\r
+\r
+# Set the header directories\r
+SET( PROFILE_INCLUDE_DIRECTORIES\r
+  ${WAYLAND_INCLUDE_DIRS}\r
+  ${DALIWIDGET_INCLUDE_DIRS}\r
+  ${DALIRIVEVIEW_INCLUDE_DIRS}\r
+)\r
diff --git a/build/tizen/profiles/macos-profile.cmake b/build/tizen/profiles/macos-profile.cmake
new file mode 100644 (file)
index 0000000..b63ffc8
--- /dev/null
@@ -0,0 +1,5 @@
+# PROFILE: MACOS\r
+\r
+SET( SOURCES\r
+  ${dali_csharp_binder_common_src_files}\r
+)
\ No newline at end of file
diff --git a/build/tizen/profiles/mobile-profile.cmake b/build/tizen/profiles/mobile-profile.cmake
new file mode 100644 (file)
index 0000000..a84a2c8
--- /dev/null
@@ -0,0 +1,48 @@
+# PROFILE: MOBILE\r
+\r
+SET( SOURCES\r
+  ${dali_csharp_binder_common_src_files}\r
+  ${dali_csharp_binder_tizen_src_files}\r
+)\r
+\r
+ADD_DEFINITIONS( "-DTIZEN_BUILD" )\r
+PKG_CHECK_MODULES(DALIWIDGET widget_viewer_dali)\r
+SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIWIDGET_CFLAGS})\r
+\r
+IF ( ENABLE_RIVE_ANIMATION )\r
+  PKG_CHECK_MODULES(DALIRIVEVIEW dali2-extension-rive-animation-view)\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIRIVEVIEW_CFLAGS})\r
+  SET( SOURCES ${SOURCES} ${dali_csharp_binder_tizen_rive_src_files} )\r
+ENDIF()\r
+\r
+IF( ENABLE_ECORE_WAYLAND2 )\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wl2)\r
+ELSE()\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wayland)\r
+ENDIF()\r
+\r
+# WAYLAND\r
+IF( ENABLE_WAYLAND )\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    -DWL_EGL_PLATFORM\r
+    ${WAYLAND_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${WAYLAND_LDFLAGS}\r
+  )\r
+ELSE()\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    ${X11_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${X11_LDFLAGS}\r
+    ${ECORE_X_LDFLAGS}\r
+  )\r
+ENDIF()\r
+\r
+# Set the header directories\r
+SET( PROFILE_INCLUDE_DIRECTORIES\r
+  ${WAYLAND_INCLUDE_DIRS}\r
+  ${DALIWIDGET_INCLUDE_DIRS}\r
+  ${DALIRIVEVIEW_INCLUDE_DIRS}\r
+)\r
diff --git a/build/tizen/profiles/tv-profile.cmake b/build/tizen/profiles/tv-profile.cmake
new file mode 100644 (file)
index 0000000..58cd1c6
--- /dev/null
@@ -0,0 +1,48 @@
+# PROFILE: TV\r
+\r
+SET( SOURCES\r
+  ${dali_csharp_binder_common_src_files}\r
+  ${dali_csharp_binder_tizen_src_files}\r
+)\r
+\r
+ADD_DEFINITIONS( "-DTIZEN_BUILD" )\r
+PKG_CHECK_MODULES(DALIWIDGET widget_viewer_dali)\r
+SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIWIDGET_CFLAGS})\r
+\r
+IF ( ENABLE_RIVE_ANIMATION )\r
+  PKG_CHECK_MODULES(DALIRIVEVIEW dali2-extension-rive-animation-view)\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIRIVEVIEW_CFLAGS})\r
+  SET( SOURCES ${SOURCES} ${dali_csharp_binder_tizen_rive_src_files} )\r
+ENDIF()\r
+\r
+IF( ENABLE_ECORE_WAYLAND2 )\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wl2)\r
+ELSE()\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wayland)\r
+ENDIF()\r
+\r
+# WAYLAND\r
+IF( ENABLE_WAYLAND )\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    -DWL_EGL_PLATFORM\r
+    ${WAYLAND_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${WAYLAND_LDFLAGS}\r
+  )\r
+ELSE()\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    ${X11_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${X11_LDFLAGS}\r
+    ${ECORE_X_LDFLAGS}\r
+  )\r
+ENDIF()\r
+\r
+# Set the header directories\r
+SET( PROFILE_INCLUDE_DIRECTORIES\r
+  ${WAYLAND_INCLUDE_DIRS}\r
+  ${DALIWIDGET_INCLUDE_DIRS}\r
+  ${DALIRIVEVIEW_INCLUDE_DIRS}\r
+)\r
diff --git a/build/tizen/profiles/ubuntu-profile.cmake b/build/tizen/profiles/ubuntu-profile.cmake
new file mode 100644 (file)
index 0000000..c6c5eae
--- /dev/null
@@ -0,0 +1,5 @@
+# PROFILE: UBUNTU\r
+\r
+SET( SOURCES\r
+  ${dali_csharp_binder_common_src_files}\r
+)
\ No newline at end of file
diff --git a/build/tizen/profiles/wearable-profile.cmake b/build/tizen/profiles/wearable-profile.cmake
new file mode 100644 (file)
index 0000000..1997605
--- /dev/null
@@ -0,0 +1,57 @@
+# PROFILE: WEARABLE\r
+\r
+SET( SOURCES\r
+  ${dali_csharp_binder_common_src_files}\r
+  ${dali_csharp_binder_tizen_src_files}\r
+  ${dali_csharp_binder_tizen_wearable_src_files}\r
+)\r
+\r
+ADD_DEFINITIONS( "-DTIZEN_BUILD" )\r
+PKG_CHECK_MODULES(DALIWIDGET widget_viewer_dali)\r
+SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIWIDGET_CFLAGS})\r
+\r
+IF ( ENABLE_RIVE_ANIMATION )\r
+  PKG_CHECK_MODULES(DALIRIVEVIEW dali2-extension-rive-animation-view)\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIRIVEVIEW_CFLAGS})\r
+  SET( SOURCES ${SOURCES} ${dali_csharp_binder_tizen_rive_src_files} )\r
+ENDIF()\r
+\r
+IF( ENABLE_ECORE_WAYLAND2 )\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wl2)\r
+ELSE()\r
+  PKG_CHECK_MODULES(WAYLAND ecore-wayland)\r
+ENDIF()\r
+\r
+IF( ENABLE_PROFILE )\r
+  PKG_CHECK_MODULES(DALIWATCHVIEW watch_viewer_dali)\r
+  PKG_CHECK_MODULES(DALIWATCHHOLDERBASE watch-holder-base)\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS} ${DALIWATCHVIEW_CFLAGS} ${DALIWATCHHOLDERBASE_CFLAGS})\r
+ENDIF()\r
+\r
+# WAYLAND\r
+IF( ENABLE_WAYLAND )\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    -DWL_EGL_PLATFORM\r
+    ${WAYLAND_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${WAYLAND_LDFLAGS}\r
+  )\r
+ELSE()\r
+  SET( DALI_CFLAGS ${DALI_CFLAGS}\r
+    ${X11_CFLAGS}\r
+  )\r
+  SET( DALI_LDFLAGS ${DALI_LDFLAGS}\r
+    ${X11_LDFLAGS}\r
+    ${ECORE_X_LDFLAGS}\r
+  )\r
+ENDIF()\r
+\r
+# Set the header directories\r
+SET( PROFILE_INCLUDE_DIRECTORIES\r
+  ${WAYLAND_INCLUDE_DIRS}\r
+  ${DALIWIDGET_INCLUDE_DIRS}\r
+  ${DALIRIVEVIEW_INCLUDE_DIRS}\r
+  ${DALIWATCHVIEW_INCLUDE_DIRS}\r
+  ${DALIWATCHHOLDERBASE_INCLUDE_DIRS}\r
+)
\ No newline at end of file
diff --git a/build/tizen/profiles/windows-profile.cmake b/build/tizen/profiles/windows-profile.cmake
new file mode 100644 (file)
index 0000000..a59c773
--- /dev/null
@@ -0,0 +1,5 @@
+# PROFILE: WINDOWS\r
+\r
+SET( SOURCES\r
+  ${dali_csharp_binder_common_src_files}\r
+)
\ No newline at end of file
index b560477..72a62de 100755 (executable)
@@ -3,79 +3,87 @@
 # backend: common - ubuntu,mobile,tv,ivi,tizen-wearable
 # backend: tizen - mobile,tv,ivi,tizen-wearable
 # backend: tizen-wearable - tizen-wearable
+SET( dali_csharp_binder_dir ${CMAKE_CURRENT_SOURCE_DIR}/../../dali-csharp-binder )
 
 # module: csharp-binder, backend: common
-dali_csharp_binder_common_src_files = \
-  ${dali_csharp_binder_dir}/src/common.cpp \
-  ${dali_csharp_binder_dir}/src/dali-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/callbackbase-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/canvas-view-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/constraint-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/keyboard-focus-manager-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/devel-property-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/encoded-image-buffer-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/version-check.cpp \
-  ${dali_csharp_binder_dir}/src/processor-controller.cpp \
-  ${dali_csharp_binder_dir}/src/flex-layout-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/gestures-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/view-wrapper-impl-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/visual-actions-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/event-thread-callback-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/application-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/text-editor-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/text-field-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/fade-transition-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/slide-transition-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/scale-transition-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/transition-base-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/transition-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/transition-set-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/window-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/tts-player-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/input-method-context-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/input-method-options-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/animation-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/adaptor-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/extents-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/text-label-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/text-utils-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/capabilities-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/capture-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/gl-window-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/gl-view-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/web-view-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/control-devel-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/signal-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/nui-view-accessible.cpp \
-  ${dali_csharp_binder_dir}/src/atspi-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/rotation-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/input-options-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/model3d-view-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/native-image-queue-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/style-manager-wrap.cpp \
+SET( dali_csharp_binder_common_src_files
+  ${dali_csharp_binder_dir}/src/common.cpp
+  ${dali_csharp_binder_dir}/src/dali-wrap.cpp
+  ${dali_csharp_binder_dir}/src/callbackbase-wrap.cpp
+  ${dali_csharp_binder_dir}/src/canvas-view-wrap.cpp
+  ${dali_csharp_binder_dir}/src/constraint-wrap.cpp
+  ${dali_csharp_binder_dir}/src/keyboard-focus-manager-wrap.cpp
+  ${dali_csharp_binder_dir}/src/devel-property-wrap.cpp
+  ${dali_csharp_binder_dir}/src/encoded-image-buffer-wrap.cpp
+  ${dali_csharp_binder_dir}/src/version-check.cpp
+  ${dali_csharp_binder_dir}/src/processor-controller.cpp
+  ${dali_csharp_binder_dir}/src/flex-layout-wrap.cpp
+  ${dali_csharp_binder_dir}/src/gestures-wrap.cpp
+  ${dali_csharp_binder_dir}/src/view-wrapper-impl-wrap.cpp
+  ${dali_csharp_binder_dir}/src/visual-actions-wrap.cpp
+  ${dali_csharp_binder_dir}/src/event-thread-callback-wrap.cpp
+  ${dali_csharp_binder_dir}/src/application-wrap.cpp
+  ${dali_csharp_binder_dir}/src/text-editor-wrap.cpp
+  ${dali_csharp_binder_dir}/src/text-field-wrap.cpp
+  ${dali_csharp_binder_dir}/src/fade-transition-wrap.cpp
+  ${dali_csharp_binder_dir}/src/slide-transition-wrap.cpp
+  ${dali_csharp_binder_dir}/src/scale-transition-wrap.cpp
+  ${dali_csharp_binder_dir}/src/transition-base-wrap.cpp
+  ${dali_csharp_binder_dir}/src/transition-wrap.cpp
+  ${dali_csharp_binder_dir}/src/transition-set-wrap.cpp
+  ${dali_csharp_binder_dir}/src/window-wrap.cpp
+  ${dali_csharp_binder_dir}/src/tts-player-wrap.cpp
+  ${dali_csharp_binder_dir}/src/input-method-context-wrap.cpp
+  ${dali_csharp_binder_dir}/src/input-method-options-wrap.cpp
+  ${dali_csharp_binder_dir}/src/animation-wrap.cpp
+  ${dali_csharp_binder_dir}/src/adaptor-wrap.cpp
+  ${dali_csharp_binder_dir}/src/extents-wrap.cpp
+  ${dali_csharp_binder_dir}/src/text-label-wrap.cpp
+  ${dali_csharp_binder_dir}/src/text-utils-wrap.cpp
+  ${dali_csharp_binder_dir}/src/capabilities-wrap.cpp
+  ${dali_csharp_binder_dir}/src/capture-wrap.cpp
+  ${dali_csharp_binder_dir}/src/gl-window-wrap.cpp
+  ${dali_csharp_binder_dir}/src/gl-view-wrap.cpp
+  ${dali_csharp_binder_dir}/src/web-view-wrap.cpp
+  ${dali_csharp_binder_dir}/src/control-devel-wrap.cpp
+  ${dali_csharp_binder_dir}/src/signal-wrap.cpp
+  ${dali_csharp_binder_dir}/src/nui-view-accessible.cpp
+  ${dali_csharp_binder_dir}/src/atspi-wrap.cpp
+  ${dali_csharp_binder_dir}/src/rotation-wrap.cpp
+  ${dali_csharp_binder_dir}/src/input-options-wrap.cpp
+  ${dali_csharp_binder_dir}/src/model3d-view-wrap.cpp
+  ${dali_csharp_binder_dir}/src/native-image-queue-wrap.cpp
+  ${dali_csharp_binder_dir}/src/style-manager-wrap.cpp
   ${dali_csharp_binder_dir}/src/drag-and-drop-wrap.cpp
+)
 
 # added for key grab binding only for tizen
 # module: csharp-binder, backend: mobile,tv,ivi,watch
-dali_csharp_binder_tizen_src_files = \
-  ${dali_csharp_binder_dir}/src/key-grab-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/keyboard-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/widget-view-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/widget-view-manager-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/font-client-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/transition-effects-wrap.cpp \
-  ${dali_csharp_binder_dir}/src/component-application-wrap.cpp \
+SET( dali_csharp_binder_tizen_src_files
+  ${dali_csharp_binder_dir}/src/key-grab-wrap.cpp
+  ${dali_csharp_binder_dir}/src/keyboard-wrap.cpp
+  ${dali_csharp_binder_dir}/src/widget-view-wrap.cpp
+  ${dali_csharp_binder_dir}/src/widget-view-manager-wrap.cpp
+  ${dali_csharp_binder_dir}/src/font-client-wrap.cpp
+  ${dali_csharp_binder_dir}/src/transition-effects-wrap.cpp
+  ${dali_csharp_binder_dir}/src/component-application-wrap.cpp
   ${dali_csharp_binder_dir}/src/tizen-dependency-wrap.cpp
+)
 
 # added for rive animation view for tizen
-# module: csharp-binder, backend: mobile,tv,ivi
-dali_csharp_binder_tizen_rive_src_files = \
+# module: csharp-binder, backend: mobile,tv,ivi,watch
+SET( dali_csharp_binder_tizen_rive_src_files
   ${dali_csharp_binder_dir}/src/rive-animation-view-wrap.cpp
+)
 
 # module: csharp-binder, backend: tizen-wearable
-dali_csharp_binder_tizen_wearable_src_files = \
-  ${dali_csharp_binder_dir}/src/watch-wrap.cpp \
+SET( dali_csharp_binder_tizen_wearable_src_files
+  ${dali_csharp_binder_dir}/src/watch-wrap.cpp
   ${dali_csharp_binder_dir}/src/watch-view-wrap.cpp
+)
 
-dali_csharp_binder_header_files = \
+SET( dali_csharp_binder_header_files
   ${dali_csharp_binder_dir}/src/common.h
+)
+
+
index 1c3dbfd..514e91b 100644 (file)
@@ -42,6 +42,8 @@ BuildRequires:  pkgconfig(screen_connector_provider)
 %endif
 
 BuildRequires: pkgconfig
+BuildRequires: cmake
+BuildRequires: gawk
 BuildRequires: pkgconfig(dali2-core)
 BuildRequires: pkgconfig(dali2-adaptor)
 BuildRequires: pkgconfig(dali2-toolkit)
@@ -162,8 +164,8 @@ This package includes developer files common to all packages.
 %prep
 %setup -q
 
-%define dali_data_rw_dir         %TZ_SYS_RO_SHARE/dali/
-%define dali_data_ro_dir         %TZ_SYS_RO_SHARE/dali/
+%define dali_data_rw_dir         %TZ_SYS_RO_SHARE/dali/
+%define dali_data_ro_dir         %TZ_SYS_RO_SHARE/dali/
 
 ##############################
 # Build
@@ -176,190 +178,128 @@ LDFLAGS+=" -Wl,--rpath=%{_libdir} "
 %if %{with wayland}
 CFLAGS+=" -DWAYLAND"
 CXXFLAGS+=" -DWAYLAND"
-configure_flags="--enable-wayland"
+cmake_flags=" -DENABLE_WAYLAND=ON"
 
-# Need Ecore-Wayland2 when Tizen version is 5.x or greater
+# Use this conditional when Tizen version is 5.x or greater
 %if 0%{?tizen_version_major} >= 5
+CXXFLAGS+=" -DOVER_TIZEN_VERSION_5"
+
+# Need Ecore-Wayland2 when Tizen version is 5.x or greater
 CFLAGS+=" -DECORE_WL2 -DEFL_BETA_API_SUPPORT"
 CXXFLAGS+=" -DECORE_WL2 -DEFL_BETA_API_SUPPORT"
-configure_flags+=" --enable-ecore-wayland2"
+cmake_flags+=" -DENABLE_ECORE_WAYLAND2=ON"
+%endif
+
+# Use this conditional when Tizen version is 7.x or greater
+%if 0%{?tizen_version_major} >= 7
+CXXFLAGS+=" -DOVER_TIZEN_VERSION_7"
+%endif
+
+%endif
+
+%if 0%{?enable_debug}
+cmake_flags+=" -DCMAKE_BUILD_TYPE=Debug"
 %endif
+
+%if 0%{?rive_animation_view}
+cmake_flags+=" -DENABLE_RIVE_ANIMATION=ON"
 %endif
 
 # autogen
 libtoolize --force
 cd %{_builddir}/%{name}-%{version}/build/tizen
-autoreconf --install
 
-DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
-DALI_DATA_RO_DIR="%{dali_data_ro_dir}"  ; export DALI_DATA_RO_DIR
+DALI_DATA_RW_DIR="%{dali_data_rw_dir}" ; export DALI_DATA_RW_DIR
+DALI_DATA_RO_DIR="%{dali_data_ro_dir}"  ; export DALI_DATA_RO_DIR
 %if 0%{?tizen_platform_config_supported}
 TIZEN_PLATFORM_CONFIG_SUPPORTED="%{tizen_platform_config_supported}" ; export TIZEN_PLATFORM_CONFIG_SUPPORTED
 %endif
 
-# added for key grab binding only for tizen
-# Do not merge this on tizen branch!
+cmake_flags+=" -DCMAKE_INSTALL_PREFIX=$PREFIX"
+cmake_flags+=" -DCMAKE_INSTALL_LIBDIR=%{_libdir}"
+cmake_flags+=" -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}"
+cmake_flags+=" -DENABLE_TIZEN_MAJOR_VERSION=%{tizen_version_major}"
 
-# Set up the build via configure.
+# Set up the build via Cmake
 #######################################################################
-# If the profile is selected, the line below is repquired.
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
 # if mobile || "undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
-%configure --prefix=$PREFIX --enable-profile=MOBILE \
-           --enable-tizen-major-version=%{tizen_version_major} \
-%if 0%{?enable_debug}
-           --enable-debug \
-%endif
-%if 0%{?rive_animation_view}
-           --enable-rive-animation-view \
-%endif
-           $configure_flags --libdir=%{_libdir}
 
-# Build.
-make %{?jobs:-j%jobs}
+mkdir -p mobile
+pushd mobile
 
-pushd %{_builddir}/%{name}-%{version}/build/tizen
-%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
-popd
+cmake -DENABLE_PROFILE=MOBILE $cmake_flags ..
 
-pushd %{buildroot}%{_libdir}
-for FILE in libdali2-csharp-binder*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.mobile"; done
-mv pkgconfig/dali2-csharp-binder*pc %{_builddir}/%{name}-%{version}/build/tizen/
+# Build.
+make %{?jobs:-j%jobs}
 popd
 
-%if "%{?profile}" != "mobile"
-make clean
-%endif
-
 %endif
 
 #######################################################################
-# If the profile is selected, the line below is repquired.
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
 # if tv ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-%configure --prefix=$PREFIX --enable-profile=TV \
-           --enable-tizen-major-version=%{tizen_version_major} \
-%if 0%{?enable_debug}
-           --enable-debug \
-%endif
-%if 0%{?rive_animation_view}
-           --enable-rive-animation-view \
-%endif
-           $configure_flags --libdir=%{_libdir}
 
-# Build.
-make %{?jobs:-j%jobs}
+mkdir -p tv
+pushd tv
 
-pushd %{_builddir}/%{name}-%{version}/build/tizen
-%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
-popd
+cmake -DENABLE_PROFILE=TV $cmake_flags ..
 
-pushd %{buildroot}%{_libdir}
-for FILE in libdali2-csharp-binder*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.tv"; done
-mv pkgconfig/dali2-csharp-binder*pc %{_builddir}/%{name}-%{version}/build/tizen/
+# Build.
+make %{?jobs:-j%jobs}
 popd
 
-%if "%{?profile}" != "tv"
-make clean
-%endif
-
 %endif
 
 #######################################################################
-# If the profile is selected, the line below is repquired.
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
 # if wearable || "undefined"
 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
-%configure --prefix=$PREFIX --enable-profile=WEARABLE \
-           --enable-tizen-major-version=%{tizen_version_major} \
-%if 0%{?enable_debug}
-           --enable-debug \
-%endif
-%if 0%{?rive_animation_view}
-           --enable-rive-animation-view \
-%endif
-           $configure_flags --libdir=%{_libdir}
 
-# Build.
-make %{?jobs:-j%jobs}
+mkdir -p wearable
+pushd wearable
 
-pushd %{_builddir}/%{name}-%{version}/build/tizen
-%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
-popd
+cmake -DENABLE_PROFILE=WEARABLE $cmake_flags ..
 
-pushd %{buildroot}%{_libdir}
-for FILE in libdali2-csharp-binder*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.wearable"; done
-mv pkgconfig/dali2-csharp-binder*pc %{_builddir}/%{name}-%{version}/build/tizen/
+# Build.
+make %{?jobs:-j%jobs}
 popd
 
-%if "%{?profile}" != "wearable"
-make clean
-%endif
-
 %endif
 
 #######################################################################
-# If the profile is selected, the line below is repquired.
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
 # if ivi ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
-%configure --prefix=$PREFIX --enable-profile=IVI \
-           --enable-tizen-major-version=%{tizen_version_major} \
-%if 0%{?enable_debug}
-           --enable-debug \
-%endif
-%if 0%{?rive_animation_view}
-           --enable-rive-animation-view \
-%endif
-           $configure_flags --libdir=%{_libdir}
 
-# Build.
-make %{?jobs:-j%jobs}
+mkdir -p ivi
+pushd ivi
 
-pushd %{_builddir}/%{name}-%{version}/build/tizen
-%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
-popd
+cmake -DENABLE_PROFILE=IVI $cmake_flags ..
 
-pushd %{buildroot}%{_libdir}
-for FILE in libdali2-csharp-binder*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done
-mv pkgconfig/dali2-csharp-binder*pc %{_builddir}/%{name}-%{version}/build/tizen/
+# Build.
+make %{?jobs:-j%jobs}
 popd
 
-%if "%{?profile}" != "ivi"
-make clean
-%endif
-
 %endif
 
 #######################################################################
 # common
-# If the profile is selected, the line below is repquired.
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
 # if common ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-%configure --prefix=$PREFIX --enable-profile=COMMON \
-           --enable-tizen-major-version=%{tizen_version_major} \
-%if 0%{?enable_debug}
-           --enable-debug \
-%endif
-%if 0%{?rive_animation_view}
-           --enable-rive-animation-view \
-%endif
-           $configure_flags --libdir=%{_libdir}
 
-# Build.
-make %{?jobs:-j%jobs}
+mkdir -p common
+pushd common
 
-pushd %{_builddir}/%{name}-%{version}/build/tizen
-%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
-popd
+cmake -DENABLE_PROFILE=COMMON $cmake_flags ..
 
-pushd %{buildroot}%{_libdir}
-for FILE in libdali2-csharp-binder*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done
-mv pkgconfig/dali2-csharp-binder*pc %{_builddir}/%{name}-%{version}/build/tizen/
+# Build.
+make %{?jobs:-j%jobs}
 popd
 
-%if "%{?profile}" != "common"
-make clean
-%endif
-
 %endif
 
 ##############################
@@ -369,63 +309,66 @@ make clean
 rm -rf %{buildroot}
 
 pushd %{_builddir}/%{name}-%{version}/build/tizen
-%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
-
 
-# If the profile is selected, the line below is repquired.
-# !unified && (wearable || tv || ivi || mobile)
-%if "%{?profile}" == "wearable" || "%{?profile}" == "tv" || "%{?profile}" == "ivi" || "%{?profile}" == "mobile"
-rm -rf %{buildroot}%{_libdir}/libdali2-csharp-binder*.so*
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+pushd mobile
+%make_install
+%if "%{?profile}" != "mobile"
+pushd  %{buildroot}%{_libdir}
+cp libdali2-csharp-binder.so.*.*.* libdali2-csharp-binder.so.mobile # If we're only building this profile, then there's no need to copy the lib
+popd
+make clean # So that we can gather symbol/size information for only one profile if we're building all profiles
+%endif
+popd
 %endif
 
-# If the profile is selected, the line below is repquired.
-# wearable || tv || ivi || mobile || unified
-%if "%{?profile}" != "common"
-for FILE in libdali2-*.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
-mv dali2-csharp-binder*.pc %{buildroot}%{_libdir}/pkgconfig/
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+pushd tv
+%make_install
+%if "%{?profile}" != "tv"
+pushd  %{buildroot}%{_libdir}
+cp libdali2-csharp-binder.so.*.*.* libdali2-csharp-binder.so.tv # If we're only building this profile, then there's no need to copy the lib
+popd
+make clean # So that we can gather symbol/size information for only one profile if we're building all profiles
 %endif
 popd
+%endif
 
-################################################
-#rename
-###############################################
-pushd %{buildroot}%{_libdir}
-
-# If the profile is selected, the line below is repquired.
-# if common ||"undefined"
-#%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-rm -rf libdali2-csharp-binder*.so
-ln -s libdali2-csharp-binder.so.0.0.0 libdali2-csharp-binder.so
-#%endif
-
-# If the profile is selected, the line below is repquired.
 # if wearable || "undefined"
 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
-rm -rf libdali2-csharp-binder*.so.wearable
-ln -s libdali2-csharp-binder.so.0.0.*.wearable libdali2-csharp-binder.so.wearable
+pushd wearable
+%make_install
+%if "%{?profile}" != "wearable"
+pushd  %{buildroot}%{_libdir}
+cp libdali2-csharp-binder.so.*.*.* libdali2-csharp-binder.so.wearable # If we're only building this profile, then there's no need to copy the lib
+popd
+make clean # So that we can gather symbol/size information for only one profile if we're building all profiles
 %endif
-
-# If the profile is selected, the line below is repquired.
-# if tv ||"undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-rm -rf libdali2-csharp-binder*.so.tv
-ln -s libdali2-csharp-binder.so.0.0.*.tv libdali2-csharp-binder.so.tv
+popd
 %endif
 
-# If the profile is selected, the line below is repquired.
 # if ivi ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
-rm -rf libdali2-csharp-binder*.so.ivi
-ln -s libdali2-csharp-binder.so.0.0.*.ivi libdali2-csharp-binder.so.ivi
+pushd ivi
+%make_install
+%if "%{?profile}" != "ivi"
+pushd  %{buildroot}%{_libdir}
+cp libdali2-csharp-binder.so.*.*.* libdali2-csharp-binder.so.ivi # If we're only building this profile, then there's no need to copy the lib
+popd
+make clean # So that we can gather symbol/size information for only one profile if we're building all profiles
 %endif
-
-# If the profile is selected, the line below is repquired.
-# if mobile || "undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
-rm -rf libdali2-csharp-binder*.so.mobile
-ln -s libdali2-csharp-binder.so.0.0.*.mobile libdali2-csharp-binder.so.mobile
+popd
 %endif
+
+# if common ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+pushd common
+%make_install
+# No clean so we can gather symbol/size information for the common profile
 popd
+%endif
 
 ##############################
 # Upgrade order:
@@ -444,6 +387,9 @@ exit 0
 #  Post Install new package
 ##############################
 %post
+pushd %{_libdir}
+for i in mobile tv wearable ivi; do [[ -f libdali2-csharp-binder.so.$i ]] && ln -sf libdali2-csharp-binder.so.$i libdali2-csharp-binder.so.2.0.0; done
+popd
 /sbin/ldconfig
 exit 0
 
@@ -461,14 +407,16 @@ exit 0
 exit 0
 
 ##############################
-
-# If the profile is selected, the line below is repquired.
+# Mobile Profile Commands
+# No need to create a symbolic link on install required if only building this profile
 # if mobile || "undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %post profile_mobile
+%if "%{?profile}" != "mobile"
 pushd %{_libdir}
-for FILE in libdali2-csharp-binder.so*.mobile; do ln -sf "$FILE" "${FILE%.mobile}"; done
+ln -sf libdali2-csharp-binder.so.mobile libdali2-csharp-binder.so.2.0.0
 popd
+%endif
 /sbin/ldconfig
 exit 0
 
@@ -478,14 +426,16 @@ exit 0
 %endif
 
 ##############################
-
-# If the profile is selected, the line below is repquired.
+# TV Profile Commands
+# No need to create a symbolic link on install required if only building this profile
 # if tv ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 %post profile_tv
+%if "%{?profile}" != "tv"
 pushd %{_libdir}
-for FILE in libdali2-csharp-binder.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
+ln -sf libdali2-csharp-binder.so.tv libdali2-csharp-binder.so.2.0.0
 popd
+%endif
 /sbin/ldconfig
 exit 0
 
@@ -495,14 +445,16 @@ exit 0
 %endif
 
 ##############################
-
-# If the profile is selected, the line below is repquired.
+# Wearable Profile Commands
+# No need to create a symbolic link on install required if only building this profile
 # if wearable || "undefined"
 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %post profile_wearable
+%if "%{?profile}" != "wearable"
 pushd %{_libdir}
-for FILE in libdali2-csharp-binder.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+ln -sf libdali2-csharp-binder.so.wearable libdali2-csharp-binder.so.2.0.0
 popd
+%endif
 /sbin/ldconfig
 exit 0
 
@@ -512,14 +464,16 @@ exit 0
 %endif
 
 ##############################
-
-# If the profile is selected, the line below is repquired.
+# IVI Profile Commands
+# No need to create a symbolic link on install required if only building this profile
 # if ivi ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
 %post profile_ivi
+%if "%{?profile}" != "ivi"
 pushd %{_libdir}
-for FILE in libdali2-csharp-binder.so*.ivi; do ln -sf "$FILE" "${FILE%.ivi}"; done
+ln -sf libdali2-csharp-binder.so.ivi libdali2-csharp-binder.so.2.0.0
 popd
+%endif
 /sbin/ldconfig
 exit 0
 
@@ -528,30 +482,36 @@ exit 0
 exit 0
 %endif
 
+##############################
+# Common Profile Commands
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%post profile_common
+/sbin/ldconfig
+exit 0
+
+%postun profile_common
+/sbin/ldconfig
+exit 0
+%endif
 
 ##############################
 # Files in Binary Packages
 ##############################
 %files
 %manifest dali-csharp-binder.manifest
-%defattr(-,root,root,-)
 %license LICENSE
-
-# If the profile is selected, the line below is repquired.
-# if common ||"undefined"
-#%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 %defattr(-,root,root,-)
-%{_libdir}/libdali2-csharp-binder.so*
-%exclude %{_libdir}/libdali2-csharp-binder*.so*.mobile
-%exclude %{_libdir}/libdali2-csharp-binder*.so*.wearable
-%exclude %{_libdir}/libdali2-csharp-binder*.so*.tv
-%exclude %{_libdir}/libdali2-csharp-binder*.so*.ivi
-#%endif
+%{_libdir}/libdali2-csharp-binder.so
+%{_libdir}/libdali2-csharp-binder.so.2
+%{_libdir}/libdali2-csharp-binder.so.2.0.0
+
+#################################################
 
 # If the profile is selected, the line below is repquired.
 # if common ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 %files profile_common
+%manifest dali-csharp-binder.manifest
 # default .so files are housed in the main pkg.
 %endif
 
@@ -561,8 +521,10 @@ exit 0
 %files profile_mobile
 %manifest dali-csharp-binder.manifest
 %defattr(-,root,root,-)
+%if "%{?profile}" != "mobile"
 %{_libdir}/libdali2-csharp-binder.so.*mobile
 %endif
+%endif
 
 # If the profile is selected, the line below is repquired.
 # if tv ||"undefined"
@@ -570,8 +532,10 @@ exit 0
 %files profile_tv
 %manifest dali-csharp-binder.manifest
 %defattr(-,root,root,-)
+%if "%{?profile}" != "tv"
 %{_libdir}/libdali2-csharp-binder.so.*tv
 %endif
+%endif
 
 # If the profile is selected, the line below is repquired.
 # if wearable || "undefined"
@@ -579,8 +543,10 @@ exit 0
 %files profile_wearable
 %manifest dali-csharp-binder.manifest
 %defattr(-,root,root,-)
+%if "%{?profile}" != "wearable"
 %{_libdir}/libdali2-csharp-binder.so.*wearable
 %endif
+%endif
 
 # If the profile is selected, the line below is repquired.
 # if ivi ||"undefined"
@@ -588,8 +554,10 @@ exit 0
 %files profile_ivi
 %manifest dali-csharp-binder.manifest
 %defattr(-,root,root,-)
+%if "%{?profile}" != "ivi"
 %{_libdir}/libdali2-csharp-binder.so.*ivi
 %endif
+%endif
 
 %files devel
 %defattr(-,root,root,-)