Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ else()
endif()

add_library(swiftnet STATIC ${SOURCE_FILES})
add_library(swiftnet_shared SHARED ${SOURCE_FILES})

if (SWIFT_NET_INTERNAL_TESTING)
message("Internal Testing Enabled")
Expand All @@ -58,11 +59,17 @@ if (SWIFT_NET_INTERNAL_TESTING)

target_compile_options(swiftnet PRIVATE -O0)
target_link_options(swiftnet PRIVATE -O0)

target_compile_options(swiftnet_shared PRIVATE -O0)
target_link_options(swiftnet_shared PRIVATE -O0)
else()
message("Internal Testing Disabled")

target_compile_options(swiftnet PRIVATE -O3)
target_link_options(swiftnet PRIVATE -O3)

target_compile_options(swiftnet_shared PRIVATE -O3)
target_link_options(swiftnet_shared PRIVATE -O3)
endif()

if(DEFINED ENV{VCPKG_ROOT} AND DEFINED CMAKE_VCPKG_TARGET_TRIPLET)
Expand All @@ -80,11 +87,15 @@ if(DEFINED ENV{VCPKG_ROOT} AND DEFINED CMAKE_VCPKG_TARGET_TRIPLET)
message(STATUS "libpcap found: ${PCAP_LIBRARY}")
target_include_directories(swiftnet PUBLIC ${PCAP_INCLUDE_DIR})
target_link_libraries(swiftnet PUBLIC ${PCAP_LIBRARY})

target_include_directories(swiftnet_shared PUBLIC ${PCAP_INCLUDE_DIR})
target_link_libraries(swiftnet_shared PUBLIC ${PCAP_LIBRARY})
else()
message(WARNING "libpcap not found!!!")
endif()
else()
target_link_options(swiftnet PRIVATE -lpcap)
target_link_options(swiftnet_shared PRIVATE -lpcap)

message("using linking option: -lpcap")
endif()
Expand All @@ -95,6 +106,12 @@ set_target_properties(swiftnet PROPERTIES
PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/swift_net.h"
)

set_target_properties(swiftnet_shared PROPERTIES
OUTPUT_NAME "swiftnet"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/output"
PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/swift_net.h"
)

add_custom_target(clean_objects
COMMAND ${CMAKE_COMMAND} -E rm -f ${OBJ_DIR}/output/*.o
COMMENT "Cleaning up object files"
Expand Down
Loading