59 строки
1.5 KiB
CMake
59 строки
1.5 KiB
CMake
set(LIBNAME "Net")
|
|
set(POCO_LIBNAME "Poco${LIBNAME}")
|
|
|
|
# Sources
|
|
file(GLOB SRCS_G "src/*.cpp")
|
|
POCO_SOURCES_AUTO( SRCS ${SRCS_G})
|
|
|
|
# Headers
|
|
file(GLOB_RECURSE HDRS_G "include/*.h" )
|
|
POCO_HEADERS_AUTO( SRCS ${HDRS_G})
|
|
|
|
# Windows and WindowsCE need additional libraries
|
|
if(WIN32)
|
|
if(WINCE)
|
|
set(SYSLIBS ${SYSLIBS} "ws2.lib" "iphlpapi.lib")
|
|
else()
|
|
set(SYSLIBS ${SYSLIBS} "ws2_32.lib" "iphlpapi.lib")
|
|
endif()
|
|
endif(WIN32)
|
|
|
|
add_library( "${LIBNAME}" ${LIB_MODE} ${SRCS} )
|
|
add_library( "${POCO_LIBNAME}" ALIAS "${LIBNAME}")
|
|
set_target_properties( "${LIBNAME}"
|
|
PROPERTIES
|
|
VERSION ${SHARED_LIBRARY_VERSION} SOVERSION ${SHARED_LIBRARY_VERSION}
|
|
OUTPUT_NAME ${POCO_LIBNAME}
|
|
DEFINE_SYMBOL Net_EXPORTS
|
|
)
|
|
|
|
target_link_libraries( "${LIBNAME}" Foundation ${SYSLIBS})
|
|
target_include_directories( "${LIBNAME}"
|
|
PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
$<INSTALL_INTERFACE:include>
|
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
|
|
)
|
|
install(
|
|
DIRECTORY include/Poco
|
|
DESTINATION include
|
|
COMPONENT Devel
|
|
PATTERN ".svn" EXCLUDE
|
|
)
|
|
|
|
install(
|
|
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
|
|
LIBRARY DESTINATION lib${LIB_SUFFIX}
|
|
ARCHIVE DESTINATION lib${LIB_SUFFIX}
|
|
RUNTIME DESTINATION bin
|
|
INCLUDES DESTINATION include
|
|
)
|
|
|
|
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
|
|
|
|
if (ENABLE_TESTS)
|
|
add_subdirectory(samples)
|
|
add_subdirectory(testsuite)
|
|
endif ()
|
|
|