VCPKG - CMakeLists.txt updated to build for vcpkg. 68/222968/5
authorVictor Cebollada <v.cebollada@samsung.com>
Tue, 17 Dec 2019 08:37:21 +0000 (08:37 +0000)
committerVictor Cebollada <v.cebollada@samsung.com>
Thu, 23 Jan 2020 16:04:02 +0000 (16:04 +0000)
* MS Windows dependencies added.

Change-Id: Ife2ffa29da91b24fe3e559b7484b24167095252e
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
34 files changed:
README.md
build/tizen/CMakeLists.txt
build/tizen/common.cmake
build/tizen/deps-check.cmake
build/tizen/profiles/windows-profile.cmake [new file with mode: 0644]
dali/internal/accessibility/file.list
dali/internal/adaptor/file.list
dali/internal/clipboard/file.list
dali/internal/graphics/file.list
dali/internal/imaging/file.list
dali/internal/imaging/windows/file-download-win.cpp
dali/internal/input/file.list
dali/internal/system/file.list
dali/internal/window-system/file.list
third-party/file.list
third-party/windows-platform/Win32File/CustomFile.cpp [new file with mode: 0644]
third-party/windows-platform/Win32File/CustomFile.h [new file with mode: 0644]
third-party/windows-platform/Win32File/GetRealFileName.cpp [new file with mode: 0644]
third-party/windows-platform/Win32File/MemFile.cpp [new file with mode: 0644]
third-party/windows-platform/Win32File/OriginalFile.cpp [new file with mode: 0644]
third-party/windows-platform/dirent.h [new file with mode: 0644]
third-party/windows-platform/dlfcn.cpp [new file with mode: 0644]
third-party/windows-platform/dlfcn.h [new file with mode: 0644]
third-party/windows-platform/environment.cpp [new file with mode: 0644]
third-party/windows-platform/extern-definitions.h [new file with mode: 0644]
third-party/windows-platform/netinet/in.h [new file with mode: 0644]
third-party/windows-platform/network.cpp [new file with mode: 0644]
third-party/windows-platform/preprocessor-definitions.h [new file with mode: 0644]
third-party/windows-platform/sys/mman.h [new file with mode: 0644]
third-party/windows-platform/sys/prctl.h [new file with mode: 0644]
third-party/windows-platform/sys/socket.h [new file with mode: 0644]
third-party/windows-platform/sys/time.h [new file with mode: 0644]
third-party/windows-platform/thread.cpp [new file with mode: 0644]
third-party/windows-platform/unistd.h [new file with mode: 0644]

index f976ac7..cc06c82 100644 (file)
--- a/README.md
+++ b/README.md
@@ -54,4 +54,3 @@ See the README.md in dali-adaptor/automated-tests.
 ### DEBUG Builds
 
          $ gbs build -A [TARGET_ARCH] --define "%enable_debug 1"
-
index 6fb9363..fd6681a 100644 (file)
@@ -1,20 +1,22 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
 CMAKE_POLICY(SET CMP0012 NEW) # Prevent dereferencing of OFF/ON as variables
 
 SET(CMAKE_CXX_STANDARD 11)
 SET(CMAKE_C_STANDARD 99)
-
 PROJECT(${name} CXX)
 SET(PKG_NAME ${name})
 
 SET(name "dali-adaptor")
 
 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()
+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()
+
+OPTION(ENABLE_PKG_CONFIGURE  "Use pkgconfig" ON)
+OPTION(ENABLE_LINK_TEST      "Enable the link test" ON)
 
 # Include additional macros
 INCLUDE( common.cmake )
@@ -44,12 +46,27 @@ SET(${name}_VERSION ${${name}_VERSION_MAJOR}.${${name}_VERSION_MINOR}.${${name}_
 
 SET(DALI_ADAPTOR_VERSION ${${name}_VERSION} )
 
-ADD_DEFINITIONS(-DPLATFORM_TIZEN)
-ADD_DEFINITIONS(-DPIC -DSTDC_HEADERS)
+IF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc.
+  FIND_PACKAGE( dali-windows-dependencies REQUIRED)
+  FIND_PACKAGE( dali-core REQUIRED)
+  FIND_PATH( SYSTEM_INCLUDE_DIR "dali-windows-dependencies.h" )
+ENDIF()
+
+IF( UNIX )
+  ADD_DEFINITIONS(-DPLATFORM_TIZEN)
+  ADD_DEFINITIONS(-DPIC -DSTDC_HEADERS)
 
-IF("${ARCH}" STREQUAL "arm")
-  ADD_DEFINITIONS("-DTARGET")
-ENDIF("${ARCH}" STREQUAL "arm")
+  IF("${ARCH}" STREQUAL "arm")
+    ADD_DEFINITIONS("-DTARGET")
+  ENDIF("${ARCH}" STREQUAL "arm")
+ELSEIF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc.
+  IF(NOT DEFINED STATIC)
+    ADD_DEFINITIONS( "-DBUILDING_DALI_ADAPTOR" )
+  ENDIF()
+
+  ADD_DEFINITIONS( "-DDALI_ADAPTOR_COMPILATION" )
+  ADD_DEFINITIONS( "-D_NSIG=65" )
+ENDIF()
 
 # Deployment folder should come from spec file or command line:
 SET( PREFIX ${CMAKE_INSTALL_PREFIX})
@@ -65,27 +82,33 @@ IF( NOT INCLUDE_DIR )
 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 )
+IF( SET_VCPKG_INSTALL_PREFIX )
   SET( LIB_DIR ${PREFIX}/lib )
+  SET( BIN_DIR ${PREFIX}/bin )
+ELSE()
+  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()
 ENDIF()
 
-INCLUDE( deps-check.cmake )
+IF( UNIX )
+  INCLUDE( deps-check.cmake )
+ENDIF()
 
 # Set up compiler flags and warnings
-#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
-#ADD_COMPILE_OPTIONS( -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast )
-
-# TODO: Clang is a lot more strict with warnings, we should address
-# those issues at some point.
-#IF( NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
-  #ADD_COMPILE_OPTIONS( -Werror )
-#ENDIF()
-
-ADD_COMPILE_OPTIONS( -Wall ${DALI_CFLAGS} )# -Wextra -Wno-unused-parameter )# -Wfloat-equal )
+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 ) #
+  ADD_COMPILE_OPTIONS( /FIextern-definitions.h )        # Adds missing definitions.
+  ADD_COMPILE_OPTIONS( /FIpreprocessor-definitions.h )  #
+  ADD_COMPILE_OPTIONS( /vmg )                           # Avoids a 'reinterpret_cast' compile error while compiling signals and callbacks.
+  ADD_COMPILE_OPTIONS( /TP )                            # All files considered C++
+ENDIF()
 
 ADD_DEFINITIONS( -DNON_POWER_OF_TWO_TEXTURES
                  ${DEFINITIONS} )
@@ -107,19 +130,29 @@ INCLUDE( module-list.cmake )
 # Include profile specific setup
 INCLUDE( profiles/${PROFILE_LCASE}-profile.cmake )
 
-# Configure the pkg-config file
-# Requires the following variables to be setup:
-# @PREFIX@ @EXEC_PREFIX@ @DALI_ADAPTOR_VERSION@ @LIB_DIR@ @DEV_INCLUDE_PATH@
-SET( DEV_INCLUDE_PATH ${INCLUDE_DIR} )
-SET( ADAPTOR_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor.pc )
-SET( ADAPTOR_INTEGRATION_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor-integration.pc )
-CONFIGURE_FILE( ${ADAPTOR_PKG_CFG_FILE}.in ${ADAPTOR_PKG_CFG_FILE} @ONLY )
-CONFIGURE_FILE( ${ADAPTOR_INTEGRATION_PKG_CFG_FILE}.in ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} @ONLY )
+IF( ENABLE_PKG_CONFIGURE )
+  # Configure the pkg-config file
+  # Requires the following variables to be setup:
+  # @PREFIX@ @EXEC_PREFIX@ @DALI_ADAPTOR_VERSION@ @LIB_DIR@ @DEV_INCLUDE_PATH@
+  SET( DEV_INCLUDE_PATH ${INCLUDE_DIR} )
+  SET( ADAPTOR_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor.pc )
+  SET( ADAPTOR_INTEGRATION_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor-integration.pc )
+  CONFIGURE_FILE( ${ADAPTOR_PKG_CFG_FILE}.in ${ADAPTOR_PKG_CFG_FILE} @ONLY )
+  CONFIGURE_FILE( ${ADAPTOR_INTEGRATION_PKG_CFG_FILE}.in ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} @ONLY )
+ENDIF()
+
 CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/system-cache-path.in ${ADAPTOR_ROOT}/dali/internal/adaptor/common/system-cache-path.cpp @ONLY)
 
