mirror of https://github.com/PurpleI2P/i2pd.git
I2P: End-to-End encrypted and anonymous Internet
https://i2pd.website/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.9 KiB
63 lines
1.9 KiB
set(CLIENT_SRC |
|
"BOB.cpp" |
|
"ClientContext.cpp" |
|
"Daemon.cpp" |
|
"HTTPProxy.cpp" |
|
"HTTPServer.cpp" |
|
"I2PService.cpp" |
|
"i2pcontrol/I2PControl.cpp" |
|
"i2pcontrol/I2PControlServer.cpp" |
|
"I2PTunnel.cpp" |
|
"SAM.cpp" |
|
"SOCKS.cpp" |
|
"i2p.cpp" |
|
) |
|
|
|
include_directories(".") |
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux") |
|
list(APPEND CLIENT_SRC "DaemonLinux.cpp") |
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") |
|
list(APPEND CLIENT_SRC "DaemonLinux.cpp") |
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") |
|
list(APPEND CLIENT_SRC "DaemonLinux.cpp") |
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") |
|
list(APPEND CLIENT_SRC "DaemonLinux.cpp") |
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") |
|
list(APPEND CLIENT_SRC "DaemonWin32.cpp") |
|
list(APPEND CLIENT_SRC "Win32Service.cpp") |
|
endif() |
|
|
|
if(WITH_BINARY) |
|
add_executable(${CLIENT_NAME} ${CLIENT_SRC}) |
|
if(NOT MSVC) # FIXME: incremental linker file name (.ilk) collision for dll & exe |
|
set_target_properties(${CLIENT_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}") |
|
if(WITH_STATIC) |
|
set_target_properties(${CLIENT_NAME} PROPERTIES LINK_FLAGS "-static" ) |
|
endif() |
|
endif() |
|
|
|
if(WITH_HARDENING AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") |
|
set_target_properties(${CLIENT_NAME} PROPERTIES LINK_FLAGS "-z relro -z now") |
|
endif() |
|
|
|
# FindBoost pulls pthread for thread which is broken for static linking |
|
# (at least on Ubuntu 15.04) |
|
list(GET Boost_LIBRARIES -1 LAST_Boost_LIBRARIES) |
|
if(${LAST_Boost_LIBRARIES} MATCHES ".*pthread.*") |
|
list(REMOVE_AT Boost_LIBRARIES -1) |
|
endif() |
|
target_link_libraries( |
|
${CLIENT_NAME} ${CORE_NAME} |
|
${DL_LIB} ${Boost_LIBRARIES} ${CRYPTO++_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} |
|
) |
|
|
|
install(TARGETS |
|
${CLIENT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |
|
) |
|
if(MSVC) |
|
install(FILES |
|
$<TARGET_PDB_FILE:${CLIENT_NAME}> DESTINATION "bin" CONFIGURATIONS DEBUG |
|
) |
|
endif() |
|
endif()
|
|
|