diff --git a/CMakeLists.txt b/CMakeLists.txt index 01ba355..68a3940 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,6 +43,8 @@ ELSE(MSVC) SET(WERROR_FLAG "-Werror") ENDIF(MSVC) +LIST(REMOVE_DUPLICATES SDL2_ALL_INCLUDE_DIRS) + INCLUDE_DIRECTORIES(BEFORE ${PROJECT_SOURCE_DIR}) INCLUDE_DIRECTORIES(${SDL2_ALL_INCLUDE_DIRS}) @@ -107,8 +109,27 @@ IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) ADD_SUBDIRECTORY(demos) ADD_SUBDIRECTORY(tests) + # pkgconfig + SET(PKGCONFIGDIR lib/pkgconfig CACHE STRING "directory where to install pkg-config files") + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + SET(PKGCONFIGDIR libdata/pkgconfig) + ENDIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + + SET(SDL2_PKGCONFIG_CFLAGS "") + FOREACH(INCDIR IN LISTS SDL2_ALL_INCLUDE_DIRS) + SET(SDL2_PKGCONFIG_CFLAGS "${SDL2_PKGCONFIG_CFLAGS} -I${INCDIR}") + ENDFOREACH(INCDIR IN SDL2_ALL_INCLUDE_DIRS) + + CONFIGURE_FILE( + sdl2pp.pc.in + sdl2pp.pc + @ONLY + ) + + # install INSTALL(FILES ${LIBRARY_HEADERS} ${PROJECT_BINARY_DIR}/SDL2pp/Config.hh DESTINATION include/SDL2pp) INSTALL(TARGETS SDL2pp LIBRARY DESTINATION lib) + INSTALL(FILES ${PROJECT_BINARY_DIR}/sdl2pp.pc DESTINATION ${PKGCONFIGDIR}) ELSE(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) MESSAGE(STATUS "libSDL2pp bundled build") diff --git a/sdl2pp.pc.in b/sdl2pp.pc.in new file mode 100644 index 0000000..7313e27 --- /dev/null +++ b/sdl2pp.pc.in @@ -0,0 +1,14 @@ +# libSDL2pp pkg-config source file + +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: sdl2pp +Description: C++11 bindings/wrappers for SDL2. +Version: @SDL2PP_VERSION@ +Requires: +Conflicts: +Libs: -L${libdir} -lSDL2pp +Cflags: -I${includedir}@SDL2_PKGCONFIG_CFLAGS@