forked from rime/librime
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
92 lines (85 loc) · 2.94 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
aux_source_directory(. rime_src_api)
aux_source_directory(rime rime_src_base)
aux_source_directory(rime/algo rime_src_algo)
aux_source_directory(rime/config rime_src_config)
aux_source_directory(rime/dict rime_src_dict)
aux_source_directory(rime/gear rime_src_gear)
aux_source_directory(rime/lever rime_src_lever)
if(BUILD_SEPARATE_LIBS)
set(rime_src
${rime_src_api}
${rime_src_base}
${rime_src_config})
set(librime_gears_src
${rime_src_algo}
${rime_src_dict}
${rime_src_gear}
${rime_src_lever})
else()
set(rime_src
${rime_src_api}
${rime_src_base}
${rime_src_algo}
${rime_src_config}
${rime_src_dict}
${rime_src_gear}
${rime_src_lever})
endif()
set(rime_optional_deps "")
if(Gflags_FOUND)
set(rime_optional_deps ${rime_optional_deps} ${Gflags_LIBRARY})
endif()
set(rime_core_deps
${Boost_LIBRARIES}
${Glog_LIBRARY}
${YamlCpp_LIBRARY}
${CMAKE_THREAD_LIBS_INIT}
${rime_optional_deps}
${rime_plugins_deps})
set(rime_extra_deps
${ICONV_LIBRARIES}
${LevelDb_LIBRARY}
${Marisa_LIBRARY}
${Opencc_LIBRARY})
if(MINGW)
set(rime_core_deps ${rime_core_deps} wsock32 ws2_32)
endif()
if(BUILD_SEPARATE_LIBS)
set(rime_deps ${rime_core_deps})
set(rime_gears_deps ${rime_library} ${rime_extra_deps})
else()
set(rime_deps ${rime_core_deps} ${rime_extra_deps})
endif()
if(BUILD_SHARED_LIBS)
add_library(rime ${rime_plugins_objs} ${rime_src})
target_link_libraries(rime ${rime_deps})
set_target_properties(rime PROPERTIES DEFINE_SYMBOL "RIME_EXPORTS")
set_target_properties(rime PROPERTIES VERSION ${rime_version} SOVERSION ${rime_soversion})
if(XCODE_VERSION)
set_target_properties(rime PROPERTIES INSTALL_NAME_DIR "@rpath")
endif()
install(TARGETS rime DESTINATION ${LIB_INSTALL_DIR})
if(BUILD_SEPARATE_LIBS)
add_library(rime-gears ${librime_gears_src})
target_link_libraries(rime-gears ${rime_gears_deps})
add_dependencies(rime-gears ${rime_library})
set_target_properties(rime-gears PROPERTIES VERSION ${rime_version} SOVERSION ${rime_soversion})
if(XCODE_VERSION)
set_target_properties(rime-gears PROPERTIES INSTALL_NAME_DIR "@rpath")
endif()
install(TARGETS rime-gears DESTINATION ${LIB_INSTALL_DIR})
endif()
else()
add_library(rime-static STATIC ${rime_plugins_objs} ${rime_src})
target_link_libraries(rime-static ${rime_deps})
set_target_properties(rime-static PROPERTIES OUTPUT_NAME "rime" PREFIX "lib")
install(TARGETS rime-static DESTINATION ${LIB_INSTALL_DIR})
if(BUILD_SEPARATE_LIBS)
add_library(rime-gears-static STATIC ${librime_gears_src})
target_link_libraries(rime-gears-static ${rime_gears_deps})
add_dependencies(rime-gears-static ${rime_library})
set_target_properties(rime-gears-static PROPERTIES OUTPUT_NAME "rime-gears" PREFIX "lib")
install(TARGETS rime-gears-static DESTINATION ${LIB_INSTALL_DIR})
endif()
endif()