+SET( THIRD_PARTY_WINDOWS_PLATFORM "" )
+IF( WIN32 )
+  SET( THIRD_PARTY_WINDOWS_PLATFORM ${ROOT_SRC_DIR}/third-party/windows-platform )
+ENDIF()
+
 INCLUDE_DIRECTORIES(
   ${ROOT_SRC_DIR}
   ${PROFILE_INCLUDE_DIRECTORIES}
+  ${THIRD_PARTY_WINDOWS_PLATFORM}
+  ${SYSTEM_INCLUDE_DIR}
 )
 
 SET(LIBTYPE SHARED)
@@ -129,10 +162,12 @@ ENDIF()
 
 ADD_LIBRARY( ${name} ${LIBTYPE} ${SOURCES} )
 
-# pthread required due to gcc issue
-FIND_LIBRARY( PTHREAD pthread )
-IF( PTHREAD AND NOT ANDROID_PROFILE )
-  SET( OPTIONAL_LIBS ${OPTIONAL_LIBS} -lpthread )
+IF( UNIX )
+  # pthread required due to gcc issue
+  FIND_LIBRARY( PTHREAD pthread )
+  IF( PTHREAD AND NOT ANDROID_PROFILE )
+    SET( OPTIONAL_LIBS ${OPTIONAL_LIBS} -lpthread )
+  ENDIF()
 ENDIF()
 
 TARGET_LINK_LIBRARIES( ${name}
@@ -150,11 +185,35 @@ SET_TARGET_PROPERTIES( ${name}
 )
 
 # Install the library so file and symlinks
-INSTALL( TARGETS ${name} DESTINATION ${LIB_DIR} )
+IF( INSTALL_CMAKE_MODULES )
+  INSTALL( TARGETS ${name}
+    EXPORT ${name}-targets
+    LIBRARY DESTINATION ${LIB_DIR}
+    ARCHIVE DESTINATION ${LIB_DIR}
+    RUNTIME DESTINATION ${BIN_DIR}
+  )
+
+  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})
+ELSE()
+  INSTALL( TARGETS ${name} DESTINATION ${LIB_DIR} )
+ENDIF()
 
