CMakelists.txt

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(name C CXX)
INCLUDE(FindPkgConfig)

SET(VERSION_MAJOR 0)
SET(VERSION "${VERSION_MAJOR}.1.0")
SET(PREFIX ${CMAKE_INSTALL_PREFIX})
SET(EXEC_PREFIX ${PREFIX})
SET(LIB_DIR "${PREFIX}/lib")
SET(INCLUDE_DIR "${PREFIX}/include")
SET(PKGCONFIG_DIR "${LIB_DIR}/pkgconfig")

SET(SRCS
    src/TransmissionData.cpp
    src/ReminderProxy.cpp
    src/RemindInfo.cpp
    src/RemindInfoCWrapper.cpp
    src/ReminderAPIUtil.cpp
    src/ReminderAPI.cpp
    src/ReminderLock.cpp
)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)

INCLUDE(FindPkgConfig)
pkg_check_modules(pkgs REQUIRED

   xxx

   xxx

)
FOREACH(flag ${pkgs_CFLAGS})
    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)

SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
SET(CMAKE_CXX_FLAGS_RELEASE "-O2")

ADD_DEFINITIONS("-DPONAME=\"${PONAME}\"")
ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")

ADD_LIBRARY( ${PROJECT_NAME} SHARED ${SRCS} )
SET_TARGET_PROPERTIES( ${PROJECT_NAME} PROPERTIES
    COMPILE_FLAGS "-Wall -fPIC ${EXTRA_CFLAGS}"
    LINK_FLAGS "-fPIC -Wl,--as-needed"
)
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR})
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})

CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_DIR} COMPONENT RuntimeLibraries)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${PKGCONFIG_DIR})
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include DESTINATION ${PREFIX} )

ADD_SUBDIRECTORY(xxx)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值