mirror of https://github.com/oxen-io/lokinet
Split cmake files for executables into src dirs
This commit is contained in:
parent
7780fe0278
commit
abc527ca35
|
@ -198,9 +198,6 @@ endif(NOT GIT_VERSION)
|
|||
string(REGEX REPLACE "^fatal.*$" nogit GIT_VERSION_REAL "${GIT_VERSION}")
|
||||
add_definitions("-DGIT_REV=\"${GIT_VERSION_REAL}\"")
|
||||
|
||||
set(EXE lokinet)
|
||||
set(EXE_SRC daemon/main.cpp)
|
||||
|
||||
# HeapAlloc(2) on Windows was significantly revamped in 2009
|
||||
# but the old algorithm isn't too bad either
|
||||
# this is _the_ system allocator on BSD UNIX
|
||||
|
@ -232,80 +229,16 @@ set(LIBS ${MALLOC_LIB} ${FS_LIB} ${LIBUV_LIBRARY})
|
|||
add_subdirectory(crypto)
|
||||
add_subdirectory(llarp)
|
||||
add_subdirectory(libabyss)
|
||||
add_subdirectory(daemon)
|
||||
|
||||
if (NOT WIN32)
|
||||
add_executable(${ABYSS_EXE} ${ABYSS}/main.cpp)
|
||||
target_link_libraries(${ABYSS_EXE} PUBLIC ${ABYSS_LIB} Threads::Threads ${LIBS})
|
||||
elseif(NOT MSVC_VERSION)
|
||||
add_executable(${ABYSS_EXE} ${ABYSS}/main.cpp llarp/win32/abyss.rc)
|
||||
target_link_libraries(${ABYSS_EXE} PUBLIC ${ABYSS_LIB} ${STATIC_LIB} ws2_32)
|
||||
else()
|
||||
add_executable(${ABYSS_EXE} ${ABYSS}/main.cpp)
|
||||
target_link_libraries(${ABYSS_EXE} PUBLIC ${ABYSS_LIB} ${STATIC_LIB} ws2_32)
|
||||
endif(NOT WIN32)
|
||||
|
||||
# Why does abyss not inherit the existing include folders?
|
||||
target_include_directories(${ABYSS_LIB} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/${ABYSS}/include" llarp vendor/nlohmann/include include crypto/include)
|
||||
target_include_directories(${ABYSS_EXE} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/${ABYSS}/include" llarp vendor/nlohmann/include include crypto/include)
|
||||
|
||||
# for freebsd
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
target_link_directories(${ABYSS_EXE} PRIVATE /usr/local/lib)
|
||||
target_include_directories(${ABYSS_LIB} SYSTEM PUBLIC /usr/local/include)
|
||||
endif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
add_log_tag(${ABYSS_EXE})
|
||||
add_log_tag(${ABYSS_LIB})
|
||||
|
||||
|
||||
if(SHADOW)
|
||||
set(LOKINET_SHADOW shadow-plugin-${SHARED_LIB})
|
||||
set(LOKINET_SHADOW_LIBS ${SHARED_LIB})
|
||||
add_shadow_plugin(${LOKINET_SHADOW} ${EXE_SRC})
|
||||
target_link_libraries(${LOKINET_SHADOW} ${LOKINET_SHADOW_LIBS})
|
||||
target_include_directories(${LOKINET_SHADOW} PUBLIC ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/llarp ${PROJECT_SOURCE_DIR}/crypto/include)
|
||||
else()
|
||||
if(NOT WIN32)
|
||||
add_executable(${EXE} ${EXE_SRC})
|
||||
add_executable(lokinet-rcutil daemon/rcutil.cpp)
|
||||
elseif(NOT MSVC_VERSION)
|
||||
add_executable(${EXE} ${EXE_SRC} llarp/win32/version.rc)
|
||||
add_executable(lokinet-rcutil daemon/rcutil.cpp llarp/win32/version.rc)
|
||||
else()
|
||||
add_executable(${EXE} ${EXE_SRC})
|
||||
add_executable(lokinet-rcutil daemon/rcutil.cpp)
|
||||
endif(NOT WIN32)
|
||||
|
||||
add_log_tag(${EXE})
|
||||
add_log_tag(lokinet-rcutil)
|
||||
|
||||
install(TARGETS ${EXE} RUNTIME DESTINATION bin)
|
||||
install(TARGETS lokinet-rcutil RUNTIME DESTINATION bin)
|
||||
if(WIN32)
|
||||
install(PROGRAMS ${CMAKE_SOURCE_DIR}/lokinet-bootstrap.exe DESTINATION bin)
|
||||
else()
|
||||
install(PROGRAMS ${CMAKE_SOURCE_DIR}/lokinet-bootstrap DESTINATION bin)
|
||||
endif()
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
install(CODE "execute_process(COMMAND setcap cap_net_admin,cap_net_bind_service=+eip ${CMAKE_INSTALL_PREFIX}/bin/lokinet)")
|
||||
endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
target_link_directories(${EXE} PRIVATE /usr/local/lib)
|
||||
target_link_directories(lokinet-rcutil PRIVATE /usr/local/lib)
|
||||
endif()
|
||||
target_link_libraries(${EXE} PUBLIC ${EXE_LIBS} ${LIBS})
|
||||
target_link_libraries(lokinet-rcutil PUBLIC ${EXE_LIBS} ${LIBS})
|
||||
enable_testing()
|
||||
|
||||
if (NOT SHADOW)
|
||||
add_subdirectory(test)
|
||||
if(ANDROID)
|
||||
add_library(${ANDROID_LIB} SHARED jni/lokinet_android.cpp)
|
||||
set_property(TARGET ${ANDROID_LIB} PROPERTY CXX_STANDARD 14)
|
||||
add_log_tag(${ANDROID_LIB})
|
||||
target_link_libraries(${ANDROID_LIB} ${STATIC_LIB} ${LIBS})
|
||||
endif(ANDROID)
|
||||
endif(SHADOW)
|
||||
|
||||
enable_testing()
|
||||
|
||||
if (NOT SHADOW)
|
||||
add_subdirectory(test)
|
||||
endif()
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
set(EXE lokinet)
|
||||
set(EXE_SRC main.cpp)
|
||||
|
||||
if(SHADOW)
|
||||
set(LOKINET_SHADOW shadow-plugin-${SHARED_LIB})
|
||||
set(LOKINET_SHADOW_LIBS ${SHARED_LIB})
|
||||
add_shadow_plugin(${LOKINET_SHADOW} ${EXE_SRC})
|
||||
target_link_libraries(${LOKINET_SHADOW} ${LOKINET_SHADOW_LIBS})
|
||||
target_include_directories(${LOKINET_SHADOW} PUBLIC ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/llarp ${PROJECT_SOURCE_DIR}/crypto/include)
|
||||
else()
|
||||
if(NOT WIN32)
|
||||
add_executable(${EXE} ${EXE_SRC})
|
||||
add_executable(lokinet-rcutil rcutil.cpp)
|
||||
elseif(NOT MSVC_VERSION)
|
||||
add_executable(${EXE} ${EXE_SRC} llarp/win32/version.rc)
|
||||
add_executable(lokinet-rcutil rcutil.cpp llarp/win32/version.rc)
|
||||
else()
|
||||
add_executable(${EXE} ${EXE_SRC})
|
||||
add_executable(lokinet-rcutil rcutil.cpp)
|
||||
endif(NOT WIN32)
|
||||
|
||||
add_log_tag(${EXE})
|
||||
add_log_tag(lokinet-rcutil)
|
||||
|
||||
install(TARGETS ${EXE} RUNTIME DESTINATION bin)
|
||||
install(TARGETS lokinet-rcutil RUNTIME DESTINATION bin)
|
||||
if(WIN32)
|
||||
install(PROGRAMS ${CMAKE_SOURCE_DIR}/lokinet-bootstrap.exe DESTINATION bin)
|
||||
else()
|
||||
install(PROGRAMS ${CMAKE_SOURCE_DIR}/lokinet-bootstrap DESTINATION bin)
|
||||
endif()
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
install(CODE "execute_process(COMMAND setcap cap_net_admin,cap_net_bind_service=+eip ${CMAKE_INSTALL_PREFIX}/bin/lokinet)")
|
||||
endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
target_link_directories(${EXE} PRIVATE /usr/local/lib)
|
||||
target_link_directories(lokinet-rcutil PRIVATE /usr/local/lib)
|
||||
endif()
|
||||
target_link_libraries(${EXE} PUBLIC ${EXE_LIBS} ${LIBS})
|
||||
target_link_libraries(lokinet-rcutil PUBLIC ${EXE_LIBS} ${LIBS})
|
||||
endif(SHADOW)
|
|
@ -4,6 +4,24 @@ add_library(${ABYSS_LIB} "${CMAKE_CURRENT_SOURCE_DIR}/src/md5.cpp"
|
|||
"${CMAKE_CURRENT_SOURCE_DIR}/src/server.cpp")
|
||||
|
||||
target_include_directories(${ABYSS_LIB} PUBLIC include)
|
||||
|
||||
if(NOT WIN32)
|
||||
target_link_libraries(${ABYSS_LIB} PUBLIC ${PLATFORM_LIB} ${LIBUV_LIBRARY})
|
||||
endif()
|
||||
add_executable(${ABYSS_EXE} main.cpp)
|
||||
target_link_libraries(${ABYSS_EXE} PUBLIC ${ABYSS_LIB} Threads::Threads ${LIBS})
|
||||
elseif(NOT MSVC_VERSION)
|
||||
add_executable(${ABYSS_EXE} main.cpp llarp/win32/abyss.rc)
|
||||
target_link_libraries(${ABYSS_EXE} PUBLIC ${ABYSS_LIB} ${STATIC_LIB} ws2_32)
|
||||
else()
|
||||
add_executable(${ABYSS_EXE} main.cpp)
|
||||
target_link_libraries(${ABYSS_EXE} PUBLIC ${ABYSS_LIB} ${STATIC_LIB} ws2_32)
|
||||
endif(NOT WIN32)
|
||||
|
||||
# for freebsd
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
target_link_directories(${ABYSS_EXE} PRIVATE /usr/local/lib)
|
||||
target_include_directories(${ABYSS_LIB} SYSTEM PUBLIC /usr/local/include)
|
||||
endif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
|
||||
add_log_tag(${ABYSS_EXE})
|
||||
add_log_tag(${ABYSS_LIB})
|
||||
|
|
Loading…
Reference in New Issue