mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2024-11-22 17:39:53 +03:00
Merge pull request #757 from davidebeatrici/cmake-no-build-subdirectories
Merge PR #757: CMake: build all targets in the same directory, so that "hamcore.se2" doesn't have to be copied for each of them
This commit is contained in:
commit
cf6eef4841
@ -58,7 +58,7 @@ matrix:
|
|||||||
script:
|
script:
|
||||||
- ./configure
|
- ./configure
|
||||||
- make -C tmp
|
- make -C tmp
|
||||||
- otool -L build/vpnserver/vpnserver
|
- otool -L build/vpnserver
|
||||||
- sudo make -C tmp install
|
- sudo make -C tmp install
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
@ -83,6 +83,6 @@ script:
|
|||||||
- export LDFLAGS="-L${HOME}/opt/lib"
|
- export LDFLAGS="-L${HOME}/opt/lib"
|
||||||
- ./configure
|
- ./configure
|
||||||
- make -C tmp
|
- make -C tmp
|
||||||
- ldd build/vpnserver/vpnserver
|
- ldd build/vpnserver
|
||||||
- sudo LD_LIBRARY_PATH="${HOME}/opt/lib:${LD_LIBRARY_PATH:-}" make -C tmp install
|
- sudo LD_LIBRARY_PATH="${HOME}/opt/lib:${LD_LIBRARY_PATH:-}" make -C tmp install
|
||||||
- if [ "${BUILD_DEB}" = "1" ]; then make package -C tmp; fi
|
- if [ "${BUILD_DEB}" = "1" ]; then make package -C tmp; fi
|
||||||
|
@ -101,106 +101,28 @@ add_subdirectory(hamcorebuilder)
|
|||||||
|
|
||||||
# vpnserver
|
# vpnserver
|
||||||
add_subdirectory(vpnserver)
|
add_subdirectory(vpnserver)
|
||||||
get_target_property(VPNSERVER_RUNTIME_OUTPUT_DIRECTORY vpnserver RUNTIME_OUTPUT_DIRECTORY)
|
|
||||||
|
|
||||||
# vpnclient
|
# vpnclient
|
||||||
add_subdirectory(vpnclient)
|
add_subdirectory(vpnclient)
|
||||||
get_target_property(VPNCLIENT_RUNTIME_OUTPUT_DIRECTORY vpnclient RUNTIME_OUTPUT_DIRECTORY)
|
|
||||||
|
|
||||||
# vpnbridge
|
# vpnbridge
|
||||||
add_subdirectory(vpnbridge)
|
add_subdirectory(vpnbridge)
|
||||||
get_target_property(VPNBRIDGE_RUNTIME_OUTPUT_DIRECTORY vpnbridge RUNTIME_OUTPUT_DIRECTORY)
|
|
||||||
|
|
||||||
# vpncmd
|
# vpncmd
|
||||||
add_subdirectory(vpncmd)
|
add_subdirectory(vpncmd)
|
||||||
get_target_property(VPNCMD_RUNTIME_OUTPUT_DIRECTORY vpncmd RUNTIME_OUTPUT_DIRECTORY)
|
|
||||||
|
|
||||||
# vpntest
|
# vpntest
|
||||||
add_subdirectory(vpntest)
|
add_subdirectory(vpntest)
|
||||||
get_target_property(VPNTEST_RUNTIME_OUTPUT_DIRECTORY vpntest RUNTIME_OUTPUT_DIRECTORY)
|
|
||||||
|
|
||||||
# hamcore.se2 archive file
|
# hamcore.se2 archive file
|
||||||
add_custom_target(hamcore-archive-build
|
add_custom_target(hamcore-archive-build
|
||||||
ALL
|
ALL
|
||||||
COMMAND hamcorebuilder ${CMAKE_SOURCE_DIR}/src/bin/hamcore/ ${CMAKE_SOURCE_DIR}/tmp/hamcore.se2
|
COMMAND hamcorebuilder "${CMAKE_SOURCE_DIR}/src/bin/hamcore/" "${BUILD_DIRECTORY}/hamcore.se2"
|
||||||
DEPENDS hamcorebuilder
|
DEPENDS hamcorebuilder
|
||||||
COMMENT "Building hamcore.se2 archive file..."
|
COMMENT "Building hamcore.se2 archive file..."
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
|
|
||||||
# Copy hamcore.se2 to vpnserver's directory
|
|
||||||
add_custom_command(TARGET hamcore-archive-build
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/tmp/hamcore.se2 ${VPNSERVER_RUNTIME_OUTPUT_DIRECTORY}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Copy hamcore.se2 to vpnclient's directory
|
|
||||||
add_custom_command(TARGET hamcore-archive-build
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/tmp/hamcore.se2 ${VPNCLIENT_RUNTIME_OUTPUT_DIRECTORY}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Copy hamcore.se2 to vpnbridge's directory
|
|
||||||
add_custom_command(TARGET hamcore-archive-build
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/tmp/hamcore.se2 ${VPNBRIDGE_RUNTIME_OUTPUT_DIRECTORY}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Copy hamcore.se2 to vpncmd's directory
|
|
||||||
add_custom_command(TARGET hamcore-archive-build
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/tmp/hamcore.se2 ${VPNCMD_RUNTIME_OUTPUT_DIRECTORY}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Copy hamcore.se2 to vpntest's directory
|
|
||||||
add_custom_command(TARGET hamcore-archive-build
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/tmp/hamcore.se2 ${VPNTEST_RUNTIME_OUTPUT_DIRECTORY}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Copy "vpnserver" directory to /usr/lib(exec)/softether/, install launch script and systemd service
|
|
||||||
install(DIRECTORY ${VPNSERVER_RUNTIME_OUTPUT_DIRECTORY}
|
|
||||||
COMPONENT "vpnserver"
|
|
||||||
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether"
|
|
||||||
PATTERN "*"
|
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
|
||||||
)
|
|
||||||
|
|
||||||
install_wrapper_script("vpnserver" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnserver/vpnserver")
|
|
||||||
install_systemd_service("vpnserver" "${CMAKE_SOURCE_DIR}/systemd/softether-vpnserver.service" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnserver/vpnserver")
|
|
||||||
|
|
||||||
# Copy "vpnclient" directory to /usr/lib(exec)/softether/, install launch script and systemd service
|
|
||||||
install(DIRECTORY ${VPNCLIENT_RUNTIME_OUTPUT_DIRECTORY}
|
|
||||||
COMPONENT "vpnclient"
|
|
||||||
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether"
|
|
||||||
PATTERN "*"
|
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
|
||||||
)
|
|
||||||
|
|
||||||
install_wrapper_script("vpnclient" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnclient/vpnclient")
|
|
||||||
install_systemd_service("vpnclient" "${CMAKE_SOURCE_DIR}/systemd/softether-vpnclient.service" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnclient/vpnclient")
|
|
||||||
|
|
||||||
# Copy "vpnbridge" directory to /usr/lib(exec)/softether/, install launch script and systemd service
|
|
||||||
install(DIRECTORY ${VPNBRIDGE_RUNTIME_OUTPUT_DIRECTORY}
|
|
||||||
COMPONENT "vpnbridge"
|
|
||||||
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether"
|
|
||||||
PATTERN "*"
|
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
|
||||||
)
|
|
||||||
|
|
||||||
install_wrapper_script("vpnbridge" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnbridge/vpnbridge")
|
|
||||||
install_systemd_service("vpnbridge" "${CMAKE_SOURCE_DIR}/systemd/softether-vpnbridge.service" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnbridge/vpnbridge")
|
|
||||||
|
|
||||||
# Copy "vpncmd" directory to /usr/lib(exec)/softether/, install launch script and systemd service
|
|
||||||
install(DIRECTORY ${VPNCMD_RUNTIME_OUTPUT_DIRECTORY}
|
|
||||||
COMPONENT "vpncmd"
|
|
||||||
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether"
|
|
||||||
PATTERN "*"
|
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
|
||||||
)
|
|
||||||
|
|
||||||
install_wrapper_script("vpncmd" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpncmd/vpncmd")
|
|
||||||
|
|
||||||
# Print message after installing the targets
|
# Print message after installing the targets
|
||||||
install(CODE "message(\"\n----------------------------------------------------------------------------------------------------------------------------\")")
|
install(CODE "message(\"\n----------------------------------------------------------------------------------------------------------------------------\")")
|
||||||
install(CODE "message(\"Build completed successfully.\n\")")
|
install(CODE "message(\"Build completed successfully.\n\")")
|
||||||
|
@ -2,9 +2,25 @@ add_executable(vpnbridge vpnbridge.c)
|
|||||||
|
|
||||||
set_target_properties(vpnbridge
|
set_target_properties(vpnbridge
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpnbridge"
|
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpnbridge"
|
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpnbridge"
|
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(vpnbridge cedar mayaqua)
|
target_link_libraries(vpnbridge cedar mayaqua)
|
||||||
|
|
||||||
|
# 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")
|
||||||
|
install_systemd_service("vpnbridge" "${CMAKE_SOURCE_DIR}/systemd/softether-vpnbridge.service" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnbridge/vpnbridge")
|
||||||
|
@ -2,9 +2,25 @@ add_executable(vpnclient vpncsvc.c)
|
|||||||
|
|
||||||
set_target_properties(vpnclient
|
set_target_properties(vpnclient
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpnclient"
|
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpnclient"
|
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpnclient"
|
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(vpnclient cedar mayaqua)
|
target_link_libraries(vpnclient cedar mayaqua)
|
||||||
|
|
||||||
|
# Copy binary and "hamcore.se2" to /usr/lib(exec)/softether/, install launch script and systemd service
|
||||||
|
install(TARGETS vpnclient
|
||||||
|
COMPONENT "vpnclient"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether/vpnclient"
|
||||||
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||||
|
)
|
||||||
|
|
||||||
|
install(FILES "${BUILD_DIRECTORY}/hamcore.se2"
|
||||||
|
COMPONENT "vpnclient"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether/vpnclient"
|
||||||
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||||
|
)
|
||||||
|
|
||||||
|
install_wrapper_script("vpnclient" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnclient/vpnclient")
|
||||||
|
install_systemd_service("vpnclient" "${CMAKE_SOURCE_DIR}/systemd/softether-vpnclient.service" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnclient/vpnclient")
|
||||||
|
@ -2,9 +2,24 @@ add_executable(vpncmd vpncmd.c)
|
|||||||
|
|
||||||
set_target_properties(vpncmd
|
set_target_properties(vpncmd
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpncmd"
|
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpncmd"
|
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpncmd"
|
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(vpncmd cedar mayaqua)
|
target_link_libraries(vpncmd cedar mayaqua)
|
||||||
|
|
||||||
|
# Copy binary and "hamcore.se2" to /usr/lib(exec)/softether/, install launch script
|
||||||
|
install(TARGETS vpncmd
|
||||||
|
COMPONENT "vpncmd"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether/vpncmd"
|
||||||
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||||
|
)
|
||||||
|
|
||||||
|
install(FILES "${BUILD_DIRECTORY}/hamcore.se2"
|
||||||
|
COMPONENT "vpncmd"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether/vpncmd"
|
||||||
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||||
|
)
|
||||||
|
|
||||||
|
install_wrapper_script("vpncmd" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpncmd/vpncmd")
|
||||||
|
@ -2,9 +2,25 @@ add_executable(vpnserver vpnserver.c)
|
|||||||
|
|
||||||
set_target_properties(vpnserver
|
set_target_properties(vpnserver
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpnserver"
|
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpnserver"
|
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpnserver"
|
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(vpnserver cedar mayaqua)
|
target_link_libraries(vpnserver cedar mayaqua)
|
||||||
|
|
||||||
|
# Copy binary and "hamcore.se2" to /usr/lib(exec)/softether/, install launch script and systemd service
|
||||||
|
install(TARGETS vpnserver
|
||||||
|
COMPONENT "vpnserver"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether/vpnserver"
|
||||||
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||||
|
)
|
||||||
|
|
||||||
|
install(FILES "${BUILD_DIRECTORY}/hamcore.se2"
|
||||||
|
COMPONENT "vpnserver"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/softether/vpnserver"
|
||||||
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||||
|
)
|
||||||
|
|
||||||
|
install_wrapper_script("vpnserver" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnserver/vpnserver")
|
||||||
|
install_systemd_service("vpnserver" "${CMAKE_SOURCE_DIR}/systemd/softether-vpnserver.service" "${CMAKE_INSTALL_FULL_LIBEXECDIR}/softether/vpnserver/vpnserver")
|
||||||
|
@ -2,9 +2,9 @@ add_executable(vpntest vpntest.c vpntest.h)
|
|||||||
|
|
||||||
set_target_properties(vpntest
|
set_target_properties(vpntest
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpntest"
|
ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpntest"
|
LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/vpntest"
|
RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}"
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(vpntest cedar mayaqua)
|
target_link_libraries(vpntest cedar mayaqua)
|
||||||
|
Loading…
Reference in New Issue
Block a user