From 537ca31915603d7ed47ab4374a74058e340125c7 Mon Sep 17 00:00:00 2001 From: Tuomas Virtanen Date: Mon, 4 Jan 2016 04:33:59 +0200 Subject: Initial commit; Not done yet though, needs more work. --- CMakeLists.txt | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e784946 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,73 @@ +cmake_minimum_required(VERSION 2.8) +project(SDL_kitchensink C) +set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) + +set(VERSION_MAJOR "0") +set(VERSION_MINOR "0") +set(VERSION_PATCH "1") +add_definitions( + -DKIT_VERSION_MAJOR=${VERSION_MAJOR} + -DKIT_VERSION_MINOR=${VERSION_MINOR} + -DKIT_VERSION_PATCH=${VERSION_PATCH} +) + +set(CMAKE_C_FLAGS "-Wall -std=c99") +set(CMAKE_C_FLAGS_DEBUG "-ggdb -Werror -fno-omit-frame-pointer") +set(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -O2 -fno-omit-frame-pointer -DNDEBUG") +set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG") +set(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG") + +option(BUILD_EXAMPLES "Build examples" OFF) +option(BUILD_TESTS "Build unittests" OFF) + +find_package(SDL2) +find_package(ffmpeg COMPONENTS avcodec avformat avutil swscale swresample) + +if(BUILD_TESTS) + add_subdirectory(tests) +endif() + +include_directories( + include/ + ${SDL2_INCLUDE_DIRS} + ${FFMPEG_INCLUDE_DIRS} +) + +set(SOURCES + src/kitchensink.c + src/kiterror.c + src/kitplayer.c + src/kitsource.c +) + +add_library(SDL_kitchensink SHARED ${SOURCES}) +add_library(SDL_kitchensink_static STATIC ${SOURCES}) + +set_target_properties(SDL_kitchensink PROPERTIES DEBUG_POSTFIX "d") +set_target_properties(SDL_kitchensink_static PROPERTIES DEBUG_POSTFIX "d") + +target_link_libraries(SDL_kitchensink + ${SDL2_LIBRARIES} + ${FFMPEG_LIBRARIES} +) + +if(BUILD_EXAMPLES) + add_executable(exampleplay examples/example_play.c) + if(MINGW) + target_link_libraries(exampleplay mingw32) + endif() + target_link_libraries(exampleplay + SDL_kitchensink_static + ${SDL2_LIBRARIES} + ${FFMPEG_LIBRARIES} + ) +endif() + +# Installation +FILE(GLOB H_FILES "include/kitchensink/*.h") +INSTALL(FILES ${H_FILES} DESTINATION include/kitchensink/) +INSTALL(TARGETS SDL_kitchensink SDL_kitchensink_static + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) -- cgit v1.2.3