Battery: Split operating system specific code

This removes all operating system specific code from the main
battery file into their own source files. CMake will add the
correct implementation automatically.
This commit is contained in:
Sebastian Reichel
2015-08-07 04:31:31 +02:00
parent 66acd8ed38
commit 3c45cf29c7
7 changed files with 257 additions and 159 deletions

View File

@@ -78,7 +78,20 @@ set( SOURCES src/config.c
src/util/window.c )
if( ENABLE_BATTERY )
set( SOURCES ${SOURCES} src/battery/battery.c src/battery/linux.c)
set( SOURCES ${SOURCES} src/battery/battery.c)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set( SOURCES ${SOURCES} src/battery/linux.c)
elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
set( SOURCES ${SOURCES} src/battery/freebsd.c)
elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
set( SOURCES ${SOURCES} src/battery/openbsd.c)
elseif(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
set( SOURCES ${SOURCES} src/battery/openbsd.c)
else(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set( SOURCES ${SOURCES} src/battery/dummy.c)
endif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
add_definitions( -DENABLE_BATTERY )
endif( ENABLE_BATTERY )