packaging support improvements
This grew out of my work creating an sfml port for macports, but should be helpful for package maintainers of various distributions: * add an SFML_USE_SYSTEM_DEPS option to ignore everything in extlibs/ except for headers/stb_image, and use the system versions * install pkg-config files if a pkg-config program is found and either lib/pkgconfig or libdata/pkgconfig exists under the INSTALL_PREFIX, or the SFML_INSTALL_PKGCONFIG_FILES flag is set explicitly * install pkg-config files for static libs too, add the necessary Requires.private and Libs.private entries to the .pc files to support static linking * on OS X, honor all INSTALL_NAME and RPATH related cmake variables and only set the INSTALL_NAME_DIR to "@rpath" if none of them is set, this preserves the default behavior of using @rpath but also allows overriding by the usual cmake mechanisms
This commit is contained in:
parent
40ae477cc3
commit
5fe5e5d6d7
6 changed files with 81 additions and 27 deletions
|
@ -73,6 +73,19 @@ else()
|
|||
return()
|
||||
endif()
|
||||
|
||||
# check if OS or package system supports pkg-config
|
||||
# this could be e.g. macports on mac or msys2 on windows etc.
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PKG_CONFIG_EXECUTABLE)
|
||||
if(EXISTS "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig")
|
||||
set(SFML_OS_SUPPORTS_PKGCONFIG ON)
|
||||
set(SFML_OS_PKGCONFIG_DIR "/lib${LIB_SUFFIX}/pkgconfig")
|
||||
elseif(EXISTS "${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig")
|
||||
set(SFML_OS_SUPPORTS_PKGCONFIG ON)
|
||||
set(SFML_OS_PKGCONFIG_DIR "/libdata/pkgconfig")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# detect the compiler and its version
|
||||
# Note: on some platforms (OS X), CMAKE_COMPILER_IS_GNUCXX is true
|
||||
# even when CLANG is used, therefore the Clang test is done first
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue