• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1if(TARGET_AOS_ARM)
2    set(CMAKE_C_COMPILER          "$ENV{CC}")
3    set(CMAKE_SYSTEM_PROCESSOR    "aarch64")
4endif()
5
6if(ENABLE_GITEE)
7    set(REQ_URL "https://gitee.com/mirrors/libjpeg-turbo/repository/archive/2.0.4.tar.gz")
8    set(SHA256 "7777c3c19762940cff42b3ba4d7cd5c52d1671b39a79532050c85efb99079064")
9else()
10    set(REQ_URL "https://github.com/libjpeg-turbo/libjpeg-turbo/archive/2.0.4.tar.gz")
11    set(SHA256 "7777c3c19762940cff42b3ba4d7cd5c52d1671b39a79532050c85efb99079064")
12endif()
13
14if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
15    set(jpeg_turbo_CFLAGS "-fstack-protector-all -Wno-uninitialized -Wno-unused-parameter -fPIC -D_FORTIFY_SOURCE=2 \
16        -O2")
17else()
18    if(MSVC)
19        set(jpeg_turbo_CFLAGS "-O2")
20    else()
21        set(jpeg_turbo_CFLAGS "-fstack-protector-all -Wno-unused-parameter -fPIC -D_FORTIFY_SOURCE=2 -O2")
22        if(TARGET_AOS_ARM)
23            set(jpeg_turbo_CFLAGS "${jpeg_turbo_CFLAGS} -march=armv8.2-a -mtune=cortex-a72")
24            set(jpeg_turbo_CFLAGS "${jpeg_turbo_CFLAGS} -Wno-uninitialized -march=armv8.2-a -mtune=cortex-a72")
25        else()
26            set(jpeg_turbo_CFLAGS "${jpeg_turbo_CFLAGS} -Wno-maybe-uninitialized")
27        endif()
28    endif()
29endif()
30
31set(jpeg_turbo_LDFLAGS "-Wl,-z,relro,-z,now,-z,noexecstack,-s")
32
33
34set(jpeg_turbo_USE_STATIC_LIBS ON)
35set(JPEG_TURBO_PATCHE ${CMAKE_SOURCE_DIR}/third_party/patch/jpeg_turbo/jpeg_turbo.patch001)
36set(CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=TRUE -DWITH_SIMD=ON)
37set(CVE_2020_35538 ${CMAKE_SOURCE_DIR}/third_party/patch/jpeg_turbo/CVE-2020-35538.patch)
38set(CVE_2021_46822 ${CMAKE_SOURCE_DIR}/third_party/patch/jpeg_turbo/CVE-2021-46822.patch)
39if(BUILD_LITE)
40    set(jpeg_turbo_USE_STATIC_LIBS OFF)
41    set(JPEG_TURBO_PATCHE ${TOP_DIR}/third_party/patch/jpeg_turbo/jpeg_turbo.patch001)
42    set(CVE_2020_35538 ${TOP_DIR}/third_party/patch/jpeg_turbo/CVE-2020-35538.patch)
43    set(CVE_2021_46822 ${TOP_DIR}/third_party/patch/jpeg_turbo/CVE-2021-46822.patch)
44    if(ANDROID_NDK)  #  compile android on x86_64 env
45        if(PLATFORM_ARM64)
46            set(CMAKE_OPTION  -DCMAKE_TOOLCHAIN_FILE=$ENV{ANDROID_NDK}/build/cmake/android.toolchain.cmake
47                              -DANDROID_NATIVE_API_LEVEL=19
48                              -DANDROID_NDK=$ENV{ANDROID_NDK}
49                              -DANDROID_ABI=arm64-v8a
50                              -DANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang
51                              -DANDROID_STL=c++_shared -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
52        endif()
53        if(PLATFORM_ARM32)
54            set(CMAKE_OPTION  -DCMAKE_TOOLCHAIN_FILE=$ENV{ANDROID_NDK}/build/cmake/android.toolchain.cmake
55                              -DANDROID_NATIVE_API_LEVEL=19
56                              -DANDROID_NDK=$ENV{ANDROID_NDK}
57                              -DANDROID_ABI=armeabi-v7a
58                              -DANDROID_TOOLCHAIN_NAME=aarch64-linux-android-clang
59                              -DANDROID_STL=c++_shared -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
60        endif()
61    elseif(TARGET_AOS_ARM)
62        set(CMAKE_OPTION ${CMAKE_OPTION} -DCMAKE_C_COMPILER=${C_COMPILER}
63                -DCMAKE_CXX_COMPILER=${CXX_COMPILER}
64                -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
65    endif()
66endif()
67
68mindspore_add_pkg(jpeg_turbo
69        VER 2.0.4
70        LIBS jpeg turbojpeg
71        URL ${REQ_URL}
72        SHA256 ${SHA256}
73        CMAKE_OPTION ${CMAKE_OPTION}
74        PATCHES ${JPEG_TURBO_PATCHE}
75        PATCHES ${CVE_2020_35538}
76        PATCHES ${CVE_2021_46822}
77        )
78include_directories(${jpeg_turbo_INC})
79add_library(mindspore::jpeg_turbo ALIAS jpeg_turbo::jpeg)
80add_library(mindspore::turbojpeg ALIAS jpeg_turbo::turbojpeg)
81