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)