fix gbs/obs build failure
[platform/framework/native/image.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET(CMAKE_INSTALL_PREFIX /usr)
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5
6 SET (this_target osp-image)
7
8 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
9
10 INCLUDE_DIRECTORIES(
11         inc
12         src
13         src/inc
14         /usr/include
15         /usr/include/curl
16         /usr/include/libxml2
17         /usr/include/glib-2.0 
18         /usr/lib/glib-2.0/include
19         /usr/include/osp
20         /usr/include/osp/app
21         /usr/include/osp/base   
22         /usr/include/osp/io
23         /usr/include/osp/graphics
24         /usr/include/osp/media
25         /usr/include/osp/net
26         /usr/include/osp/security
27         /usr/include/osp/system
28         /usr/include/osp/ui
29         )
30
31 SET (${this_target}_SOURCE_FILES
32         src/FMediaImage.cpp
33         src/FMedia_ImageImpl.cpp
34         src/FMediaImageBuffer.cpp
35         src/FMedia_ImageBufferImpl.cpp
36         src/FMediaImageUtil.cpp
37         src/FMedia_ImageUtilImpl.cpp
38         src/FMediaGifDecoder.cpp
39         src/FMedia_GifDecoderImpl.cpp
40         src/FMedia_ImageDownloadListener.cpp
41         src/FMedia_ImageUriData.cpp
42         src/FMedia_ImageUriDataEvent.cpp
43         src/FMedia_ImageUriDataEventArg.cpp
44         src/FMedia_ImageUriDataFactory.cpp
45         src/FMedia_ImageUriDataHolder.cpp
46 )
47
48 ## Definitions
49 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
50
51 ## SET C COMPILER FLAGS
52 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
53
54 ## SET CPP COMPILER FLAGS
55 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
56 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
57
58 ## Create Library
59 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
60
61 ## SET LINKER FLAGS
62 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--as-needed")
63
64 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
65 TARGET_LINK_LIBRARIES(${this_target} "-losp-image-core" )
66 TARGET_LINK_LIBRARIES(${this_target} "-losp-uifw" )
67 TARGET_LINK_LIBRARIES(${this_target} "-losp-net" )
68 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
69
70 SET_TARGET_PROPERTIES(${this_target} 
71         PROPERTIES 
72         VERSION ${FULLVER}
73         SOVERSION ${MAJORVER}
74         CLEAN_DIRECT_OUTPUT 1
75         )
76
77 ADD_CUSTOM_COMMAND(TARGET ${this_target}
78     POST_BUILD
79                 COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} 
80                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
81                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
82     COMMENT "strip ${this_target}"
83                 )   
84
85 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
86                 FILES_MATCHING PATTERN "*.so*" 
87                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                      
88                     GROUP_EXECUTE GROUP_READ
89                     WORLD_EXECUTE WORLD_READ)
90 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
91                 FILES_MATCHING PATTERN "*"
92                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
93                                         GROUP_EXECUTE GROUP_READ
94                                         WORLD_EXECUTE WORLD_READ)
95
96 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
97 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/media FILES_MATCHING PATTERN "*.h")
98
99 SET(PC_NAME ${this_target})
100 SET(PC_REQUIRED ${pc_requires})
101 SET(PC_LDFLAGS -l${this_target})
102
103 # pkgconfig file
104 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
105 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)