paddlenlp
54 строки · 2.2 Кб
1# MIT License
2#
3# Copyright (c) 2018 The ViaDuck Project
4# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
5#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17
18function(GetICUByproducts ICU_PATH ICU_LIB_VAR ICU_INCLUDE_VAR ICU_BASE_NAMES_VAR)
19# include directory
20set(${ICU_INCLUDE_VAR} "${ICU_PATH}/include" PARENT_SCOPE)
21
22if (WIN32)
23# windows basenames and pre/suffixes
24set(ICU_LIB_BASE_NAMES dt in io tu uc)
25
26set(ICU_SHARED_PREFIX "lib")
27set(ICU_STATIC_PREFIX "")
28set(ICU_SHARED_SUFFIX ".dll.a")
29set(ICU_STATIC_SUFFIX ".lib")
30set(ICU_INSTALL_LIB "lib64")
31else()
32# unix basenames and pre/suffixes
33set(ICU_LIB_BASE_NAMES i18n data uc io tu)
34set(ICU_SHARED_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX})
35set(ICU_STATIC_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX})
36set(ICU_SHARED_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
37set(ICU_STATIC_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX})
38set(ICU_INSTALL_LIB "lib")
39endif()
40# add static and shared libs to the libraries variable
41foreach(ICU_BASE_NAME ${ICU_LIB_BASE_NAMES})
42set(ICU_SHARED_LIB "${ICU_PATH}/${ICU_INSTALL_LIB}/${ICU_SHARED_PREFIX}icu${ICU_BASE_NAME}${ICU_SHARED_SUFFIX}")
43set(ICU_STATIC_LIB "${ICU_PATH}/${ICU_INSTALL_LIB}/${ICU_STATIC_PREFIX}icu${ICU_BASE_NAME}${ICU_STATIC_SUFFIX}")
44
45if (ICU_STATIC)
46list(APPEND ${ICU_LIB_VAR} ${ICU_STATIC_LIB})
47else()
48list(APPEND ${ICU_LIB_VAR} ${ICU_SHARED_LIB})
49endif()
50list(APPEND ${ICU_BASE_NAMES_VAR} ${ICU_BASE_NAME})
51endforeach()
52set(${ICU_LIB_VAR} ${${ICU_LIB_VAR}} PARENT_SCOPE)
53set(${ICU_BASE_NAMES_VAR} ${${ICU_BASE_NAMES_VAR}} PARENT_SCOPE)
54endfunction()