135 lines
5.1 KiB
CMake
135 lines
5.1 KiB
CMake
#################################
|
|
# Project
|
|
##############
|
|
|
|
#################################
|
|
# Dependencies
|
|
##############
|
|
|
|
#################################
|
|
# Generated files
|
|
##############
|
|
|
|
# systemd itself is detected by the top-level systemdservice.cmake.
|
|
# This webui submodule only consumes WITH_SYSTEMD and SYSTEMD_SERVICES_INSTALL_DIR.
|
|
if(NOT DEFINED MARS_NWE_SYSTEMD_SERVICE)
|
|
set(MARS_NWE_SYSTEMD_SERVICE "mars-nwe-serv.service" CACHE STRING "MARS_NWE systemd service name")
|
|
endif()
|
|
|
|
if(NOT DEFINED SYSTEMCTL_EXECUTABLE)
|
|
find_program(SYSTEMCTL_EXECUTABLE systemctl)
|
|
endif()
|
|
if(NOT SYSTEMCTL_EXECUTABLE)
|
|
set(SYSTEMCTL_EXECUTABLE "/usr/bin/systemctl")
|
|
endif()
|
|
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/config.h"
|
|
IMMEDIATE @ONLY)
|
|
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/smart.conf.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/smart.conf"
|
|
IMMEDIATE @ONLY)
|
|
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/smart.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/smart"
|
|
IMMEDIATE @ONLY)
|
|
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/control.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/control"
|
|
IMMEDIATE @ONLY)
|
|
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/static/start.html.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/static/start.html"
|
|
IMMEDIATE @ONLY)
|
|
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/mars-nwe-webui.service.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/mars-nwe-webui.service"
|
|
@ONLY
|
|
)
|
|
|
|
|
|
#################################
|
|
# Compiler Switches
|
|
##############
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
${CMAKE_SOURCE_DIR}/include
|
|
${CMAKE_BINARY_DIR}/include
|
|
)
|
|
|
|
#################################
|
|
# Source Files
|
|
##############
|
|
|
|
add_executable(nwwebui nwwebui.c)
|
|
add_executable(check_login check_login.c)
|
|
|
|
#################################
|
|
# Linking
|
|
##############
|
|
|
|
target_link_libraries(nwwebui
|
|
OpenSSL::SSL
|
|
OpenSSL::Crypto
|
|
)
|
|
|
|
target_link_libraries(check_login
|
|
${PAM_LIBRARY}
|
|
${DL_LIBRARY}
|
|
)
|
|
|
|
#################################
|
|
# Install Files
|
|
##############
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/smart.conf DESTINATION ${MARS_NWE_INSTALL_FULL_CONFDIR})
|
|
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/smart DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR})
|
|
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/control DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR})
|
|
install(FILES smart.pamd DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/pam.d RENAME smart)
|
|
|
|
install(PROGRAMS apply.pl DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR})
|
|
install(PROGRAMS readconfig.pl DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR})
|
|
install(PROGRAMS settings.pl DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR})
|
|
install(PROGRAMS static.pl DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR})
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/static/start.html DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/menu.html DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/smart_icon.jpg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/smart.jpg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/favicon.ico DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/favicon-32x32.png DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/favicon-16x16.png DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/apple-touch-icon.png DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-start.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-service.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-general.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-dirs.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-configh.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-security.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-susers.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-volumes.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-devices.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-logging.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-smart.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-stations.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-users.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-groups.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
install(FILES static/icon-queues.svg DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR}/static)
|
|
|
|
if(WITH_SYSTEMD)
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mars-nwe-webui.service DESTINATION ${SYSTEMD_SERVICES_INSTALL_DIR})
|
|
endif()
|
|
|
|
install(TARGETS check_login DESTINATION ${MARS_NWE_INSTALL_FULL_LIBEXECDIR})
|
|
|
|
install(TARGETS nwwebui DESTINATION ${CMAKE_INSTALL_SBINDIR})
|
|
|