add static linking options for ffmpeg and wxwidgets to cmake

This commit is contained in:
Palana
2013-12-30 03:01:57 +01:00
parent 534ed54cf1
commit c093f04c58
4 changed files with 218 additions and 20 deletions

View File

@@ -1,20 +1,94 @@
find_package(PkgConfig)
pkg_check_modules(PC_LIBAVUTIL QUIET libavutil)
set(LIBAVUTIL_DEFINITIONS ${PC_LIBAVUTIL_CFLAGS_OTHER})
set(LIBAVUTIL_STANDARD_DEFINITIONS ${PC_LIBAVUTIL_CFLAGS_OTHER}
CACHE STRING
"Libavutil required CFLAGS")
set(LIBAVUTIL_STATIC_DEFINITIONS ${PC_LIBAVUTIL_STATIC_CFLAGS_OTHER}
CACHE STRING
"Libavutil static required CFLAGS")
find_path(LIBAVUTIL_INCLUDE_DIR libavutil/avutil.h
HINTS ${PC_LIBAVUTIL_INCLUDEDIR} ${PC_LIBAVUTIL_INCLUDE_DIRS}
find_path(LIBAVUTIL_STANDARD_INCLUDE_DIR libavutil/avutil.h
HINTS ${PC_LIBAVUTIL_INCLUDEDIR}
${PC_LIBAVUTIL_INCLUDE_DIRS}
PATH_SUFFIXES libavutil)
find_library(LIBAVUTIL_LIBRARY NAMES libavutil avutil
HINTS ${PC_LIBAVUTIL_LIBDIR} ${PC_LIBAVUTIL_LIBRARY_DIRS})
find_path(LIBAVUTIL_STATIC_INCLUDE_DIR libavutil/avutil.h
HINTS ${PC_LIBAVUTIL_STATIC_INCLUDEDIR}
${PC_LIBAVUTIL_STATIC_INCLUDE_DIRS}
PATH_SUFFIXES libavutil)
set(LIBAVUTIL_INCLUDE_DIRS ${LIBAVUTIL_INCLUDE_DIR})
set(LIBAVUTIL_LIBRARIES ${LIBAVUTIL_LIBRARY})
if(NOT LIBAVUTIL_STANDARD_LIBRARIES)
set(LIBAVUTIL_STANDARD_LIBRARIES_ "")
foreach(lib ${PC_LIBAVUTIL_LIBRARIES})
find_library(_lib_file NAMES ${lib}
HINTS ${PC_LIBAVUTIL_LIBDIR}
${PC_LIBAVUTIL_LIBRARY_DIRS})
if(_lib_file)
list(APPEND LIBAVUTIL_STANDARD_LIBRARIES_ ${_lib_file})
endif()
unset(_lib_file CACHE)
endforeach()
set(LIBAVUTIL_STANDARD_LIBRARIES ${LIBAVUTIL_STANDARD_LIBRARIES_}
CACHE STRING
"Libavutil (dynamic) libraries")
unset(LIBAVUTIL_STANDARD_LIBRARIES_)
endif()
if(NOT LIBAVUTIL_STATIC_LIBRARIES)
set(LIBAVUTIL_STATIC_LIBRARIES_ "")
set(lib_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_SHARED_MODULE_SUFFIX})
foreach(lib ${PC_LIBAVUTIL_STATIC_LIBRARIES})
find_library(_lib_file NAMES ${lib}
HINTS ${PC_LIBAVUTIL_LIBDIR}
${PC_LIBAVUTIL_LIBRARY_DIRS})
if(_lib_file)
list(APPEND LIBAVUTIL_STATIC_LIBRARIES_ ${_lib_file})
else()
list(APPEND LIBAVUTIL_STATIC_LIBRARIES_ ${lib})
endif()
unset(_lib_file CACHE)
endforeach()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${lib_suffixes})
unset(lib_suffixes)
set(LIBAVUTIL_STATIC_LIBRARIES ${LIBAVUTIL_STATIC_LIBRARIES_}
CACHE STRING
"Libavutil static libraries")
unset(LIBAVUTIL_STATIC_LIBRARIES_)
endif()
if(Libavutil_FIND_COMPONENTS AND
Libavutil_FIND_COMPONENTS STREQUAL "static")
set(LIBAVUTIL_DEFINITION ${LIBAVUTIL_STATIC_DEFINITIONS})
set(LIBAVUTIL_INCLUDE_DIR ${LIBAVUTIL_STATIC_INCLUDE_DIR})
set(LIBAVUTIL_LIBRARY ${LIBAVUTIL_STATIC_LIBRARIES})
else()
set(LIBAVUTIL_DEFINITION ${LIBAVUTIL_STANDARD_DEFINITIONS})
set(LIBAVUTIL_INCLUDE_DIR ${LIBAVUTIL_STANDARD_INCLUDE_DIR})
set(LIBAVUTIL_LIBRARY ${LIBAVUTIL_STANDARD_LIBRARIES})
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libavutil DEFAULT_MSG
LIBAVUTIL_INCLUDE_DIR LIBAVUTIL_LIBRARY)
mark_as_advanced(LIBAVUTIL_INCLUDE_DIR LIBAVUTIL_LIBRARY)
if(LIBAVUTIL_FOUND)
set(LIBAVUTIL_DEFINITIONS ${LIBAVUTIL_DEFINITION})
set(LIBAVUTIL_INCLUDE_DIRS ${LIBAVUTIL_INCLUDE_DIR})
set(LIBAVUTIL_LIBRARIES ${LIBAVUTIL_LIBRARY})
endif()
mark_as_advanced(
LIBAVUTIL_STANDARD_DEFINITIONS
LIBAVUTIL_STANDARD_INCLUDE_DIRS
LIBAVUTIL_STANDARD_LIBRARIES
LIBAVUTIL_STATIC_DEFINITIONS
LIBAVUTIL_STATIC_INCLUDE_DIRS
LIBAVUTIL_STATIC_LIBRARIES
)

