PROJECT(cacheagent C) IF("${CMAKE_BUILD_TYPE}" STREQUAL "") SET(CMAKE_BUILD_TYPE "Release") ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") SET(VERSION "0.1.0") FIND_PROGRAM(UNAME NAMES uname) EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") IF("${ARCH}" MATCHES "^arm.*") ADD_DEFINITIONS("-D_TARGET") SET(CMAKE_C_FLAGS_RELEASE "-mabi=aapcs-linux -msoft-float -O2") ENDIF("${ARCH}" MATCHES "^arm.*") #CA Engine Include Directory INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/provider/include) SET(SRCS_PATH ".") SET(SRCS_CA ${SRCS_PATH}/cache-agent-interface.c ${SRCS_PATH}/cache-agent-storage.c ${SRCS_PATH}/cache-agent-config.c ) SET(HEADERS include/cache-agent-defs.h include/cache-agent-interface.h ) INCLUDE(FindPkgConfig) pkg_check_modules(subpkgs REQUIRED xdgmime vconf dlog storage ) IF(SUPPORT_LARGE_FILE) MESSAGE("Large file:On") SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -D_FILE_OFFSET_BITS=64") ENDIF(SUPPORT_LARGE_FILE) FOREACH(flag ${subpkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) IF (SUPPORT_OMA_DRM) FOREACH(flag ${drmpkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) #This is request of DRM Team. ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64") ENDIF (SUPPORT_OMA_DRM) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror -Werror-implicit-function-declaration") IF (BUILD_GTESTS) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=default") ELSE (BUILD_GTESTS) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden") ENDIF (BUILD_GTESTS) SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fPIE") SET(CMAKE_C_FLAGS_RELEASE "-O2 -fPIE") ADD_DEFINITIONS("-D_ENABLE_DLOG") #This should be removed when release a target ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS_CA}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${subpkgs_LDFLAGS} ${drmpkgs_LDFLAGS}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION}) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/cache-agent-interface.h DESTINATION ${INCLUDE_INSTALL_DIR}/${PKG_NAME})