From fd7bbceb6321250ed5d80103d13e9d7584b552ac Mon Sep 17 00:00:00 2001 From: Tuomas Virtanen Date: Tue, 12 Sep 2017 00:06:31 +0300 Subject: Split kitplayer.c to multiple files --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 14e4e3b..16ddf7c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ add_definitions( ) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -std=c99") -set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -pedantic -Werror -fno-omit-frame-pointer") +set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -pedantic -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") -- cgit v1.2.3 From fdaaf05142e446f1047487763585c3a16801580c Mon Sep 17 00:00:00 2001 From: Tuomas Virtanen Date: Fri, 22 Sep 2017 15:14:58 +0300 Subject: Split decoding to separate files --- CMakeLists.txt | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 16ddf7c..971b039 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,22 +20,32 @@ 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) find_package(SDL2) -find_package(ass) find_package(ffmpeg COMPONENTS avcodec avformat avutil swscale swresample) -if(BUILD_TESTS) - add_subdirectory(tests) -endif() - -include_directories( +set(LIBRARIES + ${SDL2_LIBRARIES} + ${FFMPEG_LIBRARIES} +) +set(INCLUDES include/ ${SDL2_INCLUDE_DIRS} ${FFMPEG_INCLUDE_DIRS} - ${ASS_INCLUDE_DIRS} ) +if(BUILD_TESTS) + add_subdirectory(tests) +endif() + +if(USE_ASS) + find_package(ass) + add_definitions(-DUSE_ASS) + set(LIBRARIES ${LIBRARIES} ${ASS_LIBRARIES}) + set(INCLUDES ${INCLUDES} ${ASS_INCLUDE_DIRS}) +endif() + FILE(GLOB SOURCES "src/*.c") FILE(GLOB HEADERS "include/kitchensink/*.h") @@ -44,16 +54,15 @@ add_library(SDL_kitchensink_static STATIC ${SOURCES}) set_target_properties(SDL_kitchensink PROPERTIES VERSION ${KIT_VERSION}) set_target_properties(SDL_kitchensink PROPERTIES SOVERSION ${KIT_VERSION_MAJOR}) + set_target_properties(SDL_kitchensink PROPERTIES DEBUG_POSTFIX "d") set_target_properties(SDL_kitchensink_static PROPERTIES DEBUG_POSTFIX "d") + target_compile_definitions(SDL_kitchensink PRIVATE "KIT_DLL;KIT_DLL_EXPORTS") target_compile_options(SDL_kitchensink PRIVATE "-fvisibility=hidden") -target_link_libraries(SDL_kitchensink - ${SDL2_LIBRARIES} - ${FFMPEG_LIBRARIES} - ${ASS_LIBRARIES} -) +include_directories(${INCLUDES}) +target_link_libraries(SDL_kitchensink ${LIBRARIES}) if(BUILD_EXAMPLES) add_executable(exampleaudio examples/example_audio.c) @@ -66,15 +75,11 @@ if(BUILD_EXAMPLES) target_link_libraries(exampleaudio SDL_kitchensink_static - ${SDL2_LIBRARIES} - ${FFMPEG_LIBRARIES} - ${ASS_LIBRARIES} + ${LIBRARIES} ) target_link_libraries(examplevideo SDL_kitchensink_static - ${SDL2_LIBRARIES} - ${FFMPEG_LIBRARIES} - ${ASS_LIBRARIES} + ${LIBRARIES} ) endif() -- cgit v1.2.3 From 013eea4e96d1d9e834047be34f3c246534fb80a2 Mon Sep 17 00:00:00 2001 From: Tuomas Virtanen Date: Fri, 22 Sep 2017 15:42:29 +0300 Subject: Add pkg-config file --- CMakeLists.txt | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 971b039..63a600d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.0) project(SDL_kitchensink C) +include(GNUInstallDirs) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) set(KIT_VERSION_MAJOR "0") @@ -12,7 +13,7 @@ add_definitions( -DKIT_VERSION_PATCH=${KIT_VERSION_PATCH} ) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -std=c99") +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_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ggdb -O2 -fno-omit-frame-pointer -DNDEBUG") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -DNDEBUG") @@ -61,9 +62,20 @@ set_target_properties(SDL_kitchensink_static PROPERTIES DEBUG_POSTFIX "d") target_compile_definitions(SDL_kitchensink PRIVATE "KIT_DLL;KIT_DLL_EXPORTS") target_compile_options(SDL_kitchensink PRIVATE "-fvisibility=hidden") +set_property(TARGET SDL_kitchensink PROPERTY C_STANDARD 99) +set_property(TARGET SDL_kitchensink_static PROPERTY C_STANDARD 99) + include_directories(${INCLUDES}) target_link_libraries(SDL_kitchensink ${LIBRARIES}) +set(PKG_CONFIG_FILE "${CMAKE_CURRENT_BINARY_DIR}/SDL_kitchensink.pc") + +configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/pkg-config.pc.in" + ${PKG_CONFIG_FILE} + @ONLY +) + if(BUILD_EXAMPLES) add_executable(exampleaudio examples/example_audio.c) add_executable(examplevideo examples/example_video.c) @@ -73,6 +85,9 @@ if(BUILD_EXAMPLES) target_link_libraries(examplevideo mingw32) endif() + set_property(TARGET exampleaudio PROPERTY C_STANDARD 99) + set_property(TARGET examplevideo PROPERTY C_STANDARD 99) + target_link_libraries(exampleaudio SDL_kitchensink_static ${LIBRARIES} @@ -84,9 +99,8 @@ if(BUILD_EXAMPLES) endif() # Installation -include(GNUInstallDirs) - -INSTALL(FILES ${HEADERS} DESTINATION include/kitchensink/) +install(FILES ${PKG_CONFIG_FILE} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/kitchensink) INSTALL(TARGETS SDL_kitchensink SDL_kitchensink_static RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -- cgit v1.2.3 From 2267d51d2b402c377a21bf03be6fc51b251f063b Mon Sep 17 00:00:00 2001 From: Tuomas Virtanen Date: Fri, 22 Sep 2017 20:58:25 +0300 Subject: Decoder cleanups --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 63a600d..d70cfd1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.1) project(SDL_kitchensink C) include(GNUInstallDirs) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) @@ -47,8 +47,8 @@ if(USE_ASS) set(INCLUDES ${INCLUDES} ${ASS_INCLUDE_DIRS}) endif() -FILE(GLOB SOURCES "src/*.c") -FILE(GLOB HEADERS "include/kitchensink/*.h") +FILE(GLOB_RECURSE SOURCES "src/*.c") +FILE(GLOB INSTALL_HEADERS "include/kitchensink/*.h") add_library(SDL_kitchensink SHARED ${SOURCES}) add_library(SDL_kitchensink_static STATIC ${SOURCES}) @@ -100,7 +100,7 @@ endif() # Installation install(FILES ${PKG_CONFIG_FILE} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/kitchensink) +install(FILES ${INSTALL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/kitchensink) INSTALL(TARGETS SDL_kitchensink SDL_kitchensink_static RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -- cgit v1.2.3 From 2843974d284cb2046318d2da5fcedc95104e88d9 Mon Sep 17 00:00:00 2001 From: Tuomas Virtanen Date: Mon, 26 Mar 2018 15:15:19 +0300 Subject: 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). --- CMakeLists.txt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') 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() -- cgit v1.2.3