Skip to content

Commit bb8c263

Browse files
committed
fix(cmake): use full paths defined by GNUInstallDirs
Closes #424
1 parent 440a97c commit bb8c263

File tree

4 files changed

+19
-15
lines changed

4 files changed

+19
-15
lines changed

CMakeLists.txt

+11-7
Original file line numberDiff line numberDiff line change
@@ -154,13 +154,15 @@ if(UNIX)
154154
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
155155
endif()
156156

157+
# keep these variables lest some Rime plugin's cmake file is still using them {
157158
if(NOT DEFINED LIB_INSTALL_DIR)
158159
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
159160
endif()
160161

161162
if(NOT DEFINED BIN_INSTALL_DIR)
162163
set(BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
163164
endif()
165+
# }
164166

165167
# uninstall target
166168
configure_file(
@@ -173,22 +175,24 @@ add_custom_target(uninstall
173175
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD|DragonFly|GNU")
174176
set(prefix "${CMAKE_INSTALL_PREFIX}")
175177
set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
176-
set(bindir "${exec_prefix}/${BIN_INSTALL_DIR}")
177-
set(libdir "${exec_prefix}/${LIB_INSTALL_DIR}")
178-
set(pkgdatadir "${prefix}${rime_data_dir}")
179-
set(includedir "${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
178+
set(bindir "${CMAKE_INSTALL_FULL_BINDIR}")
179+
set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
180+
set(pkgdatadir "${CMAKE_INSTALL_PREFIX}${rime_data_dir}")
181+
set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
180182
configure_file(
181183
${PROJECT_SOURCE_DIR}/rime.pc.in
182184
${PROJECT_BINARY_DIR}/rime.pc
183185
@ONLY)
184186
install(FILES ${PROJECT_BINARY_DIR}/rime.pc
185-
DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
187+
DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig)
186188
endif()
187189

188-
install(FILES cmake/RimeConfig.cmake DESTINATION share/cmake/rime)
190+
install(FILES cmake/RimeConfig.cmake
191+
DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/cmake/rime)
189192

190193
file(GLOB rime_public_header_files ${PROJECT_SOURCE_DIR}/src/*.h)
191-
install(FILES ${rime_public_header_files} DESTINATION include)
194+
install(FILES ${rime_public_header_files}
195+
DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR})
192196

193197
if(BUILD_DATA)
194198
file(GLOB rime_preset_data_files ${PROJECT_SOURCE_DIR}/data/preset/*.yaml)

plugins/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ foreach(plugin ${plugins})
4343
if(XCODE_VERSION)
4444
set_target_properties(${plugin_name} PROPERTIES INSTALL_NAME_DIR "@rpath")
4545
endif(XCODE_VERSION)
46-
install(TARGETS ${plugin_name} DESTINATION ${LIB_INSTALL_DIR})
46+
install(TARGETS ${plugin_name} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
4747
endif()
4848
endforeach(plugin)
4949

sample/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ if(BUILD_SAMPLE)
2626
PROPERTIES
2727
INSTALL_NAME_DIR "@rpath")
2828
endif(XCODE_VERSION)
29-
install(TARGETS ${sample_library} DESTINATION ${LIB_INSTALL_DIR})
29+
install(TARGETS ${sample_library} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
3030

3131
add_subdirectory(tools)
3232
if(BUILD_TEST)

src/CMakeLists.txt

+6-6
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ if(BUILD_SHARED_LIBS)
7878
if(XCODE_VERSION)
7979
set_target_properties(rime PROPERTIES INSTALL_NAME_DIR "@rpath")
8080
endif()
81-
install(TARGETS rime DESTINATION ${LIB_INSTALL_DIR})
81+
install(TARGETS rime DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
8282

8383
if(BUILD_SEPARATE_LIBS)
8484
add_library(rime-dict ${rime_dict_module_src})
@@ -91,7 +91,7 @@ if(BUILD_SHARED_LIBS)
9191
if(XCODE_VERSION)
9292
set_target_properties(rime-dict PROPERTIES INSTALL_NAME_DIR "@rpath")
9393
endif()
94-
install(TARGETS rime-dict DESTINATION ${LIB_INSTALL_DIR})
94+
install(TARGETS rime-dict DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
9595

9696
add_library(rime-gears ${rime_gears_src})
9797
target_link_libraries(rime-gears
@@ -104,7 +104,7 @@ if(BUILD_SHARED_LIBS)
104104
if(XCODE_VERSION)
105105
set_target_properties(rime-gears PROPERTIES INSTALL_NAME_DIR "@rpath")
106106
endif()
107-
install(TARGETS rime-gears DESTINATION ${LIB_INSTALL_DIR})
107+
install(TARGETS rime-gears DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
108108

109109
add_library(rime-levers ${rime_levers_src})
110110
target_link_libraries(rime-levers
@@ -117,7 +117,7 @@ if(BUILD_SHARED_LIBS)
117117
if(XCODE_VERSION)
118118
set_target_properties(rime-levers PROPERTIES INSTALL_NAME_DIR "@rpath")
119119
endif()
120-
install(TARGETS rime-levers DESTINATION ${LIB_INSTALL_DIR})
120+
install(TARGETS rime-levers DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
121121

122122
if(rime_plugins_library)
123123
add_library(rime-plugins
@@ -134,12 +134,12 @@ if(BUILD_SHARED_LIBS)
134134
if(XCODE_VERSION)
135135
set_target_properties(rime-plugins PROPERTIES INSTALL_NAME_DIR "@rpath")
136136
endif()
137-
install(TARGETS rime-plugins DESTINATION ${LIB_INSTALL_DIR})
137+
install(TARGETS rime-plugins DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
138138
endif()
139139
endif()
140140
else()
141141
add_library(rime-static STATIC ${rime_src})
142142
target_link_libraries(rime-static ${rime_deps})
143143
set_target_properties(rime-static PROPERTIES OUTPUT_NAME "rime" PREFIX "lib")
144-
install(TARGETS rime-static DESTINATION ${LIB_INSTALL_DIR})
144+
install(TARGETS rime-static DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
145145
endif()

0 commit comments

Comments
 (0)