mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-08 07:55:10 +00:00
3b19306869
* Optimize samples build process * Samples: build 64 bit version by default
159 lines
5.9 KiB
CMake
159 lines
5.9 KiB
CMake
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
#
|
|
# 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.
|
|
|
|
cmake_minimum_required (VERSION 2.8.2)
|
|
message ("vgl_native_ui_app...")
|
|
project (vgl_native_ui_app)
|
|
|
|
|
|
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLV_CONF_INCLUDE_SIMPLE -DPLATFORM_NATIVE_LINUX -DUSE_MONITOR -DUSE_MOUSE=1")
|
|
|
|
# Currently build as 64-bit by default. Set to "NO" to build 32-bit binaries.
|
|
set (BUILD_AS_64BIT_SUPPORT "YES")
|
|
|
|
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
if (${BUILD_AS_64BIT_SUPPORT} STREQUAL "YES")
|
|
# Add -fPIC flag if build as 64-bit
|
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
|
set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS} -fPIC")
|
|
else ()
|
|
add_definitions (-m32)
|
|
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m32")
|
|
set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32")
|
|
endif ()
|
|
endif ()
|
|
|
|
set(lv_name lvgl)
|
|
set(LVGL_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/${lv_name})
|
|
set(LVGL_DRIVER_DIR ${CMAKE_CURRENT_LIST_DIR}/lv-drivers)
|
|
|
|
message(${LVGL_SOURCE_DIR})
|
|
include( ExternalProject )
|
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/download_lvgl/CMakeLists.txt)
|
|
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
|
|
RESULT_VARIABLE result
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/download_lvgl )
|
|
if(result)
|
|
message(FATAL_ERROR "CMake step for lvgl failed: ${result}")
|
|
endif()
|
|
execute_process(COMMAND ${CMAKE_COMMAND} --build .
|
|
RESULT_VARIABLE result
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/download_lvgl )
|
|
if(result)
|
|
message(FATAL_ERROR "Build step for lvgl failed: ${result}")
|
|
endif()
|
|
SET (LVGL_SOURCES
|
|
${LVGL_SOURCE_DIR}/lv_core/lv_group.c
|
|
${LVGL_SOURCE_DIR}/lv_core/lv_indev.c
|
|
${LVGL_SOURCE_DIR}/lv_core/lv_lang.c
|
|
${LVGL_SOURCE_DIR}/lv_core/lv_obj.c
|
|
${LVGL_SOURCE_DIR}/lv_core/lv_refr.c
|
|
${LVGL_SOURCE_DIR}/lv_core/lv_style.c
|
|
${LVGL_SOURCE_DIR}/lv_core/lv_vdb.c
|
|
|
|
${LVGL_SOURCE_DIR}/lv_draw/lv_draw.c
|
|
${LVGL_SOURCE_DIR}/lv_draw/lv_draw_arc.c
|
|
${LVGL_SOURCE_DIR}/lv_draw/lv_draw_img.c
|
|
${LVGL_SOURCE_DIR}/lv_draw/lv_draw_label.c
|
|
${LVGL_SOURCE_DIR}/lv_draw/lv_draw_line.c
|
|
${LVGL_SOURCE_DIR}/lv_draw/lv_draw_rbasic.c
|
|
${LVGL_SOURCE_DIR}/lv_draw/lv_draw_rect.c
|
|
${LVGL_SOURCE_DIR}/lv_draw/lv_draw_triangle.c
|
|
${LVGL_SOURCE_DIR}/lv_draw/lv_draw_vbasic.c
|
|
|
|
${LVGL_SOURCE_DIR}/lv_hal/lv_hal_disp.c
|
|
${LVGL_SOURCE_DIR}/lv_hal/lv_hal_indev.c
|
|
${LVGL_SOURCE_DIR}/lv_hal/lv_hal_tick.c
|
|
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_anim.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_area.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_circ.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_color.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_font.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_fs.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_gc.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_ll.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_log.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_math.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_mem.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_task.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_templ.c
|
|
${LVGL_SOURCE_DIR}/lv_misc/lv_txt.c
|
|
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_arc.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_bar.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_btn.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_btnm.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_calendar.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_canvas.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_cb.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_chart.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_cont.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_ddlist.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_gauge.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_img.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_imgbtn.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_kb.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_label.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_led.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_line.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_list.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_lmeter.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_mbox.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_objx_templ.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_page.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_preload.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_roller.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_slider.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_spinbox.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_sw.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_ta.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_table.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_tabview.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_tileview.c
|
|
${LVGL_SOURCE_DIR}/lv_objx/lv_win.c
|
|
|
|
${LVGL_SOURCE_DIR}/lv_themes/lv_theme.c
|
|
${LVGL_SOURCE_DIR}/lv_themes/lv_theme_alien.c
|
|
${LVGL_SOURCE_DIR}/lv_themes/lv_theme_default.c
|
|
${LVGL_SOURCE_DIR}/lv_themes/lv_theme_material.c
|
|
${LVGL_SOURCE_DIR}/lv_themes/lv_theme_mono.c
|
|
${LVGL_SOURCE_DIR}/lv_themes/lv_theme_nemo.c
|
|
${LVGL_SOURCE_DIR}/lv_themes/lv_theme_night.c
|
|
${LVGL_SOURCE_DIR}/lv_themes/lv_theme_templ.c
|
|
${LVGL_SOURCE_DIR}/lv_themes/lv_theme_zen.c
|
|
|
|
${LVGL_SOURCE_DIR}/lv_fonts/lv_font_builtin.c
|
|
${LVGL_SOURCE_DIR}/lv_fonts/lv_font_dejavu_20.c
|
|
${LVGL_DRIVER_DIR}/linux_display_indev.c
|
|
${LVGL_DRIVER_DIR}/indev/mouse.c
|
|
|
|
)
|
|
SET(SOURCES
|
|
${LVGL_SOURCES}
|
|
${CMAKE_CURRENT_LIST_DIR}/main.c
|
|
)
|
|
include_directories(
|
|
${LVGL_DRIVER_DIR}
|
|
${LVGL_DRIVER_DIR}/display
|
|
${LVGL_DRIVER_DIR}/indev
|
|
${LVGL_SOURCE_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_CURRENT_LIST_DIR}
|
|
)
|
|
add_executable(vgl_native_ui_app ${SOURCES} )
|
|
target_link_libraries( vgl_native_ui_app -lSDL2)
|