-# Install the pkg-config file
-INSTALL( FILES ${ADAPTOR_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig )
-INSTALL( FILES ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig )
+IF( ENABLE_PKG_CONFIGURE )
+  # Install the pkg-config file
+  INSTALL( FILES ${ADAPTOR_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig )
+  INSTALL( FILES ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig )
+ENDIF()
 
 # macro for installing headers by replacing prefix. (TODO, investigate
 # if there is a CMAKE way of doing this automatically)
@@ -202,7 +261,7 @@ SET( package_doxy_dir ${ADAPTOR_ROOT}/doc )
 INCLUDE( ${ADAPTOR_ROOT}/doc/file.list )
 INSTALL( FILES ${package_doxy_files} DESTINATION ${packagedoxydir} )
 
-IF( NOT UBUNTU_PROFILE AND NOT ANDROID_PROFILE )
+IF( NOT UBUNTU_PROFILE AND NOT ANDROID_PROFILE AND NOT WINDOWS_PROFILE )
   INSTALL( FILES ${public_api_adaptor_tizen_header_files} DESTINATION ${tizenadaptorframeworkpublicapidir} )
   IF( NOT WAYLAND )
     INSTALL( FILES ${devel_api_adaptor_tizen_x11_header_files} DESTINATION ${tizenadaptorframeworkdevelapidir} )
@@ -217,7 +276,7 @@ INSTALL( FILES ${public_dali_capture_header_files} DESTINATION ${tizencapturepub
 IF( ANDROID_PROFILE )
   SET( daliShaderbinCacheDir ${CMAKE_INSTALL_PREFIX}/core/shaderbin/)
   INSTALL( DIRECTORY DESTINATION ${daliShaderbinCacheDir} )
-ELSE()
+ELSEIF( UNIX )
   SET( daliShaderbinCacheDir ${CMAKE_BINARY_DIR}/${dataReadOnlyDir}/core/shaderbin/)
   INSTALL( DIRECTORY DESTINATION ${dataReadOnlyDir}/core/shaderbin )
 ENDIF()
@@ -229,7 +288,7 @@ INSTALL( FILES ${ADAPTOR_ROOT}/adaptors/scripts/dalireslog.sh DESTINATION ${CMAK
 # The DALI_ADAPTOR_PREFIX must be set if this CMakeLists.txt is executed
 # from the top-level CMake script using ADD_SUBDIRECTORY() to avoid
 # target names duplication with other DALi modules.
-IF( UNIX AND NOT ANDROID )
+IF( ENABLE_COVERAGE )
   FIND_PROGRAM( LCOV_BIN "lcov" )
   IF( LCOV_BIN )
 
@@ -289,19 +348,21 @@ IF( UNIX AND NOT ANDROID )
           )
 
   ENDIF( LCOV_BIN )
-ENDIF( UNIX AND NOT ANDROID )
+ENDIF()
 
-# Linker Test
-SET( DALI_TEST_SUITE_DIR ${ROOT_SRC_DIR}/automated-tests/src/dali/dali-test-suite-utils )
-SET( LINKER_TEST_NAME ${DALI_ADAPTOR_PREFIX}linker-test )
-SET( LINKER_TEST_SOURCES
-  linker-test.cpp
-)
-ADD_EXECUTABLE( ${LINKER_TEST_NAME} ${LINKER_TEST_SOURCES} )
-MESSAGE(STATUS "libs: ${DALICORE_LDFLAGS}")
-TARGET_COMPILE_OPTIONS( ${LINKER_TEST_NAME} PRIVATE -I${ROOT_SRC_DIR} ${DALICORE_CFLAGS} )
-TARGET_LINK_LIBRARIES(${LINKER_TEST_NAME} ${name} ${DALICORE_LDFLAGS} ${VCONF_LDFLAGS} ${HARFBUZZ_LDFLAGS} )
-TARGET_INCLUDE_DIRECTORIES( ${LINKER_TEST_NAME} PRIVATE ${DALI_TEST_SUITE_DIR} )
+IF( ENABLE_LINK_TEST )
+  # Linker Test
+  SET( DALI_TEST_SUITE_DIR ${ROOT_SRC_DIR}/automated-tests/src/dali/dali-test-suite-utils )
+  SET( LINKER_TEST_NAME ${DALI_ADAPTOR_PREFIX}linker-test )
+  SET( LINKER_TEST_SOURCES
+    linker-test.cpp
+  )
+  ADD_EXECUTABLE( ${LINKER_TEST_NAME} ${LINKER_TEST_SOURCES} )
+  MESSAGE(STATUS "libs: ${DALICORE_LDFLAGS}")
+  TARGET_COMPILE_OPTIONS( ${LINKER_TEST_NAME} PRIVATE -I${ROOT_SRC_DIR} ${DALICORE_CFLAGS} )
+  TARGET_LINK_LIBRARIES(${LINKER_TEST_NAME} ${name} ${DALICORE_LDFLAGS} ${VCONF_LDFLAGS} ${HARFBUZZ_LDFLAGS} )
+  TARGET_INCLUDE_DIRECTORIES( ${LINKER_TEST_NAME} PRIVATE ${DALI_TEST_SUITE_DIR} )
+ENDIF()
 
 # Configuration Messages
 MESSAGE( STATUS "Configuration:\n" )
@@ -319,6 +380,8 @@ MESSAGE( STATUS "Shader Binary Cache:              ${ENABLE_SHADERBINCACHE}")
 MESSAGE( STATUS "Network logging enabled:          ${ENABLE_NETWORKLOGGING}")
 MESSAGE( STATUS "Font config file:                 ${fontConfigurationFile}")
 MESSAGE( STATUS "Using Tizen APP FW libraries:     ${ENABLE_APPFW}")
+MESSAGE( STATUS "Use pkg configure:                ${ENABLE_PKG_CONFIGURE}" )
+MESSAGE( STATUS "Enable link test:                 ${ENABLE_LINK_TEST}" )
 MESSAGE( STATUS "Tizen Platform Config supported   ${TIZEN_PLATFORM_CONFIG_SUPPORTED_LOGMSG}")
 MESSAGE( STATUS "Compile flags:                    ${CMAKE_CXX_FLAGS}")
 IF( enable_feedback )
index 8149385..83a3dd4 100644 (file)
@@ -1,10 +1,13 @@
 # Find dependencies ( linux, tizen )
-FIND_PACKAGE(PkgConfig REQUIRED)
+IF( ENABLE_PKG_CONFIGURE )
+  FIND_PACKAGE(PkgConfig REQUIRED)
+ENDIF()
 
 # Special constant for ARG_ENABLE function
 SET( ENABLE_VAL "#ENABLE_VAL" )
 SET( HELP_ENABLES "" )
 SET( CUSTOM_ARGUMENTS "" )
+
 # Macro checks if the module is available and sets user variable
 MACRO( CHECK_MODULE_AND_SET PKG_VAR PKG_LIB_REQUIREMENTS VAR_TO_SET )
   PKG_CHECK_MODULES(${PKG_VAR} "${PKG_LIB_REQUIREMENTS}")
index 87cd511..da06257 100644 (file)
@@ -42,7 +42,7 @@ IF( NOT enable_profile )
 ENDIF()
 
 # Test for profile and exit if something wrong
-SET( VALID_PROFILES COMMON MOBILE WEARABLE TV IVI UBUNTU ANDROID )
+SET( VALID_PROFILES COMMON MOBILE WEARABLE TV IVI UBUNTU ANDROID WINDOWS )
 LIST( FIND VALID_PROFILES ${enable_profile} RESULT )
 IF( RESULT EQUAL -1 )
   MESSAGE( FATAL_ERROR "Invalid profile!" )
diff --git a/build/tizen/profiles/windows-profile.cmake b/build/tizen/profiles/windows-profile.cmake
new file mode 100644 (file)
index 0000000..1d11354
--- /dev/null
@@ -0,0 +1,81 @@
+# PROFILE: WINDOWS
+
+# Set the sources
+SET( SOURCES
+        ${adaptor_accessibility_common_src_files}
+        ${adaptor_accessibility_windows_src_files}
+        ${adaptor_adaptor_common_src_files}
+        ${adaptor_clipboard_common_src_files}
+        ${adaptor_framework_generic_src_files}
+        ${devel_api_src_files}
+        ${adaptor_devel_api_text_abstraction_src_files}
+        ${adaptor_graphics_common_src_files}
+        ${adaptor_graphics_gles_src_files}
+        ${adaptor_haptics_common_src_files}
+        ${adaptor_imaging_common_src_files}
+        ${adaptor_input_common_src_files}
+        ${adaptor_integration_api_src_files}
+        ${adaptor_legacy_common_src_files}
+        ${adaptor_network_common_src_files}
+        ${adaptor_public_api_src_files}
+        ${adaptor_sensor_common_src_files}
+        ${adaptor_styling_common_src_files}
+        ${adaptor_system_common_src_files}
+        ${adaptor_system_windows_src_files}
+        ${adaptor_text_common_src_files}
+        ${adaptor_resampler_src_files}
+        ${adaptor_vector_animation_common_src_files}
+        ${adaptor_video_common_src_files}
+        ${adaptor_web_engine_common_src_files}
+        ${adaptor_window_system_common_src_files}
+        ${adaptor_trace_common_src_files}
+        ${adaptor_thread_common_src_files}
+        ${devel_api_text_abstraction_src_files}
+        ${static_libraries_glyphy_src_files}
+        ${static_libraries_libunibreak_src_files}
+        ${adaptor_windows_platform_src_files}
+        ${adaptor_adaptor_windows_src_files}
+        ${adaptor_window_system_windows_src_files}
+        ${adaptor_graphics_windows_src_files}
+        ${adaptor_input_windows_src_files}
+        ${adaptor_clipboard_windows_src_files}
+        ${adaptor_imaging_windows_src_files}
+)
+
+FIND_PACKAGE( pthreads REQUIRED )
+FIND_PACKAGE( curl REQUIRED )
+FIND_LIBRARY( GETOPT_LIBRARY NAMES getopt )
+FIND_LIBRARY( EXIF_LIBRARY NAMES libexif )
+
+FIND_PACKAGE( png REQUIRED )
+FIND_PACKAGE( gif REQUIRED )
+FIND_PACKAGE( jpeg REQUIRED )
+FIND_LIBRARY( TURBO_JPEG_LIBRARY NAMES turbojpeg )
+
+FIND_PACKAGE( fontconfig REQUIRED )
+FIND_PACKAGE( freetype REQUIRED )
+FIND_PACKAGE( harfbuzz REQUIRED )
+FIND_LIBRARY( FRIBIDI_LIBRARY NAMES fribidi )
+
+FIND_PACKAGE( unofficial-angle REQUIRED )
+FIND_PACKAGE( unofficial-cairo REQUIRED )
+
+# Set the linker flags
+SET( REQUIRED_LIBS
+        PThreads4W::PThreads4W
+        CURL::libcurl
+        ${GETOPT_LIBRARY}
+        ${EXIF_LIBRARY}
+        ${PNG_LIBRARIES}
+        ${GIF_LIBRARIES}
+        JPEG::JPEG
+        ${TURBO_JPEG_LIBRARY}
+        ${FONTCONFIG_LIBRARIES}
+        Freetype::Freetype
+        harfbuzz::harfbuzz
+        ${FRIBIDI_LIBRARY}
+        unofficial::angle::libEGL
+        unofficial::angle::libGLESv2
+        unofficial::cairo::cairo
+        dali-core::dali-core
+)
index 65a527a..d2ff157 100755 (executable)
@@ -1,70 +1,74 @@
 
 # module: accessibility, backend: common
-SET( adaptor_accessibility_common_src_files 
-    ${adaptor_accessibility_dir}/common/tts-player-factory.cpp 
-    ${adaptor_accessibility_dir}/common/tts-player-impl.cpp 
-    ${adaptor_accessibility_dir}/common/accessibility-adaptor-impl.cpp 
+SET( adaptor_accessibility_common_src_files
+    ${adaptor_accessibility_dir}/common/tts-player-factory.cpp
+    ${adaptor_accessibility_dir}/common/tts-player-impl.cpp
+    ${adaptor_accessibility_dir}/common/accessibility-adaptor-impl.cpp
     ${adaptor_accessibility_dir}/common/accessibility-gesture-detector.cpp
 )
 
 # module: accessibility, backend: tizen-wayland
-SET( adaptor_accessibility_tizen_wayland_src_files 
-    ${adaptor_accessibility_dir}/tizen-wayland/tts-player-factory-tizen.cpp 
+SET( adaptor_accessibility_tizen_wayland_src_files
+    ${adaptor_accessibility_dir}/tizen-wayland/tts-player-factory-tizen.cpp
     ${adaptor_accessibility_dir}/tizen-wayland/tts-player-impl-tizen.cpp
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/atspi-accessibility-tizen.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessibility-impl.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessible.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-accessible.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-action.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-base.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-collection.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-component.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-editable-text.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-impl.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-object.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-text.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-value.cpp 
-    ${adaptor_accessibility_dir}/tizen-wayland/atspi/component.cpp 
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/atspi-accessibility-tizen.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessibility-impl.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessible.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-accessible.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-action.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-base.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-collection.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-component.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-editable-text.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-impl.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-object.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-text.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-value.cpp
+    ${adaptor_accessibility_dir}/tizen-wayland/atspi/component.cpp
     ${adaptor_accessibility_dir}/tizen-wayland/atspi/dbus-tizen.cpp
-
 )
 
 # module: accessibility, backend: tizen-common profile
-SET( adaptor_accessibility_tizen_common_src_files 
-    ${adaptor_accessibility_dir}/tizen-wayland/tizen-common/accessibility-adaptor-impl-tizen.cpp 
+SET( adaptor_accessibility_tizen_common_src_files
+    ${adaptor_accessibility_dir}/tizen-wayland/tizen-common/accessibility-adaptor-impl-tizen.cpp
 )
 
 # module: accessibility, backend: tizen-ivi profile
-SET( adaptor_accessibility_tizen_ivi_src_files 
+SET( adaptor_accessibility_tizen_ivi_src_files
     ${adaptor_accessibility_dir}/tizen-wayland/tizen-ivi/accessibility-adaptor-impl-ivi.cpp
 )
 
 # module: accessibility, backend: tizen-mobile profile
-SET( adaptor_accessibility_tizen_mobile_src_files 
+SET( adaptor_accessibility_tizen_mobile_src_files
     ${adaptor_accessibility_dir}/tizen-wayland/tizen-mobile/accessibility-adaptor-impl-mobile.cpp
 )
 
 # module: accessibility, backend: tizen-tv profile
-SET( adaptor_accessibility_tizen_tv_src_files 
+SET( adaptor_accessibility_tizen_tv_src_files
     ${adaptor_accessibility_dir}/tizen-wayland/tizen-tv/accessibility-adaptor-impl-tv.cpp
 )
 
 # module: accessibility, backend: tizen-wearable profile
-SET( adaptor_accessibility_tizen_wearable_src_files 
+SET( adaptor_accessibility_tizen_wearable_src_files
     ${adaptor_accessibility_dir}/tizen-wayland/tizen-wearable/accessibility-adaptor-impl-wearable.cpp
 )
 
 # module: accessibility, backend: ubuntu
-SET( adaptor_accessibility_ubuntu_src_files 
-    ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp 
-    ${adaptor_accessibility_dir}/generic/atspi-accessibility-generic.cpp 
-    ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp 
+SET( adaptor_accessibility_ubuntu_src_files
+    ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp
+    ${adaptor_accessibility_dir}/generic/atspi-accessibility-generic.cpp
+    ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp
     ${adaptor_accessibility_dir}/generic/tts-player-impl-generic.cpp
 )
 
 # module: accessibility, backend: android
-SET( adaptor_accessibility_android_src_files 
-    ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp 
-    ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp 
+SET( adaptor_accessibility_android_src_files
+    ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp
+    ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp
     ${adaptor_accessibility_dir}/generic/tts-player-impl-generic.cpp
 )
+
+# module: accessibility, backend: windows
+SET( adaptor_accessibility_windows_src_files
+    ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp
+)
index 866f6d4..defd518 100644 (file)
@@ -42,4 +42,10 @@ SET( adaptor_adaptor_androidjni_src_files
     ${adaptor_adaptor_dir}/androidjni/framework-androidjni.cpp
 )
 
+# module: adaptor, backend: windows
+SET( adaptor_adaptor_windows_src_files
+    ${adaptor_adaptor_dir}/generic/adaptor-impl-generic.cpp
+    ${adaptor_adaptor_dir}/windows/framework-win.cpp
+)
+
 
index 63dd125..7ac026a 100644 (file)
@@ -1,16 +1,16 @@
 
 # module: clipboard, backend: common
-SET( adaptor_clipboard_common_src_files 
+SET( adaptor_clipboard_common_src_files
     ${adaptor_clipboard_dir}/common/clipboard-event-notifier-impl.cpp
 )
 
 # module: clipboard, backend: tizen-wayland
-SET( adaptor_clipboard_tizen_wayland_src_files 
+SET( adaptor_clipboard_tizen_wayland_src_files
     ${adaptor_clipboard_dir}/tizen-wayland/clipboard-impl-ecore-wl.cpp
 )
 
 # module: clipboard, backend: ubuntu-x11
-SET( adaptor_clipboard_ubuntu_x11_src_files 
+SET( adaptor_clipboard_ubuntu_x11_src_files
     ${adaptor_clipboard_dir}/ubuntu-x11/clipboard-impl-x.cpp
 )
 
@@ -19,3 +19,8 @@ SET( adaptor_clipboard_android_src_files
     ${adaptor_clipboard_dir}/generic/clipboard-impl-generic.cpp
 )
 
+# module: clipboard, backend: windows
+SET( adaptor_clipboard_windows_src_files
+    ${adaptor_clipboard_dir}/generic/clipboard-impl-generic.cpp
+)
+
index 0cc9bae..97d4fb9 100644 (file)
@@ -1,23 +1,23 @@
 
 # module: graphics, backend: gles
-SET( adaptor_graphics_gles_src_files 
-    ${adaptor_graphics_dir}/gles/egl-debug.cpp 
-    ${adaptor_graphics_dir}/gles/egl-implementation.cpp 
-    ${adaptor_graphics_dir}/gles/egl-sync-implementation.cpp 
-    ${adaptor_graphics_dir}/gles/egl-context-helper-implementation.cpp 
-    ${adaptor_graphics_dir}/gles/gl-extensions.cpp 
-    ${adaptor_graphics_dir}/gles/gl-proxy-implementation.cpp 
-    ${adaptor_graphics_dir}/gles/egl-graphics-factory.cpp 
+SET( adaptor_graphics_gles_src_files
+    ${adaptor_graphics_dir}/gles/egl-debug.cpp
+    ${adaptor_graphics_dir}/gles/egl-implementation.cpp
+    ${adaptor_graphics_dir}/gles/egl-sync-implementation.cpp
+    ${adaptor_graphics_dir}/gles/egl-context-helper-implementation.cpp
+    ${adaptor_graphics_dir}/gles/gl-extensions.cpp
+    ${adaptor_graphics_dir}/gles/gl-proxy-implementation.cpp
+    ${adaptor_graphics_dir}/gles/egl-graphics-factory.cpp
     ${adaptor_graphics_dir}/gles/egl-graphics.cpp
 )
 
 # module: graphics, backend: tizen
-SET( adaptor_graphics_tizen_src_files 
+SET( adaptor_graphics_tizen_src_files
     ${adaptor_graphics_dir}/tizen/egl-image-extensions-tizen.cpp
 )
 
 # module: graphics, backend: generic
-SET( adaptor_graphics_ubuntu_src_files 
+SET( adaptor_graphics_ubuntu_src_files
     ${adaptor_graphics_dir}/generic/egl-image-extensions-generic.cpp
 )
 
@@ -26,3 +26,8 @@ SET( adaptor_graphics_android_src_files
     ${adaptor_graphics_dir}/android/egl-image-extensions-android.cpp
 )
 
+# module: graphics, backend: windows
+SET( adaptor_graphics_windows_src_files
+    ${adaptor_graphics_dir}/windows-gl/egl-image-extensions.cpp
+)
+
index 3b77a55..6558e96 100644 (file)
@@ -1,43 +1,53 @@
 
 # module: imaging, backend: common
-SET( adaptor_imaging_common_src_files 
-    ${adaptor_imaging_dir}/common/native-bitmap-buffer-impl.cpp 
-    ${adaptor_imaging_dir}/common/pixel-buffer-impl.cpp 
-    ${adaptor_imaging_dir}/common/alpha-mask.cpp 
-    ${adaptor_imaging_dir}/common/file-download.cpp 
-    ${adaptor_imaging_dir}/common/gaussian-blur.cpp 
-    ${adaptor_imaging_dir}/common/http-utils.cpp 
-    ${adaptor_imaging_dir}/common/image-loader.cpp 
-    ${adaptor_imaging_dir}/common/image-loader-plugin-proxy.cpp 
-    ${adaptor_imaging_dir}/common/image-operations.cpp 
-    ${adaptor_imaging_dir}/common/loader-astc.cpp 
-    ${adaptor_imaging_dir}/common/loader-bmp.cpp 
-    ${adaptor_imaging_dir}/common/loader-gif.cpp 
-    ${adaptor_imaging_dir}/common/loader-ico.cpp 
-    ${adaptor_imaging_dir}/common/loader-jpeg-turbo.cpp 
-    ${adaptor_imaging_dir}/common/loader-ktx.cpp 
-    ${adaptor_imaging_dir}/common/loader-png.cpp 
-    ${adaptor_imaging_dir}/common/loader-wbmp.cpp 
+SET( adaptor_imaging_common_src_files
+    ${adaptor_imaging_dir}/common/native-bitmap-buffer-impl.cpp
+    ${adaptor_imaging_dir}/common/pixel-buffer-impl.cpp
+    ${adaptor_imaging_dir}/common/alpha-mask.cpp
+    ${adaptor_imaging_dir}/common/gaussian-blur.cpp
+    ${adaptor_imaging_dir}/common/http-utils.cpp
+    ${adaptor_imaging_dir}/common/image-loader.cpp
+    ${adaptor_imaging_dir}/common/image-loader-plugin-proxy.cpp
+    ${adaptor_imaging_dir}/common/image-operations.cpp
+    ${adaptor_imaging_dir}/common/loader-astc.cpp
+    ${adaptor_imaging_dir}/common/loader-bmp.cpp
+    ${adaptor_imaging_dir}/common/loader-gif.cpp
+    ${adaptor_imaging_dir}/common/loader-ico.cpp
+    ${adaptor_imaging_dir}/common/loader-jpeg-turbo.cpp
+    ${adaptor_imaging_dir}/common/loader-ktx.cpp
+    ${adaptor_imaging_dir}/common/loader-png.cpp
+    ${adaptor_imaging_dir}/common/loader-wbmp.cpp
     ${adaptor_imaging_dir}/common/pixel-manipulation.cpp
 )
 
 # module: imaging, backend: tizen
-SET( adaptor_imaging_tizen_src_files 
-    ${adaptor_imaging_dir}/tizen/native-image-source-factory-tizen.cpp 
-    ${adaptor_imaging_dir}/tizen/native-image-source-impl-tizen.cpp 
+SET( adaptor_imaging_tizen_src_files
+    ${adaptor_imaging_dir}/common/file-download.cpp
+    ${adaptor_imaging_dir}/tizen/native-image-source-factory-tizen.cpp
+    ${adaptor_imaging_dir}/tizen/native-image-source-impl-tizen.cpp
     ${adaptor_imaging_dir}/tizen/native-image-source-queue-impl-tizen.cpp
 )
 
 # module: imaging, backend: ubuntu-x11
-SET( adaptor_imaging_ubuntu_x11_src_files 
-    ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-factory-x.cpp 
-    ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-impl-x.cpp 
+SET( adaptor_imaging_ubuntu_x11_src_files
+    ${adaptor_imaging_dir}/common/file-download.cpp
+    ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-factory-x.cpp
+    ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-impl-x.cpp
     ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-queue-impl-x.cpp
 )
 
 # module: imaging, backend: android
 SET( adaptor_imaging_android_src_files
+    ${adaptor_imaging_dir}/common/file-download.cpp
     ${adaptor_imaging_dir}/android/native-image-source-factory-android.cpp
     ${adaptor_imaging_dir}/android/native-image-source-impl-android.cpp
     ${adaptor_imaging_dir}/android/native-image-source-queue-impl-android.cpp
 )
+
+# module: imaging, backend: windows
+SET( adaptor_imaging_windows_src_files
+    ${adaptor_imaging_dir}/windows/curl-environment-win.cpp
+    ${adaptor_imaging_dir}/windows/file-download-win.cpp
+    ${adaptor_imaging_dir}/windows/native-image-source-factory-win.cpp
+    ${adaptor_imaging_dir}/windows/native-image-source-impl-win.cpp
+)
index 2a137af..465ef1c 100755 (executable)
@@ -23,7 +23,6 @@
 #include <pthread.h>
 #include <cstring>
 #include <curl/curl.h>
-#include <../ExInclude/InternalFileOperation.h>
 
 // INTERNAL INCLUDES
 #include <dali/internal/system/common/file-writer.h>
index c1bb19e..3e447ce 100644 (file)
@@ -33,3 +33,11 @@ SET( adaptor_input_generic_src_files
     ${adaptor_input_dir}/generic/key-mapping-generic.cpp
     ${adaptor_input_dir}/generic/virtual-keyboard-impl-generic.cpp
 )
+
+# module: input, backend: windows
+SET( adaptor_input_windows_src_files
+    ${adaptor_input_dir}/windows/input-method-context-factory-win.cpp
+    ${adaptor_input_dir}/windows/input-method-context-impl-win.cpp
+    ${adaptor_input_dir}/windows/key-mapping-win.cpp
+    ${adaptor_input_dir}/windows/virtual-keyboard-impl-win.cpp
+)
index bfe5851..4b57b14 100644 (file)
@@ -1,71 +1,83 @@
 
 # module: system, backend: common
-SET( adaptor_system_common_src_files 
-    ${adaptor_system_dir}/common/abort-handler.cpp 
-    ${adaptor_system_dir}/common/color-controller-impl.cpp 
-    ${adaptor_system_dir}/common/command-line-options.cpp 
-    ${adaptor_system_dir}/common/environment-options.cpp 
-    ${adaptor_system_dir}/common/fps-tracker.cpp 
-    ${adaptor_system_dir}/common/frame-time-stamp.cpp 
-    ${adaptor_system_dir}/common/frame-time-stats.cpp 
-    ${adaptor_system_dir}/common/kernel-trace.cpp 
-    ${adaptor_system_dir}/common/locale-utils.cpp 
-    ${adaptor_system_dir}/common/object-profiler.cpp 
-    ${adaptor_system_dir}/common/performance-interface-factory.cpp 
-    ${adaptor_system_dir}/common/performance-logger-impl.cpp 
-    ${adaptor_system_dir}/common/performance-marker.cpp 
-    ${adaptor_system_dir}/common/performance-server.cpp 
-    ${adaptor_system_dir}/common/shared-file.cpp 
-    ${adaptor_system_dir}/common/singleton-service-impl.cpp 
-    ${adaptor_system_dir}/common/sound-player-impl.cpp 
-    ${adaptor_system_dir}/common/stat-context.cpp 
-    ${adaptor_system_dir}/common/stat-context-manager.cpp 
-    ${adaptor_system_dir}/common/system-trace.cpp 
-    ${adaptor_system_dir}/common/thread-controller.cpp 
-    ${adaptor_system_dir}/common/time-service.cpp 
-    ${adaptor_system_dir}/common/trigger-event.cpp 
-    ${adaptor_system_dir}/common/trigger-event-factory.cpp 
-    ${adaptor_system_dir}/common/update-status-logger.cpp 
-    ${adaptor_system_dir}/common/widget-application-impl.cpp 
+SET( adaptor_system_common_src_files
+    ${adaptor_system_dir}/common/abort-handler.cpp
+    ${adaptor_system_dir}/common/color-controller-impl.cpp
+    ${adaptor_system_dir}/common/command-line-options.cpp
+    ${adaptor_system_dir}/common/environment-options.cpp
+    ${adaptor_system_dir}/common/fps-tracker.cpp
+    ${adaptor_system_dir}/common/frame-time-stamp.cpp
+    ${adaptor_system_dir}/common/frame-time-stats.cpp
+    ${adaptor_system_dir}/common/kernel-trace.cpp
+    ${adaptor_system_dir}/common/locale-utils.cpp
+    ${adaptor_system_dir}/common/object-profiler.cpp
+    ${adaptor_system_dir}/common/performance-interface-factory.cpp
+    ${adaptor_system_dir}/common/performance-logger-impl.cpp
+    ${adaptor_system_dir}/common/performance-marker.cpp
+    ${adaptor_system_dir}/common/performance-server.cpp
+    ${adaptor_system_dir}/common/singleton-service-impl.cpp
+    ${adaptor_system_dir}/common/sound-player-impl.cpp
+    ${adaptor_system_dir}/common/stat-context.cpp
+    ${adaptor_system_dir}/common/stat-context-manager.cpp
+    ${adaptor_system_dir}/common/system-trace.cpp
+    ${adaptor_system_dir}/common/thread-controller.cpp
+    ${adaptor_system_dir}/common/time-service.cpp
+    ${adaptor_system_dir}/common/update-status-logger.cpp
+    ${adaptor_system_dir}/common/widget-application-impl.cpp
 )
 
 # module: system, backend: linux
-SET( adaptor_system_linux_src_files 
-    ${adaptor_system_dir}/linux/callback-manager-ecore.cpp 
+SET( adaptor_system_linux_src_files
+    ${adaptor_system_dir}/common/shared-file.cpp
+    ${adaptor_system_dir}/common/trigger-event.cpp
+    ${adaptor_system_dir}/common/trigger-event-factory.cpp
+    ${adaptor_system_dir}/linux/callback-manager-ecore.cpp
     ${adaptor_system_dir}/linux/file-descriptor-monitor-ecore.cpp
     ${adaptor_system_dir}/generic/shared-file-operations-generic.cpp
     ${adaptor_system_dir}/linux/timer-impl-ecore.cpp
 )
 
 # module: system, backend: tizen-wayland
-SET( adaptor_system_tizen_wayland_src_files 
+SET( adaptor_system_tizen_wayland_src_files
+    ${adaptor_system_dir}/common/shared-file.cpp
+    ${adaptor_system_dir}/common/trigger-event.cpp
+    ${adaptor_system_dir}/common/trigger-event-factory.cpp
     ${adaptor_system_dir}/tizen-wayland/logging-tizen.cpp
-    ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp 
-    ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp 
+    ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp
+    ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp
     ${adaptor_system_dir}/tizen-wayland/widget-controller-tizen.cpp
 )
 
 # module: system, backend: tizen-wearable
-SET( adaptor_system_tizen_wearable_src_files 
+SET( adaptor_system_tizen_wearable_src_files
+    ${adaptor_system_dir}/common/shared-file.cpp
+    ${adaptor_system_dir}/common/trigger-event.cpp
+    ${adaptor_system_dir}/common/trigger-event-factory.cpp
     ${adaptor_system_dir}/tizen-wayland/logging-tizen.cpp
-    ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture.cpp 
-    ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture-impl-tizen.cpp 
-    ${adaptor_system_dir}/tizen-wayland/tizen-wearable/watch-time.cpp 
-    ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp 
-    ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp 
+    ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture.cpp
+    ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture-impl-tizen.cpp
+    ${adaptor_system_dir}/tizen-wayland/tizen-wearable/watch-time.cpp
+    ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp
+    ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp
     ${adaptor_system_dir}/tizen-wayland/widget-controller-tizen.cpp
 )
 
 # module: system, backend: ubuntu-x11
-SET( adaptor_system_ubuntu_x11_src_files 
+SET( adaptor_system_ubuntu_x11_src_files
+    ${adaptor_system_dir}/common/shared-file.cpp
+    ${adaptor_system_dir}/common/trigger-event.cpp
+    ${adaptor_system_dir}/common/trigger-event-factory.cpp
     ${adaptor_system_dir}/ubuntu-x11/logging-x.cpp
-    ${adaptor_system_dir}/ubuntu-x11/system-settings-x.cpp 
-    ${adaptor_system_dir}/ubuntu-x11/widget-application-impl-x.cpp 
+    ${adaptor_system_dir}/ubuntu-x11/system-settings-x.cpp
+    ${adaptor_system_dir}/ubuntu-x11/widget-application-impl-x.cpp
     ${adaptor_system_dir}/ubuntu-x11/widget-controller-x.cpp
 )
 
 # module: system, backend: android
 SET( adaptor_system_android_src_files
+    ${adaptor_system_dir}/common/shared-file.cpp
+    ${adaptor_system_dir}/common/trigger-event.cpp
+    ${adaptor_system_dir}/common/trigger-event-factory.cpp
     ${adaptor_system_dir}/android/callback-manager-android.cpp
     ${adaptor_system_dir}/android/file-descriptor-monitor-android.cpp
     ${adaptor_system_dir}/android/logging-android.cpp
@@ -75,4 +87,14 @@ SET( adaptor_system_android_src_files
     ${adaptor_system_dir}/android/widget-application-impl-android.cpp
 )
 
-
+# module: system, backend: windows
+SET( adaptor_system_windows_src_files
+    ${adaptor_system_dir}/windows/callback-manager-win.cpp
+    ${adaptor_system_dir}/windows/system-settings-win.cpp
+    ${adaptor_system_dir}/windows/timer-impl-win.cpp
+    ${adaptor_system_dir}/windows/trigger-event.cpp
+    ${adaptor_system_dir}/windows/trigger-event-factory.cpp
+    ${adaptor_system_dir}/windows/logging-win.cpp
+    ${adaptor_system_dir}/windows/widget-application-impl-win.cpp
+    ${adaptor_system_dir}/windows/widget-controller-win.cpp
+)
index 90c7e83..7dffb60 100644 (file)
@@ -54,3 +54,14 @@ SET( adaptor_window_system_android_src_files
     ${adaptor_window_system_dir}/android/window-factory-android.cpp
     ${adaptor_window_system_dir}/android/window-system-android.cpp
 )
+
+# module: window-system, backend: windows
+SET( adaptor_window_system_windows_src_files
+    ${adaptor_window_system_dir}/windows/display-connection-factory-win.cpp
+    ${adaptor_window_system_dir}/windows/display-connection-impl-win.cpp
+    ${adaptor_window_system_dir}/windows/platform-implement-win.cpp
+    ${adaptor_window_system_dir}/windows/render-surface-factory-win.cpp
+    ${adaptor_window_system_dir}/windows/window-base-win.cpp
+    ${adaptor_window_system_dir}/windows/window-factory-win.cpp
+    ${adaptor_window_system_dir}/windows/window-system-win.cpp
+)
index 3448d51..56c0799 100644 (file)
@@ -20,7 +20,17 @@ SET( static_libraries_libunibreak_src_files
   ${adaptor_thirdparty_dir}/libunibreak/unibreakdef.c
 )
 
-SET( adaptor_resampler_src_files 
+SET( adaptor_resampler_src_files
     ${adaptor_thirdparty_dir}/resampler/resampler.cpp
 )
 
+SET( adaptor_windows_platform_src_files
+    ${adaptor_thirdparty_dir}/windows-platform/dlfcn.cpp
+    ${adaptor_thirdparty_dir}/windows-platform/environment.cpp
+    ${adaptor_thirdparty_dir}/windows-platform/network.cpp
+    ${adaptor_thirdparty_dir}/windows-platform/thread.cpp
+    ${adaptor_thirdparty_dir}/windows-platform/Win32File/CustomFile.cpp
+    ${adaptor_thirdparty_dir}/windows-platform/Win32File/GetRealFileName.cpp
+    ${adaptor_thirdparty_dir}/windows-platform/Win32File/MemFile.cpp
+    ${adaptor_thirdparty_dir}/windows-platform/Win32File/OriginalFile.cpp
+)
\ No newline at end of file
diff --git a/third-party/windows-platform/Win32File/CustomFile.cpp b/third-party/windows-platform/Win32File/CustomFile.cpp
new file mode 100644 (file)
index 0000000..5992bf7
--- /dev/null
@@ -0,0 +1,163 @@
+#include "CustomFile.h"
+
+extern void* MemFOpen( uint8_t* buffer, size_t dataSize, const char * const mode );
+extern void MemFClose( const void *fp );
+extern int MemFRead( void* buf, int eleSize, int count, const void *fp );
+extern void MemFWrite( void *buf, int size, const void *fp );
+extern int MemFSeek( const void *fp, int offset, int origin );
+extern int MemFTell( const void *fp );
+extern bool MemFEof( const void *fp );
+
+extern void* OriginalFOpen( const char *name, const char *mode );
+extern int OriginalFClose( const void *fp );
+extern int OriginalFRead( void* buf, int eleSize, int count, const void *fp );
+extern void OriginalFWrite( void *buf, int size, const void *fp );
+extern void OriginalFWrite( void *buf, int eleSize, int count, const void *fp );
+extern int OriginalFSeek( const void *fp, int offset, int origin );
+extern int OriginalFTell( const void *fp );
+extern bool OriginalFEof( const void *fp );
+
+namespace std
+{
+int GetRealFileMode(const char *path, int _Mode)
+{
+  std::string strPath = path;
+
+  if ((std::ios::in | std::ios::ate == _Mode) && strPath.find(".json") != std::string::npos)
+  {
+    return std::ios::in | std::ios::binary | std::ios::ate;
+  }
+  else
+  {
+    return _Mode;
+  }
+}
+
+extern const char* GetRealName(const char *name);
+}
+
+namespace CustomFile
+{
+FILE* FOpen( const char *name, const char *mode )
+{
+  if( NULL != name && '*' == name[0] )
+  {
+    std::string realName = std::GetRealName( name );
+    FILE* ret = (FILE*)OriginalFOpen( realName.c_str(), mode );
+    if (NULL == ret)
+    {
+      int temp = 0;
+    }
+    return ret;
+  }
+  else
+  {
+    return (FILE*)OriginalFOpen( name, mode );
+  }
+}
+
+int FClose( const void* fp )
+{
+  if( -1 == *( (char*)fp + 4 ) )
+  {
+    MemFClose( fp );
+    return 0;
+  }
+  else
+  {
+    return OriginalFClose( fp );
+  }
+}
+
+FILE* FMemopen( void* buffer, size_t dataSize, const char * mode )
+{
+  return (FILE*)MemFOpen( ( uint8_t*)buffer, dataSize, mode );
+}
+
+int FRead( void* buf, int eleSize, int count, const void *fp )
+{
+  if( -1 == *( (char*)fp + 4 ) )
+  {
+    return MemFRead( buf, eleSize, count, fp );
+  }
+  else
+  {
+    return OriginalFRead( buf, eleSize, count, fp );
+  }
+}
+
+void FWrite( void *buf, int size, const void *fp )
+{
+  if( -1 == *( (char*)fp + 4 ) )
+  {
+    MemFWrite( buf, size, fp );
+  }
+  else
+  {
+    OriginalFWrite( buf, size, fp );
+  }
+}
+
+unsigned int FWrite( const char  *buf, unsigned int eleSize, unsigned int count, void *fp )
+{
+  if( -1 == *( (char*)fp + 4 ) )
+  {
+    MemFWrite( (void*)buf, eleSize * count, fp );
+  }
+  else
+  {
+    OriginalFWrite((void*)buf, eleSize, count, fp );
+  }
+
+  return eleSize * count;
+}
+
+int FSeek( const void *fp, int offset, int origin )
+{
+  if( -1 == *( (char*)fp + 4 ) )
+  {
+    return MemFSeek( fp, offset, origin );
+  }
+  else
+  {
+    return OriginalFSeek( fp, offset, origin );
+  }
+}
+
+int FTell( const void *fp )
+{
+  if( -1 == *( (char*)fp + 4 ) )
+  {
+    return MemFTell( fp );
+  }
+  else
+  {
+    return OriginalFTell( fp );
+  }
+}
+
+bool FEof( const void *fp )
+{
+  if( -1 == *( (char*)fp + 4 ) )
+  {
+    return MemFEof( fp );
+  }
+  else
+  {
+    return OriginalFEof( fp );
+  }
+}
+}
+
+extern "C"
+{
+size_t __cdecl fread_for_c( void*  _Buffer, size_t _ElementSize, size_t _ElementCount, void*  _Stream )
+{
+  return CustomFile::FRead( _Buffer, _ElementSize, _ElementCount, _Stream );
+}
+
+void __cdecl fwrite_for_c( void *buf, int size, const void *fp )
+{
+  CustomFile::FWrite( buf, size, fp );
+}
+}
diff --git a/third-party/windows-platform/Win32File/CustomFile.h b/third-party/windows-platform/Win32File/CustomFile.h
new file mode 100644 (file)
index 0000000..4a33531
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef _CUSTOMFILE_INCLUDE_
+#define _CUSTOMFILE_INCLUDE_
+
+#include <stdint.h>
+#include <string>
+
+namespace CustomFile
+{
+FILE* FOpen( const char *name, const char *mode );
+
+int FClose( const void* fp );
+
+FILE* FMemopen( void* buffer, size_t dataSize, const char * mode );
+
+int FRead( void* buf, int eleSize, int count, const void *fp );
+
+void FWrite( void *buf, int size, const void *fp );
+
+unsigned int FWrite( const char *buf, unsigned int eleSize, unsigned int count, void *fp );
+
+int FSeek( const void *fp, int offset, int origin );
+
+int FTell( const void *fp );
+
+bool FEof( const void *fp );
+}
+
+#endif
diff --git a/third-party/windows-platform/Win32File/GetRealFileName.cpp b/third-party/windows-platform/Win32File/GetRealFileName.cpp
new file mode 100644 (file)
index 0000000..433a89c
--- /dev/null
@@ -0,0 +1,35 @@
+#include <string>
+
+namespace std
+{
+const char* GetRealName( const char *name )
+{
+  if( NULL != name && '*' == name[0] )
+  {
+    string envName;
+
+    const char *p = name + 1;
+
+    while( 0 != *p && '*' != *p )
+    {
+      envName.push_back( *p );
+      p++;
+    }
+
+    p++;
+
+    char *envValue = std::getenv( envName.c_str() );
+
+    static std::string realName;
+    realName = "";
+    realName += envValue;
+    realName += p;
+
+    return realName.c_str();
+  }
+  else
+  {
+    return name;
+  }
+}
+}
diff --git a/third-party/windows-platform/Win32File/MemFile.cpp b/third-party/windows-platform/Win32File/MemFile.cpp
new file mode 100644 (file)
index 0000000..922fc84
--- /dev/null
@@ -0,0 +1,159 @@
+#include <string>
+
+using namespace std;
+
+typedef unsigned char BYTE;
+typedef unsigned int UINT;
+
+#define SEEK_CUR    1
+#define SEEK_END    2
+#define SEEK_SET    0
+
+class CBufferFile
+{
+public:
+  CBufferFile( BYTE* lpBuffer, UINT nBufferSize )
+  {
+    mFlag = 0xFF;
+    mCurIndex = 0;
+    mLength = nBufferSize;
+
+    mBuffer = lpBuffer;
+  }
+
+  virtual ~CBufferFile()
+  {
+    Close();
+  }
+
+  int Read( void *buf, int size )
+  {
+    int realReadSize = mLength - mCurIndex;
+
+    if( realReadSize > size )
+    {
+      realReadSize = size;
+    }
+
+    if( 0 < realReadSize )
+    {
+      memcpy( buf, mBuffer + mCurIndex, realReadSize );
+      mCurIndex += realReadSize;
+    }
+
+    return realReadSize;
+  }
+
+  void Write( void *buf, int size )
+  {
+    memcpy( mBuffer + mCurIndex, buf, size );
+    mCurIndex += size;
+  }
+
+  int Seek( long offset, int origin )
+  {
+    int nextIndex = -1;
+
+    switch( origin )
+    {
+    case SEEK_SET:
+      nextIndex = offset;
+      break;
+
+    case SEEK_CUR:
+      nextIndex = mCurIndex + offset;
+      break;
+
+    case SEEK_END:
+      nextIndex = mLength - 1 - offset;
+      break;
+    }
+
+    if( nextIndex >= mLength )
+    {
+      nextIndex = -1;
+    }
+
+    if( 0 > nextIndex )
+    {
+      return 1;
+    }
+    else
+    {
+      mCurIndex = nextIndex;
+      return 0;
+    }
+  }
+
+  int GetPosition()
+  {
+    return mCurIndex;
+  }
+
+  bool IsEnd()
+  {
+    return ( mLength - 1 == mCurIndex );
+  }
+
+  void Close()
+  {
+    mBuffer = NULL;
+
+    mCurIndex = 0;
+    mLength = -1;
+    mFlag = 0;
+  }
+
+protected:
+
+private:
+  char mFlag;
+  BYTE *mBuffer;
+
+  UINT mLength;
+  UINT mCurIndex;
+};
+
+void* MemFOpen( uint8_t* buffer, size_t dataSize, const char * const mode )
+{
+  CBufferFile *pBufferFile = new CBufferFile( buffer, dataSize );
+  return pBufferFile;
+}
+
+void MemFClose( const void *fp )
+{
+  CBufferFile *file = (CBufferFile*)fp;
+  printf("MemFClose file 0x%x\n", file);
+  file->Close();
+  delete file;
+}
+
+int MemFRead( void* buf, int eleSize, int count, const void *fp )
+{
+  CBufferFile *file = (CBufferFile*)fp;
+  return file->Read( buf, eleSize * count );
+}
+
+void MemFWrite( void *buf, int size, const void *fp )
+{
+  CBufferFile *file = (CBufferFile*)fp;
+  file->Write( buf, size );
+}
+
+int MemFSeek( const void *fp, int offset, int origin )
+{
+  CBufferFile *file = (CBufferFile*)fp;
+  return file->Seek( offset, origin );
+}
+
+int MemFTell( const void *fp )
+{
+  CBufferFile *file = (CBufferFile*)fp;
+  return file->GetPosition();
+}
+
+bool MemFEof( const void *fp )
+{
+  CBufferFile *file = (CBufferFile*)fp;
+  return file->IsEnd();
+}
diff --git a/third-party/windows-platform/Win32File/OriginalFile.cpp b/third-party/windows-platform/Win32File/OriginalFile.cpp
new file mode 100644 (file)
index 0000000..5048176
--- /dev/null
@@ -0,0 +1,41 @@
+#include "stdio.h"
+
+void* OriginalFOpen( const char *name, const char *mode )
+{
+  return fopen( name, mode );
+}
+
+int OriginalFClose( const void *fp )
+{
+  return fclose( (FILE*)fp );
+}
+
+int OriginalFRead( void* buf, int eleSize, int count, const void *fp )
+{
+  return fread( buf, eleSize, count, (FILE*)fp );
+}
+
+void OriginalFWrite( void *buf, int size, const void *fp )
+{
+  fwrite( buf, size, 1, (FILE*)fp );
+}
+
+void OriginalFWrite( void *buf, int eleSize, int count, const void *fp )
+{
+  fwrite( buf, eleSize, count, (FILE*)fp );
+}
+
+int OriginalFSeek( const void *fp, int offset, int origin )
+{
+  return fseek( (FILE*)fp, offset, origin );
+}
+
+int OriginalFTell( const void *fp )
+{
+  return ftell( (FILE*)fp );
+}
+
+bool OriginalFEof( const void *fp )
+{
+  return (bool)feof( (FILE*)fp );
+}
\ No newline at end of file
diff --git a/third-party/windows-platform/dirent.h b/third-party/windows-platform/dirent.h
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/third-party/windows-platform/dlfcn.cpp b/third-party/windows-platform/dlfcn.cpp
new file mode 100644 (file)
index 0000000..5140ec1
--- /dev/null
@@ -0,0 +1,29 @@
+#include <dlfcn.h>
+#include <windows.h>
+
+namespace
+{
+  char DL_ERROR[2] = "";
+}
+
+bool dlclose( void* handle )
+{
+  return true;
+}
+
+char* dlerror()
+{
+  return DL_ERROR;
+}
+
+void* dlopen( const char *name, int mode )
+{
+  const char* szStr = name;
+
+  return LoadLibrary( szStr );
+}
+
+void* dlsym( void *handle, const char *name )
+{
+  return GetProcAddress( (HMODULE)handle, "CreateFeedbackPlugin" );
+}
diff --git a/third-party/windows-platform/dlfcn.h b/third-party/windows-platform/dlfcn.h
new file mode 100644 (file)
index 0000000..1e4e408
--- /dev/null
@@ -0,0 +1,18 @@
+#ifndef _DLFCN_INCLUDE_
+#define _DLFCN_INCLUDE_
+
+#undef PlaySound
+
+#define RTLD_NOW      0
+#define RTLD_GLOBAL   1
+#define RTLD_LAZY     2
+
+bool dlclose( void* handle );
+
+char* dlerror();
+
+void* dlopen( const char *name, int mode );
+
+void* dlsym( void *handle, const char *name );
+
+#endif
\ No newline at end of file
diff --git a/third-party/windows-platform/environment.cpp b/third-party/windows-platform/environment.cpp
new file mode 100644 (file)
index 0000000..d6dab55
--- /dev/null
@@ -0,0 +1,26 @@
+#include <cstdlib>
+#include <string>
+
+using namespace std;
+
+int setenv( const char *__name, const char *__value, int __replace )
+{
+  string value = __name;
+  value += "=";
+  value += __value;
+
+  return putenv( value.c_str() );
+}
+
+const char* app_get_data_path()
+{
+  static std::string envValue = "";
+
+  if( true == envValue.empty() )
+  {
+    envValue = std::getenv( "DemoData" );
+    envValue += "/";
+  }
+
+  return envValue.c_str();
+}
diff --git a/third-party/windows-platform/extern-definitions.h b/third-party/windows-platform/extern-definitions.h
new file mode 100644 (file)
index 0000000..814b1e4
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2019 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.
+ *
+ */
+
+#ifndef DALI_ADAPTOR_EXTERN_DEFINITIONS_H
+#define DALI_ADAPTOR_EXTERN_DEFINITIONS_H
+
+#include <xlocale>
+
+int setenv( const char* __name, const char* __value, int __replace );
+const char* app_get_data_path();
+
+static int strncasecmp(const char *s1, const char *s2, register int n)
+{
+  while (--n >= 0 && toupper((unsigned char)*s1) == toupper((unsigned char)*s2++))
+      if (*s1++ == 0)  return 0;
+  return(n < 0 ? 0 : toupper((unsigned char)*s1) - toupper((unsigned char)*--s2));
+}
+
+int __cdecl setsockopt( int s, int level, int optname, unsigned int * optval, unsigned int optlen );
+
+int __cdecl setsockopt( int s, int level, int optname, int * optval, unsigned int optlen );
+
+
+#define fmemopen CustomFile::FMemopen
+
+namespace CustomFile
+{
+  FILE* FMemopen( void* __s, size_t __len, const char* __modes );
+}
+
+#endif // DALI_ADAPTOR_EXTERN_DEFINITIONS_H
diff --git a/third-party/windows-platform/netinet/in.h b/third-party/windows-platform/netinet/in.h
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/third-party/windows-platform/network.cpp b/third-party/windows-platform/network.cpp
new file mode 100644 (file)
index 0000000..910831f
--- /dev/null
@@ -0,0 +1,11 @@
+#include <winsock2.h>
+
+int __cdecl setsockopt( int s, int level, int optname, unsigned int * optval, unsigned int optlen )
+{
+  return setsockopt( (SOCKET)s, level, optname, (const char*)optval, optlen );
+}
+
+int __cdecl setsockopt( int s, int level, int optname, int * optval, unsigned int optlen )
+{
+  return setsockopt( (SOCKET)s, level, optname, (const char*)optval, optlen );
+}
\ No newline at end of file
diff --git a/third-party/windows-platform/preprocessor-definitions.h b/third-party/windows-platform/preprocessor-definitions.h
new file mode 100644 (file)
index 0000000..b8af587
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2019 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.
+ *
+ */
+
+#ifndef DALI_ADAPTOR_PREPROCESSOR_DEFINITIONS_H
+#define DALI_ADAPTOR_PREPROCESSOR_DEFINITIONS_H
+
+#define WIN_CALLBACK_EVENT 9999
+#define LC_MESSAGES 0
+
+#endif // DALI_ADAPTOR_PREPROCESSOR_DEFINITIONS_H
diff --git a/third-party/windows-platform/sys/mman.h b/third-party/windows-platform/sys/mman.h
new file mode 100644 (file)
index 0000000..8e2e2d9
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef _MMAN_INCLUDE_
+#define _MMAN_INCLUDE_
+
+#define PROT_READ   0
+#define MAP_SHARED  1
+
+static void* mmap( void*, long long length, int, int, int handle, int )
+{
+  char *buffer = new char[length];
+  read( handle, buffer, length );
+  return buffer;
+}
+
+static void munmap( void* buffer, long long )
+{
+  delete[] buffer;
+}
+
+#endif
\ No newline at end of file
diff --git a/third-party/windows-platform/sys/prctl.h b/third-party/windows-platform/sys/prctl.h
new file mode 100644 (file)
index 0000000..5cea4e3
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef _PRCTL_INCLUDE_H_
+#define _PRCTL_INCLUDE_H_
+
+#define PR_SET_NAME 0
+
+int prctl(int type, const char *str);
+
+#endif
\ No newline at end of file
diff --git a/third-party/windows-platform/sys/socket.h b/third-party/windows-platform/sys/socket.h
new file mode 100644 (file)
index 0000000..97ed344
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef _SOCKET_INCLUDE_
+#define _SOCKET_INCLUDE_
+
+#include <winsock2.h>
+
+#ifdef ERROR
+#undef ERROR
+#endif
+
+#ifdef CopyMemory
+#undef CopyMemory
+#endif
+
+#ifdef TRANSPARENT
+#undef TRANSPARENT
+#endif
+
+typedef int socklen_t;
+char DALI_SOCKET_ERROR[2] = "";
+
+char* strerror_r(int, char *, int)
+{
+  return DALI_SOCKET_ERROR;
+}
+
+int pipe( int* )
+{
+  return 1;
+}
+
+#endif
\ No newline at end of file
diff --git a/third-party/windows-platform/sys/time.h b/third-party/windows-platform/sys/time.h
new file mode 100644 (file)
index 0000000..928b2c0
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef TIME_INCLUDE
+#define TIME_INCLUDE
+
+#include <time.h>
+#include <windows.h>
+#include <winsock.h>
+
+#undef OPAQUE
+#undef TRANSPARENT
+
+#undef ERROR
+
+#undef TRUE
+#undef FALSE
+
+static int gettimeofday( struct timeval *tp, void *tzp )
+{
+  time_t clock;
+  struct tm tm;
+  SYSTEMTIME wtm;
+  GetLocalTime( &wtm );
+  tm.tm_year = wtm.wYear - 1900;
+  tm.tm_mon = wtm.wMonth - 1;
+  tm.tm_mday = wtm.wDay;
+  tm.tm_hour = wtm.wHour;
+  tm.tm_min = wtm.wMinute;
+  tm.tm_sec = wtm.wSecond;
+  tm.tm_isdst = -1;
+  clock = mktime( &tm );
+  tp->tv_sec = clock;
+  tp->tv_usec = wtm.wMilliseconds * 1000;
+  return ( 0 );
+}
+
+#endif
\ No newline at end of file
diff --git a/third-party/windows-platform/thread.cpp b/third-party/windows-platform/thread.cpp
new file mode 100644 (file)
index 0000000..69f1414
--- /dev/null
@@ -0,0 +1,4 @@
+int prctl( int type, const char *str )
+{
+  return 0;
+}
\ No newline at end of file
diff --git a/third-party/windows-platform/unistd.h b/third-party/windows-platform/unistd.h
new file mode 100644 (file)
index 0000000..35ee57e
--- /dev/null
@@ -0,0 +1,9 @@
+
+/** This file is part of the Mingw32 package.
+*  unistd.h maps     (roughly) to io.h
+*/
+#ifndef _UNISTD_H
+#define _UNISTD_H
+#include <io.h>
+#include <process.h>
+#endif /* _UNISTD_H */