blob: 2a94f788812c2cf150bad4397e9ee079a425f754 [file] [log] [blame]
Ed Tanousf61ca6f2019-08-15 15:09:05 -07001cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR)
2project(power-control CXX)
3set(CMAKE_CXX_STANDARD 17)
4set(CMAKE_CXX_STANDARD_REQUIRED ON)
5
Vijay Khemka04175c22020-10-09 14:28:11 -07006option (
7 CHASSIS_SYSTEM_RESET
8 "Enable chassis system power reset to allow removing
9 power and restoring back"
10 OFF
11)
12
Ed Tanousf61ca6f2019-08-15 15:09:05 -070013add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
14add_definitions(-DBOOST_SYSTEM_NO_DEPRECATED)
15add_definitions(-DBOOST_ALL_NO_LIB)
16add_definitions(-DBOOST_NO_RTTI)
17add_definitions(-DBOOST_NO_TYPEID)
18add_definitions(-DBOOST_ASIO_DISABLE_THREADS)
19
20set(SRC_FILES src/power_control.cpp)
21
22add_executable(${PROJECT_NAME} ${SRC_FILES})
23target_link_libraries(${PROJECT_NAME} -lstdc++fs)
24target_link_libraries(${PROJECT_NAME} chassisi2c)
25target_link_libraries(${PROJECT_NAME} i2c)
26target_link_libraries(${PROJECT_NAME} gpiodcxx)
27target_link_libraries(${PROJECT_NAME} systemd)
28target_link_libraries(${PROJECT_NAME} sdbusplus)
29
Vijay Khemka04175c22020-10-09 14:28:11 -070030target_compile_definitions (
31 ${PROJECT_NAME} PRIVATE $<$<BOOL:${CHASSIS_SYSTEM_RESET}>:
32 -DCHASSIS_SYSTEM_RESET>
33)
34
Ed Tanousf61ca6f2019-08-15 15:09:05 -070035install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
36
Andrew Geissler46152f92020-10-05 13:29:38 -050037# Temporarily disable rtti
38# See https://github.com/chriskohlhoff/asio/issues/533
39#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
40#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-rtti")
Ed Tanousf61ca6f2019-08-15 15:09:05 -070041
42set(
43 SERVICE_FILES
Vijay Khemkab0c613a2020-05-06 11:11:04 -070044 ${PROJECT_SOURCE_DIR}/service_files/chassis-system-reset.service
45 ${PROJECT_SOURCE_DIR}/service_files/chassis-system-reset.target
Ed Tanousf61ca6f2019-08-15 15:09:05 -070046 ${PROJECT_SOURCE_DIR}/service_files/xyz.openbmc_project.Chassis.Control.Power.service
47 )
Priyatharshan Pe4d7f2b2020-06-22 22:41:42 +053048
49set(
50 CONFIG_FILE
51 ${PROJECT_SOURCE_DIR}/config/power-config-host0.json
52 )
53
Ed Tanousf61ca6f2019-08-15 15:09:05 -070054install(FILES ${SERVICE_FILES} DESTINATION /lib/systemd/system/)
Kumar Thangavel699b5652020-08-04 22:38:33 +053055install(FILES ${CONFIG_FILE} DESTINATION /usr/share/x86-power-control/)