1
1
cmake_minimum_required (VERSION 3.12)
2
2
project (thinkpad_keyboard_backlight)
3
- set (CMAKE_INSTALL_PREFIX /usr/bin)
3
+ set (PROJECT_VERSION_MAJOR 1)
4
+ set (PROJECT_VERSION_MINOR 2)
5
+ set (PROJECT_VERSION_PATCH 1)
4
6
7
+ # Add version compile definition
8
+ add_compile_definitions (VERSION ="${PROJECT_VERSION_MAJOR} .${PROJECT_VERSION_MINOR} .${PROJECT_VERSION_PATCH} " )
5
9
10
+ set (CMAKE_INSTALL_PREFIX /usr/bin)
6
11
set (CMAKE_CXX_STANDARD 17)
7
12
8
13
# Configure optimization
@@ -32,22 +37,27 @@ set(CMAKE_CXX_FLAGS "${OPTIMIZATION_LEVEL} \
32
37
33
38
set (SERVICE_TARGET_PATH /etc/systemd/system /keyboard_backlight.service)
34
39
set (APP_TARGET_PATH ${CMAKE_INSTALL_PREFIX} /keyboard_backlight)
40
+ set (APP_NAME keyboard_backlight)
35
41
36
42
find_package (Threads)
37
43
38
44
39
-
40
- add_executable (keyboard_backlight kbd_backlight.cpp)
45
+ add_executable (${APP_NAME} kbd_backlight.cpp)
41
46
target_link_libraries (keyboard_backlight ${CMAKE_THREAD_LIBS_INIT} )
42
47
43
48
install (TARGETS keyboard_backlight DESTINATION ${CMAKE_INSTALL_PREFIX} )
44
49
45
50
add_custom_target (service
46
- DEPENDS keyboard_backlight
51
+ DEPENDS ${APP_NAME}
47
52
COMMAND sudo cp ${CMAKE_CURRENT_SOURCE_DIR} /keyboard_backlight.service /etc/systemd/system &&
48
53
sudo systemctl enable --now keyboard_backlight.service
49
54
)
50
55
51
56
add_custom_target (uninstall
52
57
COMMAND sudo rm -f ${SERVICE_TARGET_PATH} ${APP_TARGET_PATH}
53
58
)
59
+
60
+ # Write version to PKGBUILD
61
+ add_custom_command (TARGET ${APP_NAME} POST_BUILD
62
+ COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR} /PKGBUILD ${CMAKE_BINARY_DIR} &&
63
+ sed -i s/VERSION /${PROJECT_VERSION_MAJOR} .${PROJECT_VERSION_MINOR} .${PROJECT_VERSION_PATCH} /g ${CMAKE_BINARY_DIR} /PKGBUILD)
0 commit comments