mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2026-02-18 00:20:08 +03:00
Currently the systemd service unit files are installed
into /lib/systemd/system if that directory exists. This
might not be optimal for every user, e.g. when the build
system is not the target system or when building as an
unprivileged user using CMAKE_INSTALL_PREFIX.
Make this configurable by adding a cached cmake variable
CMAKE_INSTALL_SYSTEMD_UNITDIR. Usage:
- install unit files into /lib/systemd/system if it exists (old
behavior)
cmake
- don't install unit files
cmake -D CMAKE_INSTALL_SYSTEMD_UNITDIR=
- install into absolute path
cmake -D CMAKE_INSTALL_SYSTEMD_UNITDIR=/path
- install into path relative to ${CMAKE_INSTALL_PREFIX}
cmake -D CMAKE_INSTALL_SYSTEMD_UNITDIR=path
52 lines
1.8 KiB
CMake
52 lines
1.8 KiB
CMake
set(COMPONENT_NAME "Bridge")
|
|
set(COMPONENT_INTERNAL_NAME "vpnbridge")
|
|
|
|
add_executable(vpnbridge vpnbridge.c)
|
|
|
|
set_target_properties(vpnbridge
|
|
PROPERTIES
|
|
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
|
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
|
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
|
)
|
|
|
|
if(WIN32)
|
|
set_target_properties(vpnbridge
|
|
PROPERTIES
|
|
PDB_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
|
)
|
|
|
|
get_filename_component(COMPONENT_FILE_NAME vpnbridge NAME)
|
|
set(COMPONENT_FILE_NAME "${COMPONENT_FILE_NAME}.exe")
|
|
|
|
configure_file("${TOP_DIRECTORY}/src/BuildFiles/VerScript/ver.rc" "${CMAKE_BINARY_DIR}/VerScript/vpnbridge.rc")
|
|
target_sources(vpnbridge PRIVATE vpnbridge.rc "${CMAKE_BINARY_DIR}/VerScript/vpnbridge.rc")
|
|
endif()
|
|
|
|
target_link_libraries(vpnbridge cedar mayaqua)
|
|
|
|
if(UNIX)
|
|
# Copy binary and "hamcore.se2" to /usr/lib(exec)/softether/, install launch script and systemd service
|
|
install(TARGETS vpnbridge
|
|
COMPONENT "vpnbridge"
|
|
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether/vpnbridge"
|
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
|
)
|
|
|
|
install(FILES "${BUILD_DIRECTORY}/hamcore.se2"
|
|
COMPONENT "vpnbridge"
|
|
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether/vpnbridge"
|
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
)
|
|
|
|
install_wrapper_script("vpnbridge" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnbridge/vpnbridge")
|
|
if(NOT "${CMAKE_INSTALL_SYSTEMD_UNITDIR}" STREQUAL "")
|
|
configure_file(${TOP_DIRECTORY}/systemd/softether-vpnbridge.service ${CMAKE_BINARY_DIR}/systemd/softether-vpnbridge.service)
|
|
install(FILES ${CMAKE_BINARY_DIR}/systemd/softether-vpnbridge.service
|
|
COMPONENT "vpnbridge"
|
|
DESTINATION ${CMAKE_INSTALL_SYSTEMD_UNITDIR}
|
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
)
|
|
endif()
|
|
endif()
|