30 lines
1 KiB
CMake
30 lines
1 KiB
CMake
cmake_minimum_required(VERSION 3.6)
|
|
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE)
|
|
|
|
project(
|
|
nmrpflash
|
|
VERSION 0.9.25
|
|
LANGUAGES C
|
|
)
|
|
|
|
set(PROJECT_SOURCE_DIR ${CMAKE_SOURCE_DIR})
|
|
add_executable(nmrpflash main.c nmrp.c tftp.c util.c ethsock.c)
|
|
target_compile_definitions(nmrpflash PUBLIC -DNMRPFLASH_VERSION=\"${nmrpflash_VERSION}\")
|
|
|
|
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
target_link_libraries(nmrpflash -lpcap "-framework CoreFoundation")
|
|
elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
target_link_libraries(nmrpflash -lwpcap -lPacket -liphlpapi -lws2_32 -ladvapi32)
|
|
target_include_directories(nmrpflash ./Npcap/Include/)
|
|
if (CMAKE_SIZE_OF_VOID_P EQUAL 4)
|
|
target_link_directories(nmrpflash ./Npcap/Lib/)
|
|
else()
|
|
target_link_directories(nmrpflash ./Npcap/Lib/x64)
|
|
endif()
|
|
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
find_package(PkgConfig)
|
|
pkg_check_modules(NLROUTE REQUIRED IMPORTED_TARGET libnl-route-3.0)
|
|
target_link_libraries(nmrpflash PkgConfig::NLROUTE})
|
|
else()
|
|
set(nmrpflash_LIBS -lpcap)
|
|
endif()
|