Skip to content

Commit 34743a2

Browse files
committed
CMakeLists: Use GNUInstallDirs instead of open-coding the FHS standard
Suggested by Cloudef on #13.
1 parent 5267187 commit 34743a2

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

CMakeLists.txt

+13-16
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
1+
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
22

33
IF(NOT CMAKE_BUILD_TYPE)
44
SET(CMAKE_BUILD_TYPE "Release" CACHE
@@ -13,6 +13,7 @@ INCLUDE(CheckLibraryExists)
1313
INCLUDE(CheckFunctionExists)
1414
INCLUDE(FindPkgConfig)
1515
INCLUDE(FeatureSummary)
16+
INCLUDE(GNUInstallDirs)
1617

1718
INCLUDE_DIRECTORIES("include/" ${CMAKE_SOURCE_DIR}/src)
1819
LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
@@ -26,18 +27,14 @@ IF(NOT WSM_BUILD_BACKENDS)
2627
SET(WSM_BE_EXAMPLE OFF)
2728
ENDIF(NOT WSM_BUILD_BACKENDS)
2829

29-
IF(NOT LIB_INSTALL_DIR)
30-
SET(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
31-
ENDIF(NOT LIB_INSTALL_DIR)
32-
3330
#Tell libWSM where to find the backends
3431
IF(NOT WSM_BACKEND_DIRECTORY)
35-
SET(WSM_BACKEND_DIRECTORY ${LIB_INSTALL_DIR}/wsm)
32+
SET(WSM_BACKEND_DIRECTORY ${CMAKE_INSTALL_LIBDIR}/wsm)
3633
ENDIF(NOT WSM_BACKEND_DIRECTORY)
3734
ADD_DEFINITIONS(-DWSM_BACKEND_DIRECTORY="${WSM_BACKEND_DIRECTORY}")
3835

3936
IF(NOT WSM_DEFAULT_POLICY_PREFIX)
40-
SET(WSM_DEFAULT_POLICY_PREFIX ${CMAKE_INSTALL_PREFIX}/var/share/security)
37+
SET(WSM_DEFAULT_POLICY_PREFIX ${CMAKE_INSTALL_DATAROOTDIR}/security)
4138
ENDIF(NOT WSM_DEFAULT_POLICY_PREFIX)
4239
ADD_DEFINITIONS(-DWSM_DEFAULT_POLICY_PREFIX="${WSM_DEFAULT_POLICY_PREFIX}")
4340

@@ -58,9 +55,9 @@ IF(WSM_LIB)
5855
SET_PROPERTY(TARGET wsm PROPERTY VERSION 0.1.0)
5956
SET_PROPERTY(TARGET wsm PROPERTY SOVERSION 1)
6057
TARGET_LINK_LIBRARIES(wsm ${WAYLAND_SERVER_LIBRARIES} dl)
61-
INSTALL(TARGETS wsm DESTINATION ${LIB_INSTALL_DIR})
62-
INSTALL(FILES "${CMAKE_SOURCE_DIR}/include/libwsm.h" DESTINATION include)
63-
INSTALL(DIRECTORY "${CMAKE_SOURCE_DIR}/include/wsm" DESTINATION include)
58+
INSTALL(TARGETS wsm DESTINATION ${CMAKE_INSTALL_LIBDIR})
59+
INSTALL(FILES "${CMAKE_SOURCE_DIR}/include/libwsm.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
60+
INSTALL(DIRECTORY "${CMAKE_SOURCE_DIR}/include/wsm" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
6461
ENDIF(WSM_LIB)
6562

6663
# default backend
@@ -75,7 +72,7 @@ ENDIF(WSM_BE_DEFAULT)
7572
#PKG-CONFIG
7673
set(LIBWSM_VERSION "0.1")
7774
configure_file(libwsm.pc.in libwsm.pc @ONLY)
78-
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libwsm.pc" DESTINATION lib/pkgconfig)
75+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libwsm.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
7976

8077
# Test
8178
add_executable(test_base "tests/base.c" "tests/unix_socket.c" "tests/unix_socket.h")
@@ -97,15 +94,15 @@ MESSAGE("Default : ${WSM_BE_DEFAULT} (-DWSM_BE_DEFAULT=OFF to deactivate)")
9794
MESSAGE("")
9895

9996
MESSAGE("Options :")
100-
MESSAGE(" Build type: ${CMAKE_BUILD_TYPE} (-DCMAKE_BUILD_TYPE=Debug to debug)")
101-
MESSAGE(" Prefix: '${CMAKE_INSTALL_PREFIX}' (-DCMAKE_INSTALL_PREFIX=/your/prefix)")
102-
MESSAGE(" Lib prefix: '${LIB_INSTALL_DIR}' (-DLIB_INSTALL_DIR=/your/directory or -DLIB_SUFFIX=32/64//)")
103-
MESSAGE(" Backends directory: '${WSM_BACKEND_DIRECTORY}' (-DWSM_BACKEND_DIRECTORY=/your/prefix)")
97+
MESSAGE(" Build type : ${CMAKE_BUILD_TYPE} (-DCMAKE_BUILD_TYPE=Debug to debug)")
98+
MESSAGE(" Prefix : '${CMAKE_INSTALL_PREFIX}' (-DCMAKE_INSTALL_PREFIX=/your/prefix)")
99+
MESSAGE(" Backends dir : '${WSM_BACKEND_DIRECTORY}' (-DWSM_BACKEND_DIRECTORY=/your/prefix)")
100+
MESSAGE(" More dirs : See CMake's GNUInstallDirs")
104101
MESSAGE("")
105102

106103
IF(WSM_BE_DEFAULT)
107104
MESSAGE("Default backend :")
108-
MESSAGE(" Policy prefix: '${WSM_DEFAULT_POLICY_PREFIX}' (-DWSM_DEFAULT_POLICY_PREFIX=/your/prefix)")
105+
MESSAGE(" Policy dir : '${WSM_DEFAULT_POLICY_PREFIX}' (-DWSM_DEFAULT_POLICY_PREFIX=/your/prefix)")
109106
MESSAGE("")
110107
ENDIF(WSM_BE_DEFAULT)
111108

0 commit comments

Comments
 (0)