• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# securec arm library
2#
3#
4# SECUREC_ARM_LIBRARY
5#
6
7if(NOT TARGET securec_arm)
8  set(_ms_tmp_CMAKE_POSITION_INDEPENDENT_CODE ${CMAKE_POSITION_INDEPENDENT_CODE})
9  set(_ms_tmp_CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
10
11  if(TARGET_OHOS_LITE)
12    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SECURE_CXX_FLAGS}")
13  else()
14    set(CMAKE_C_FLAGS "${SECURE_CXX_FLAGS}")
15  endif()
16  if(CMAKE_SYSTEM_NAME MATCHES "Windows")
17    add_compile_definitions(SECUREC_ONLY_DECLARE_MEMSET)
18  endif()
19  set(CMAKE_POSITION_INDEPENDENT_CODE ${_ms_tmp_CMAKE_POSITION_INDEPENDENT_CODE})
20  set(CMAKE_C_FLAGS ${_ms_tmp_CMAKE_C_FLAGS})
21endif()
22
23if(NOT MSVC)
24    if(CMAKE_SYSTEM_NAME MATCHES "Windows")
25        SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -fPIC -O2 -Wall -Wno-deprecated-declarations \
26            -fno-inline-functions -fno-omit-frame-pointer -fstack-protector-all")
27    else()
28        SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -Wno-nullability-completeness -fPIC -O2 -Wall \
29            -Wno-deprecated-declarations -fno-inline-functions -fno-omit-frame-pointer \
30            -fstack-protector-all -D_LIBCPP_INLINE_VISIBILITY='' -D'_LIBCPP_EXTERN_TEMPLATE(...)='")
31    endif()
32    set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
33
34    #add flags
35    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I/usr/local/include -Werror")
36endif()
37
38include_directories(${PROJECT_SOURCE_DIR}/third_party/securec/include)
39if(CMAKE_SYSTEM_NAME MATCHES "Windows")
40    list(APPEND SECUREC_ARM_LIBRARY "memset_s.c")
41else()
42    aux_source_directory(${PROJECT_SOURCE_DIR}/third_party/securec/src SECUREC_ARM_LIBRARY)
43endif()
44add_library(securec_arm STATIC ${SECUREC_ARM_LIBRARY})
45set(SECUREC_ARM_LIBRARY securec_arm)
46