Split CXXFLAGS of the spec file for -D_SECURE_LOG
[platform/framework/native/compat.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3 SET (this_target osp-compat)
4
5 INCLUDE_DIRECTORIES(
6         /usr/include/osp
7         /usr/include/osp/base
8         )
9
10 SET (${this_target}_SOURCE_FILES
11          ${CMAKE_SOURCE_DIR}/src/FCompatDeprecatedObj.cpp
12          ${CMAKE_SOURCE_DIR}/src/newlib-compat/NewlibCompatMisc.cpp
13          ${CMAKE_SOURCE_DIR}/src/newlib-compat/NewlibCompatStdio.cpp
14          ${CMAKE_SOURCE_DIR}/src/newlib-compat/NewlibCompatStdlib.cpp
15          ${CMAKE_SOURCE_DIR}/src/newlib-compat/NewlibCompatString.cpp
16 )
17 ## SET EXTRA COMPILER FLAGS
18 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall -pthread" )
19
20 ## SET C COMPILER FLAGS
21 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
22
23 ## SET CPP COMPILER FLAGS
24 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
25 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
26
27 ## Create Library
28 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
29
30 ## SET LINKER FLAGS
31 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
32
33 SET_TARGET_PROPERTIES(${this_target} 
34         PROPERTIES 
35         VERSION ${FULLVER}
36         SOVERSION ${MAJORVER}
37         CLEAN_DIRECT_OUTPUT 1
38         )
39
40 MACRO(OSP_STRIP _target)
41         ADD_CUSTOM_COMMAND(TARGET ${_target}
42         POST_BUILD
43                 COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}${_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_SOURCE_DIR}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} 
44                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${CMAKE_SOURCE_DIR}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
45                 COMMAND ${CMAKE_STRIP} --strip-unneeded --remove-section .comment ${CMAKE_SOURCE_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}${_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
46         COMMENT "strip ${_target}"
47         )   
48 ENDMACRO(OSP_STRIP)
49
50 OSP_STRIP(${this_target})
51
52 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw")
53 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-uifw")
54
55 INSTALL(TARGETS ${this_target} DESTINATION lib/osp)
56
57 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/debug/ DESTINATION lib/osp/debug 
58                 FILES_MATCHING PATTERN "*.so*" 
59                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
60                                         GROUP_EXECUTE GROUP_READ
61                                         WORLD_EXECUTE WORLD_READ)