blob: 75fd554299e04b5606d3a239a4f706f0fbc95476 [file] [log] [blame]
prebuilt(E2FSPROGS)
# In order for this to be a proper shared library you must:
#
# * Figure out which functions in ./include/... need to be made public
# * Setup an export/import header
#
# The library should already be self contained and can be made shared on linux
# with no changes.
android_add_library(
TARGET android-emu-files
LICENSE Apache-2.0
SOURCE_DIR src
SRC android/emulation/ConfigDirs.cpp
android/filesystems/ext4_resize.cpp
android/filesystems/ext4_utils.cpp
android/filesystems/fstab_parser.cpp
android/filesystems/internal/PartitionConfigBackend.cpp
android/filesystems/partition_config.cpp
android/filesystems/partition_types.cpp
android/filesystems/ramdisk_extractor.cpp
android/qt/qt_path.cpp
android/qt/qt_setup.cpp
android/uncompress.cpp
android/utils/aconfig-file.c
android/utils/dll.c
android/utils/file_data.c
android/utils/filelock.cpp
android/utils/ini.cpp
android/utils/property_file.c
DEPS android-emu-base android-emu-base-headers android-hw-config emulator-libext4_utils android-emu-utils)
target_include_directories(
android-emu-files PUBLIC include
PRIVATE src ${ANDROID_QEMU2_TOP_DIR}/android/android-emu)
# Boo, we need the make_ext4fs executable
add_dependencies(android-emu-files emulator_make_ext4fs)
if(ANDROID_EMULATOR_BUILD)
android_add_test(
TARGET android-emu-files_unittests
SOURCE_DIR test
SRC android/emulation/ConfigDirs_unittest.cpp
android/filesystems/ext4_resize_unittest.cpp
android/filesystems/ext4_utils_unittest.cpp
android/filesystems/fstab_parser_unittest.cpp
android/filesystems/partition_config_unittest.cpp
android/filesystems/partition_types_unittest.cpp
android/filesystems/ramdisk_extractor_unittest.cpp
android/filesystems/testing/TestSupport.cpp
android/qt/qt_path_unittest.cpp
android/qt/qt_setup_unittest.cpp
android/utils/aconfig-file_unittest.cpp
android/utils/file_data_unittest.cpp
android/utils/filelock_unittest.cpp
android/utils/property_file_unittest.cpp)
target_compile_options(android-emu-files_unittests PRIVATE -O0)
target_include_directories(android-emu-files_unittests PRIVATE src)
target_link_libraries(
android-emu-files_unittests
PRIVATE gmock_main android-emu android-emu-test-launcher android-emu-files
android-hw-config android-emu-base-headers)
# Boo! We depend on makeext
add_custom_command(
TARGET android-emu-files_unittests POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:emulator_make_ext4fs>
${CMAKE_CURRENT_BINARY_DIR})
android_target_dependency(android-emu-files_unittests all
E2FSPROGS_DEPENDENCIES)
endif()