Skip to content

Commit 3cf8eaf

Browse files
hosietlotem
authored andcommitted
chore(CMakeLists.txt): Use GNUinstalldirs module (#327)
GNUInstallDirs module is available since CMake 3.0.2. It provides standard install directory variables as defined for GNU software. Using this module would provides standard variable names for bindir, libdir, includedir and datadir, etc., which would be beneficial. This patch modifies the top-level CMakeLists.txt and apply the standard variables accordingly. The minimal CMake version requirement is also bumped to 3.0.2.
1 parent b93fbee commit 3cf8eaf

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

CMakeLists.txt

+7-5
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/c_flag_over
22
set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cxx_flag_overrides.cmake)
33

44
project(rime)
5-
cmake_minimum_required(VERSION 2.8.11)
5+
cmake_minimum_required(VERSION 3.0.2)
66

77
set(rime_version 1.5.3)
88
set(rime_soversion 1)
99

1010
add_definitions(-DRIME_VERSION="${rime_version}")
1111

12+
include(GNUInstallDirs)
13+
1214
option(BUILD_SHARED_LIBS "Build Rime as shared library" ON)
1315
option(BUILD_MERGED_PLUGINS "Merge plugins into one Rime library" ON)
1416
option(BUILD_STATIC "Build with dependencies as static libraries" OFF)
@@ -161,11 +163,11 @@ if(UNIX)
161163
endif()
162164

163165
if(NOT DEFINED LIB_INSTALL_DIR)
164-
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
166+
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
165167
endif()
166168

167169
if(NOT DEFINED BIN_INSTALL_DIR)
168-
set(BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin)
170+
set(BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
169171
endif()
170172

171173
# uninstall target
@@ -179,10 +181,10 @@ add_custom_target(uninstall
179181
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD|DragonFly")
180182
set(prefix "${CMAKE_INSTALL_PREFIX}")
181183
set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
182-
set(bindir "${exec_prefix}/bin")
184+
set(bindir "${BIN_INSTALL_DIR}")
183185
set(libdir "${LIB_INSTALL_DIR}")
184186
set(pkgdatadir "${prefix}${rime_data_dir}")
185-
set(includedir "${CMAKE_INSTALL_PREFIX}/include")
187+
set(includedir "${CMAKE_INSTALL_INCLUDEDIR}")
186188
configure_file(
187189
${PROJECT_SOURCE_DIR}/rime.pc.in
188190
${PROJECT_BINARY_DIR}/rime.pc

0 commit comments

Comments
 (0)