Skip to content

Commit c2707b9

Browse files
committed
Make AVIF easier to build
1 parent 915986c commit c2707b9

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

cpp/avif/CMakeLists.txt

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,24 @@ project (avifencode CXX C)
33

44
option(NATIVE "Enable native performance" ON)
55

6-
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -std=c++17 -O2")
7-
set(CMAKE_C_FLAGS "-Wall -Wno-unused-parameter -std=gnu11 -O2")
6+
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -std=c++17 -O3 -DNDEBUG")
7+
set(CMAKE_C_FLAGS "-Wall -Wno-unused-parameter -std=gnu11 -O3 -DNDEBUG")
8+
if (NOT CMAKE_BUILD_TYPE)
9+
set(CMAKE_BUILD_TYPE Release)
10+
endif()
811

912
if (NATIVE)
1013
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Ofast -fno-fast-math")
1114
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -Ofast -fno-fast-math")
1215
endif()
1316

1417
option(BUILD_SHARED_LIBS "" OFF)
15-
option(AVIF_CODEC_AOM "" ON)
18+
set(AVIF_CODEC_AOM "LOCAL" CACHE STRING "AOM" FORCE)
1619
option(AVIF_LOCAL_AOM "" ON)
20+
set(AVIF_LIBYUV "LOCAL" CACHE STRING "LibYUV" FORCE)
1721
option(ENABLE_STATIC "" ON)
1822
option(REQUIRE_SIMD "" ON)
23+
option(WITH_TURBOJPEG "" OFF)
1924
add_subdirectory(libavif)
2025

2126
add_subdirectory(libjpeg-turbo)
@@ -28,16 +33,16 @@ set(SOURCES
2833
add_executable(avifencode ${SOURCES})
2934
set_target_properties(avifencode PROPERTIES CXX_STANDARD 17)
3035
target_link_libraries(avifencode avif nlohmann_json turbojpeg -Wl,-s,-X)
31-
target_link_libraries(avifencode -Wl,-Ttext-segment=0x1FF000)
36+
target_link_libraries(avifencode -static -Wl,-Ttext-segment=0x1FF000)
3237
target_include_directories(avifencode PRIVATE
3338
libjpeg-turbo ${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo
3439
)
3540

36-
add_library(avif-ffi SHARED
37-
src/avif-ffi.cpp
38-
)
39-
set_target_properties(avif-ffi PROPERTIES CXX_STANDARD 17)
40-
target_link_libraries(avif-ffi -rdynamic avif nlohmann_json turbojpeg)
41-
target_include_directories(avif-ffi PRIVATE
42-
libjpeg-turbo ${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo
43-
)
41+
#add_library(avif-ffi SHARED
42+
# src/avif-ffi.cpp
43+
#)
44+
#set_target_properties(avif-ffi PROPERTIES CXX_STANDARD 17)
45+
#target_link_libraries(avif-ffi -rdynamic avif nlohmann_json turbojpeg)
46+
#target_include_directories(avif-ffi PRIVATE
47+
# libjpeg-turbo ${CMAKE_CURRENT_BINARY_DIR}/libjpeg-turbo
48+
#)

0 commit comments

Comments
 (0)