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
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)
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)