--- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,50 @@ +cmake_minimum_required(VERSION 2.8.12) + +if(POLICY CMP0048) + cmake_policy(SET CMP0048 NEW) +endif() + +project(natpmp C) + +set (NATPMP_VERSION 20150609) +set (NATPMP_API_VERSION 1) + +set (NATPMP_SOURCES + natpmp.c + getgateway.c +) + +if (WIN32) + set (NATPMP_SOURCES ${NATPMP_SOURCES} wingettimeofday.c) +endif (WIN32) + +# Library itself +add_library(natpmp SHARED ${NATPMP_SOURCES}) +set_target_properties (natpmp PROPERTIES OUTPUT_NAME "natpmp") +set_target_properties (natpmp PROPERTIES VERSION ${NATPMP_VERSION}) +set_target_properties (natpmp PROPERTIES SOVERSION ${NATPMP_API_VERSION}) +target_compile_definitions(natpmp PRIVATE -DENABLE_STRNATPMPERR) +target_include_directories(natpmp PUBLIC ${CMAKE_CURRENT_LIST_DIR}) + +if (WIN32) + target_link_libraries(natpmp PUBLIC ws2_32 Iphlpapi) + target_compile_definitions(natpmp PUBLIC -DNATPMP_STATICLIB) +endif (WIN32) + +install(TARGETS natpmp + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) + +# Executables +add_executable(natpmpc natpmpc.c) +target_link_libraries(natpmpc natpmp) + +install(FILES natpmpc DESTINATION bin) + +add_executable(testgetgateway + testgetgateway.c + getgateway.c) +target_link_libraries(testgetgateway natpmp) + +install(FILES natpmp.h DESTINATION include)