1+ #
2+ # Copyright 2009-2017 Alibaba Cloud All rights reserved.
3+ #
4+ # Licensed under the Apache License, Version 2.0 (the "License");
5+ # you may not use this file except in compliance with the License.
6+ # You may obtain a copy of the License at
7+ #
8+ # http://www.apache.org/licenses/LICENSE-2.0
9+ #
10+ # Unless required by applicable law or agreed to in writing, software
11+ # distributed under the License is distributed on an "AS IS" BASIS,
12+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+ # See the License for the specific language governing permissions and
14+ # limitations under the License.
15+ #
16+
17+ set (public_header_dir ${CMAKE_CURRENT_SOURCE_DIR} /../include )
18+
19+ set (ft_public_header
20+ include /alibabacloud/ft/FtClient.h
21+ include /alibabacloud/ft/FtExport.h )
22+
23+ set (ft_public_header_model
24+ include /alibabacloud/ft/model/TestPortalRequest.h
25+ include /alibabacloud/ft/model/TestPortalResult.h
26+ include /alibabacloud/ft/model/RoaHttpStringResponseTestRequest.h
27+ include /alibabacloud/ft/model/RoaHttpStringResponseTestResult.h )
28+
29+ set (ft_src
30+ src/FtClient.cc
31+ src/model/TestPortalRequest.cc
32+ src/model/TestPortalResult.cc
33+ src/model/RoaHttpStringResponseTestRequest.cc
34+ src/model/RoaHttpStringResponseTestResult.cc )
35+
36+ add_library (ft ${LIB_TYPE}
37+ ${ft_public_header}
38+ ${ft_public_header_model}
39+ ${ft_src} )
40+
41+ set_target_properties (ft
42+ PROPERTIES
43+ LINKER_LANGUAGE CXX
44+ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib
45+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib
46+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin
47+ OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX} ft
48+ )
49+
50+ if (${LIB_TYPE} STREQUAL "SHARED" )
51+ set_target_properties (ft
52+ PROPERTIES
53+ DEFINE_SYMBOL ALIBABACLOUD_FT_LIBRARY)
54+ endif ()
55+
56+ target_include_directories (ft
57+ PRIVATE include
58+ ${CMAKE_SOURCE_DIR} /core/include
59+ )
60+ target_link_libraries (ft
61+ core)
62+
63+ if (CMAKE_HOST_WIN32 )
64+ ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
65+ set (jsoncpp_install_dir ${INSTALL_DIR} )
66+ add_dependencies (ft
67+ jsoncpp)
68+ target_include_directories (ft
69+ PRIVATE ${jsoncpp_install_dir} /include )
70+ target_link_libraries (ft
71+ ${jsoncpp_install_dir} /lib/jsoncpp.lib)
72+ set_target_properties (ft
73+ PROPERTIES
74+ COMPILE_OPTIONS "/bigobj" )
75+ else ()
76+ target_include_directories (ft
77+ PRIVATE /usr/include /jsoncpp)
78+ target_link_libraries (ft
79+ jsoncpp)
80+ endif ()
81+
82+ install (FILES ${ft_public_header}
83+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /alibabacloud/ft)
84+ install (FILES ${ft_public_header_model}
85+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /alibabacloud/ft/model)
86+ install (TARGETS ft
87+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
88+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
89+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
90+ )
0 commit comments