tecban_mobile/linux/CMakeLists.txt

146 lines
5.3 KiB
CMake
Raw Normal View History

2024-01-27 13:01:07 -03:00
# Project-level configuration.
cmake_minimum_required(VERSION 3.10)
project(runner LANGUAGES CXX)
# The name of the executable created for the application. Change this to change
# the on-disk name of your application.
set(BINARY_NAME "recomendagro")
# The unique GTK application identifier for this application. See:
# https://wiki.gnome.org/HowDoI/ChooseApplicationID
Changes to be committed: modified: android/app/build.gradle modified: android/app/src/main/AndroidManifest.xml modified: android/app/src/main/kotlin/com/example/recomendagro/MainActivity.kt new file: android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png new file: android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png new file: android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png new file: android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png new file: android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png new file: android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml new file: android/app/src/main/res/mipmap-hdpi/launcher_icon.png new file: android/app/src/main/res/mipmap-mdpi/launcher_icon.png new file: android/app/src/main/res/mipmap-xhdpi/launcher_icon.png new file: android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png new file: android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png new file: android/app/src/main/res/values/colors.xml modified: ios/Podfile.lock modified: ios/Runner.xcodeproj/project.pbxproj modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png modified: ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file: lib/assets/icons/app_icon.png modified: linux/CMakeLists.txt modified: macos/Runner.xcodeproj/project.pbxproj modified: macos/Runner/Configs/AppInfo.xcconfig modified: pubspec.lock modified: pubspec.yaml
2024-01-27 17:36:42 -03:00
set(APPLICATION_ID "br.com.recomendagro")
2024-01-27 13:01:07 -03:00
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake.
cmake_policy(SET CMP0063 NEW)
# Load bundled libraries from the lib/ directory relative to the binary.
set(CMAKE_INSTALL_RPATH "$ORIGIN/lib")
# Root filesystem for cross-building.
if(FLUTTER_TARGET_PLATFORM_SYSROOT)
set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT})
set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
endif()
# Define build configuration options.
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
set(CMAKE_BUILD_TYPE "Debug" CACHE
STRING "Flutter build mode" FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Profile" "Release")
endif()
# Compilation settings that should be applied to most targets.
#
# Be cautious about adding new options here, as plugins use this function by
# default. In most cases, you should add new options to specific targets instead
# of modifying this function.
function(APPLY_STANDARD_SETTINGS TARGET)
target_compile_features(${TARGET} PUBLIC cxx_std_14)
target_compile_options(${TARGET} PRIVATE -Wall -Werror)
target_compile_options(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:-O3>")
target_compile_definitions(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:NDEBUG>")
endfunction()
# Flutter library and tool build rules.
set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter")
add_subdirectory(${FLUTTER_MANAGED_DIR})
# System-level dependencies.
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0)
add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}")
# Define the application target. To change its name, change BINARY_NAME above,
# not the value here, or `flutter run` will no longer work.
#
# Any new source files that you add to the application should be added here.
add_executable(${BINARY_NAME}
"main.cc"
"my_application.cc"
"${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc"
)
# Apply the standard set of build settings. This can be removed for applications
# that need different build settings.
apply_standard_settings(${BINARY_NAME})
# Add dependency libraries. Add any application-specific dependencies here.
target_link_libraries(${BINARY_NAME} PRIVATE flutter)
target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK)
# Run the Flutter tool portions of the build. This must not be removed.
add_dependencies(${BINARY_NAME} flutter_assemble)
# Only the install-generated bundle's copy of the executable will launch
# correctly, since the resources must in the right relative locations. To avoid
# people trying to run the unbundled copy, put it in a subdirectory instead of
# the default top-level location.
set_target_properties(${BINARY_NAME}
PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run"
)
# Generated plugin build rules, which manage building the plugins and adding
# them to the application.
include(flutter/generated_plugins.cmake)
# === Installation ===
# By default, "installing" just makes a relocatable bundle in the build
# directory.
set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle")
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE)
endif()
# Start with a clean build bundle directory every time.
install(CODE "
file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\")
" COMPONENT Runtime)
set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data")
set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib")
install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
COMPONENT Runtime)
install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
COMPONENT Runtime)
install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
install(FILES "${bundled_library}"
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
endforeach(bundled_library)
# Copy the native assets provided by the build.dart from all packages.
set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/")
install(DIRECTORY "${NATIVE_ASSETS_DIR}"
DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
# Fully re-copy the assets directory on each build to avoid having stale files
# from a previous install.
set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
install(CODE "
file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\")
" COMPONENT Runtime)
install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}"
DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime)
# Install the AOT library on non-Debug builds only.
if(NOT CMAKE_BUILD_TYPE MATCHES "Debug")
install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
endif()