1 SET (this_target osp-appfw)
5 ${CMAKE_SOURCE_DIR}/inc
6 ${CMAKE_SOURCE_DIR}/src/base/inc
7 ${CMAKE_SOURCE_DIR}/src/app/inc
8 ${CMAKE_SOURCE_DIR}/src/security/inc
9 ${CMAKE_SOURCE_DIR}/src/io/inc
12 SET (${this_target}_SOURCE_FILES
13 ${CMAKE_SOURCE_DIR}/src/osp-init/Osp.cpp
16 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall" )
18 ## SET C COMPILER FLAGS
19 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
21 ## SET CPP COMPILER FLAGS
22 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
23 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
26 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
28 SET(STATIC_LIBS app base base-runtime io locales security system text)
30 SET_TARGET_PROPERTIES(${this_target} PROPERTIES LINK_INTERFACE_LIBRARIES "")
32 ADD_DEPENDENCIES(${this_target} ${STATIC_LIBS})
34 MACRO(OSP_ADD_OBJS_IN_ARCHIVE archives)
35 SET(LINK_OBJECTS_IN_ARCHIVE)
36 FOREACH(archive ${ARGV})
37 SET(LINK_OBJECTS_IN_ARCHIVE "${LINK_OBJECTS_IN_ARCHIVE} -l${archive}")
39 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--whole-archive ${LINK_OBJECTS_IN_ARCHIVE} -Wl,-no-whole-archive")
40 ENDMACRO(OSP_ADD_OBJS_IN_ARCHIVE)
42 OSP_ADD_OBJS_IN_ARCHIVE(${STATIC_LIBS})
44 # add explicit dependency
45 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
47 TARGET_LINK_LIBRARIES( ${this_target} ${STATIC_LIBS})
48 TARGET_LINK_LIBRARIES(${this_target} "-ldl" )
49 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
50 TARGET_LINK_LIBRARIES(${this_target} "-lrt" )
51 TARGET_LINK_LIBRARIES(${this_target} "-lappinfo" )
52 #TARGET_LINK_LIBRARIES(${this_target} "-ldukgenerator" )
53 #TARGET_LINK_LIBRARIES(${this_target} "-lcryptsvc" )
54 TARGET_LINK_LIBRARIES(${this_target} "-lprivacy-manager-client" )
55 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-security-privilege-manager" )
56 TARGET_LINK_LIBRARIES(${this_target} ${pkgs_LDFLAGS})
59 SET_TARGET_PROPERTIES(${this_target}
66 SET(PC_NAME ${this_target})
67 SET(pc_requires "appinfo")
68 SET(PC_REQUIRED ${pc_requires})
69 SET(PC_LDFLAGS -l${this_target})
70 SET(VERSION ${FULLVER})
73 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)