summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorTuomas Virtanen <katajakasa@gmail.com>2018-03-26 15:15:19 +0300
committerTuomas Virtanen <katajakasa@gmail.com>2018-03-26 15:15:19 +0300
commit2843974d284cb2046318d2da5fcedc95104e88d9 (patch)
tree6f0ed517d59917f848da74e4a7e66893b8b5d807 /CMakeLists.txt
parent56ae05977b1a6f720ab85dc733a9ceec6c7be7e3 (diff)
Allow runtime loading of libass library.
Previously libass could only be statically linked. Now we allow runtime loading of the library on request (just like other SDL libraries do).
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt15
1 files changed, 11 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d70cfd1..a72d9f9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,14 +14,14 @@ add_definitions(
)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
-set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -pedantic -Werror -fno-omit-frame-pointer -Wno-deprecated-declarations")
+set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -Werror -fno-omit-frame-pointer -Wno-deprecated-declarations")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ggdb -O2 -fno-omit-frame-pointer -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -DNDEBUG")
set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -Os -DNDEBUG")
option(BUILD_EXAMPLES "Build examples" OFF)
option(BUILD_TESTS "Build unittests" OFF)
-option(USE_ASS "Use libass" ON)
+option(USE_DYNAMIC_LIBASS "Use dynamically loaded libass" ON)
find_package(SDL2)
find_package(ffmpeg COMPONENTS avcodec avformat avutil swscale swresample)
@@ -40,9 +40,16 @@ if(BUILD_TESTS)
add_subdirectory(tests)
endif()
-if(USE_ASS)
+if(USE_DYNAMIC_LIBASS)
+ if(WIN32 OR MINGW OR MSYS)
+ set(DYNAMIC_LIBASS_NAME "\"libass-9.dll\"")
+ else()
+ set(DYNAMIC_LIBASS_NAME "\"libass.so\"")
+ endif()
+ add_definitions(-DUSE_DYNAMIC_LIBASS)
+ add_definitions(-DDYNAMIC_LIBASS_NAME=${DYNAMIC_LIBASS_NAME})
+else()
find_package(ass)
- add_definitions(-DUSE_ASS)
set(LIBRARIES ${LIBRARIES} ${ASS_LIBRARIES})
set(INCLUDES ${INCLUDES} ${ASS_INCLUDE_DIRS})
endif()