SET(VERSION_MAJOR 0)
SET(VERSION "${VERSION_MAJOR}.1.0")
SET(LIB_NAME "${PROJECT_NAME}")
SET(LIB_PREFIX ${LIB_CMAKE_INSTALL_PREFIX})
SET(LIB_EXEC_PREFIX ${LIB_PREFIX})
SET(LIB_DIR "${LIB_PREFIX}/lib")
SET(LIB_INCLUDE_DIR "${LIB_PREFIX}/include")
SET(LIB_PKGCONFIG_DIR "/usr/lib/pkgconfig")
SET(
LIB
XX.c
)
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include
)
ADD_LIBRARY( ${LIB_NAME} SHARED ${LIB} )
SET_TARGET_PROPERTIES( ${LIB_NAME} PROPERTIES
COMPILE_FLAGS "-Wall -fPIC -fpie ${EXTRA_CFLAGS}"
LINK_FLAGS "-fPIC -Wl,--as-needed"
)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES VERSION ${VERSION})
CONFIGURE_FILE(${LIB_NAME}.pc.in ${LIB_NAME}.pc @ONLY)
INSTALL(TARGETS ${LIB_NAME} DESTINATION ${LIB_DIR} COMPONENT RuntimeLibraries)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}.pc DESTINATION ${LIB_PKGCONFIG_DIR})
SET(VERSION "${VERSION_MAJOR}.1.0")
SET(LIB_NAME "${PROJECT_NAME}")
SET(LIB_PREFIX ${LIB_CMAKE_INSTALL_PREFIX})
SET(LIB_EXEC_PREFIX ${LIB_PREFIX})
SET(LIB_DIR "${LIB_PREFIX}/lib")
SET(LIB_INCLUDE_DIR "${LIB_PREFIX}/include")
SET(LIB_PKGCONFIG_DIR "/usr/lib/pkgconfig")
SET(
LIB
XX.c
)
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include
)
ADD_LIBRARY( ${LIB_NAME} SHARED ${LIB} )
SET_TARGET_PROPERTIES( ${LIB_NAME} PROPERTIES
COMPILE_FLAGS "-Wall -fPIC -fpie ${EXTRA_CFLAGS}"
LINK_FLAGS "-fPIC -Wl,--as-needed"
)
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES VERSION ${VERSION})
CONFIGURE_FILE(${LIB_NAME}.pc.in ${LIB_NAME}.pc @ONLY)
INSTALL(TARGETS ${LIB_NAME} DESTINATION ${LIB_DIR} COMPONENT RuntimeLibraries)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}.pc DESTINATION ${LIB_PKGCONFIG_DIR})
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include DESTINATION ${LIB_PREFIX} )
XX.pc.in
# Package Information for pkg-config
prefix=@LIB_PREFIX@
exec_prefix=@LIB_EXEC_PREFIX@
libdir=@LIB_DIR@
includedir=@LIB_INCLUDE_DIR@
Name: global-function
Description: XX library for linux
Version: @VERSION@
Libs: -L${libdir} -lzib
Cflags: -I${includedir}