[x265] [PATCH] cmake: generate and install pkgconfig file

Rafaël Carré funman at videolan.org
Wed Oct 23 00:59:40 CEST 2013


Hi Steve,

Le 23/10/2013 00:20, Steve Borho a écrit :
> # HG changeset patch
> # User Steve Borho <steve at borho.org>
> # Date 1382480398 18000
> #      Tue Oct 22 17:19:58 2013 -0500
> # Node ID f51a70b352878bb64c71cbcdc40898a9706db2cf
> # Parent  6d96d64c4e9a2c526b57274760a7147241328cb3
> cmake: generate and install pkgconfig file
> 
> Feedback appreciated; what is this missing?
> 
> diff -r 6d96d64c4e9a -r f51a70b35287 source/CMakeLists.txt
> --- a/source/CMakeLists.txt	Tue Oct 22 23:36:36 2013 +0530
> +++ b/source/CMakeLists.txt	Tue Oct 22 17:19:58 2013 -0500
> @@ -189,6 +189,13 @@
>          ARCHIVE DESTINATION lib)
>  install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include)
>  
> +if(UNIX AND NOT APPLE)

Hm this should always be installed, think about cross compilation.

In VLC we use pkg-config on both OSX and when cross compiling our
Windows binaries (with custom install prefixes in both cases).

Is it possible to disable installation only when targetting MSVC ?

> +  # Produce a pkg-config file for linking against the shared lib
> +  configure_file("x265.pc.in" "x265.pc" @ONLY)
> +  install(FILES       "${CMAKE_CURRENT_BINARY_DIR}/x265.pc"
> +          DESTINATION "${PROJECT_LIBRARY_INSTALL_DIR}/pkgconfig")

PROJECT_LIBRARY_INSTALL_DIR is not defined for me, I replaced it with
${CMAKE_INSTALL_PREFIX}/lib locally.

> +endif()
> +
>  if(NOT WIN32)
>      configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
>                     "${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake"
> diff -r 6d96d64c4e9a -r f51a70b35287 source/x265.pc.in
> --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
> +++ b/source/x265.pc.in	Tue Oct 22 17:19:58 2013 -0500
> @@ -0,0 +1,10 @@
> +prefix=@CMAKE_INSTALL_PREFIX@
> +exec_prefix=${prefix}
> +libdir=${exec_prefix}/lib
> +includedir=${prefix}/include
> +
> +Name: @CMAKE_PROJECT_NAME@
> +Description: H.265/HEVC video encoder
> +Version: @X265_LATEST_TAG@
> +Libs: -L${libdir} -lx265

For static linking to work, this also needs:

Libs.private: -lstdc++ -lm -lpthread

> +Cflags: -I${includedir}


More information about the x265-devel mailing list