View File

@@ -1,20 +1,97 @@
find_package(PkgConfig)
pkg_check_modules(PC_LIBSWRESAMPLE QUIET libswresample)
set(LIBSWRESAMPLE_DEFINITIONS ${PC_LIBSWRESAMPLE_CFLAGS_OTHER})
set(LIBSWRESAMPLE_STANDARD_DEFINITIONS ${PC_LIBSWRESAMPLE_CFLAGS_OTHER}
CACHE STRING
"Libswresample required CFLAGS")
set(LIBSWRESAMPLE_STATIC_DEFINITIONS ${PC_LIBSWRESAMPLE_STATIC_CFLAGS_OTHER}
CACHE STRING
"Libswresample static required CFLAGS")
find_path(LIBSWRESAMPLE_INCLUDE_DIR libswresample/swresample.h
HINTS ${PC_LIBSWRESAMPLE_INCLUDEDIR} ${PC_LIBSWRESAMPLE_INCLUDE_DIRS}
find_path(LIBSWRESAMPLE_STANDARD_INCLUDE_DIR libswresample/swresample.h
HINTS ${PC_LIBSWRESAMPLE_INCLUDEDIR}
${PC_LIBSWRESAMPLE_INCLUDE_DIRS}
PATH_SUFFIXES libswresample)
find_library(LIBSWRESAMPLE_LIBRARY NAMES libswresample swresample
HINTS ${PC_LIBSWRESAMPLE_LIBDIR} ${PC_LIBSWRESAMPLE_LIBRARY_DIRS})
find_path(LIBSWRESAMPLE_STATIC_INCLUDE_DIR libswresample/swresample.h
HINTS ${PC_LIBSWRESAMPLE_STATIC_INCLUDEDIR}
${PC_LIBSWRESAMPLE_STATIC_INCLUDE_DIRS}
PATH_SUFFIXES libswresample)
set(LIBSWRESAMPLE_INCLUDE_DIRS ${LIBSWRESAMPLE_INCLUDE_DIR})
set(LIBSWRESAMPLE_LIBRARIES ${LIBSWRESAMPLE_LIBRARY})
if(NOT LIBSWRESAMPLE_STANDARD_LIBRARIES)
set(LIBSWRESAMPLE_STANDARD_LIBRARIES_ "")
foreach(lib ${PC_LIBSWRESAMPLE_LIBRARIES})
find_library(_lib_file NAMES ${lib}
HINTS ${PC_LIBSWRESAMPLE_LIBDIR}
${PC_LIBSWRESAMPLE_LIBRARY_DIRS})
if(_lib_file)
LIST(APPEND LIBSWRESAMPLE_STANDARD_LIBRARIES_
${_lib_file})
endif()
unset(_lib_file CACHE)
endforeach()
set(LIBSWRESAMPLE_STANDARD_LIBRARIES
${LIBSWRESAMPLE_STANDARD_LIBRARIES_}
CACHE STRING
"Libswresample (dynamic) libraries")
unset(LIBSWRESAMPLE_STANDARD_LIBRARIES_)
endif()
if(NOT LIBSWRESAMPLE_STATIC_LIBRARIES)
set(LIBSWRESAMPLE_STATIC_LIBRARIES_ "")
set(lib_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_SHARED_MODULE_SUFFIX})
foreach(lib ${PC_LIBSWRESAMPLE_STATIC_LIBRARIES})
find_library(_lib_file NAMES ${lib}
HINTS ${PC_LIBSWRESAMPLE_LIBDIR}
${PC_LIBSWRESAMPLE_LIBRARY_DIRS})
if(_lib_file)
list(APPEND LIBSWRESAMPLE_STATIC_LIBRARIES_
${_lib_file})
else()
list(APPEND LIBSWRESAMPLE_STATIC_LIBRARIES_ ${lib})
endif()
unset(_lib_file CACHE)
endforeach()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${lib_suffixes})
set(LIBSWRESAMPLE_STATIC_LIBRARIES ${LIBSWRESAMPLE_STATIC_LIBRARIES_}
CACHE STRING
"Libswresample static libraries")
unset(LIBSWRESAMPLE_STATIC_LIBRARIES_)
endif()
if(Libswresample_FIND_COMPONENTS AND
Libswresample_FIND_COMPONENTS STREQUAL "static")
set(LIBSWRESAMPLE_DEFINITION ${LIBSWRESAMPLE_STATIC_DEFINITIONS})
set(LIBSWRESAMPLE_INCLUDE_DIR ${LIBSWRESAMPLE_STATIC_INCLUDE_DIR})
set(LIBSWRESAMPLE_LIBRARY ${LIBSWRESAMPLE_STATIC_LIBRARIES})
else()
set(LIBSWRESAMPLE_DEFINITION ${LIBSWRESAMPLE_STANDARD_DEFINITIONS})
set(LIBSWRESAMPLE_INCLUDE_DIR ${LIBSWRESAMPLE_STANDARD_INCLUDE_DIR})
set(LIBSWRESAMPLE_LIBRARY ${LIBSWRESAMPLE_STANDARD_LIBRARIES})
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libswresample DEFAULT_MSG
LIBSWRESAMPLE_INCLUDE_DIR LIBSWRESAMPLE_LIBRARY)
mark_as_advanced(LIBSWRESAMPLE_INCLUDE_DIR LIBSWRESAMPLE_LIBRARY)
if(LIBSWRESAMPLE_FOUND)
set(LIBSWRESAMPLE_DEFINITIONS ${LIBSWRESAMPLE_DEFINITION})
set(LIBSWRESAMPLE_INCLUDE_DIRS ${LIBSWRESAMPLE_INCLUDE_DIR})
set(LIBSWRESAMPLE_LIBRARIES ${LIBSWRESAMPLE_LIBRARY})
endif()
mark_as_advanced(
LIBSWRESAMPLE_STANDARD_DEFINITIONS
LIBSWRESAMPLE_STANDARD_INCLUDE_DIRS
LIBSWRESAMPLE_STANDARD_LIBRARIES
LIBSWRESAMPLE_STATIC_DEFINITIONS
LIBSWRESAMPLE_STATIC_INCLUDE_DIRS
LIBSWRESAMPLE_STATIC_LIBRARIES
)