Merge pull request #19 from rexy712/master
Add a pkg-config file to the project.
This commit is contained in:
commit
7b4074dab2
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,3 +3,5 @@ cmake-build-debug
|
|||||||
cmake-build-release
|
cmake-build-release
|
||||||
|
|
||||||
CMakeCache\.txt
|
CMakeCache\.txt
|
||||||
|
pc/frnetlib.pc
|
||||||
|
include/frnetlib/version.h
|
||||||
|
|||||||
@ -1,6 +1,12 @@
|
|||||||
cmake_minimum_required(VERSION 3.9)
|
cmake_minimum_required(VERSION 3.9)
|
||||||
project(frnetlib)
|
project(frnetlib)
|
||||||
|
include(GNUInstallDirs)
|
||||||
set(FRNETLIB_LINK_LIBRARIES "")
|
set(FRNETLIB_LINK_LIBRARIES "")
|
||||||
|
set(FRNETLIB_LIBFLAGS "-lfrnetlib")
|
||||||
|
|
||||||
|
set(FRNETLIB_VERSION_MAJOR 1)
|
||||||
|
set(FRNETLIB_VERSION_MINOR 1)
|
||||||
|
set(FRNETLIB_VERSION_PATCH 1)
|
||||||
|
|
||||||
#Set module path
|
#Set module path
|
||||||
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
|
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
|
||||||
@ -14,7 +20,7 @@ set(FRNETLIB_BUILD_SHARED_LIBS false CACHE BOOL "Build shared library.")
|
|||||||
set(MAX_HTTP_HEADER_SIZE "0xC800" CACHE STRING "The maximum allowed HTTP header size in bytes")
|
set(MAX_HTTP_HEADER_SIZE "0xC800" CACHE STRING "The maximum allowed HTTP header size in bytes")
|
||||||
set(MAX_HTTP_BODY_SIZE "0xA00000" CACHE STRING "The maximum allowed HTTP body size in bytes")
|
set(MAX_HTTP_BODY_SIZE "0xA00000" CACHE STRING "The maximum allowed HTTP body size in bytes")
|
||||||
set(LISTEN_QUEUE_SIZE "64" CACHE STRING "The listen queue depth for fr::TcpListener/fr::SSLListener")
|
set(LISTEN_QUEUE_SIZE "64" CACHE STRING "The listen queue depth for fr::TcpListener/fr::SSLListener")
|
||||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE)
|
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type")
|
||||||
|
|
||||||
#Configure defines based on user options
|
#Configure defines based on user options
|
||||||
add_definitions(-DMAX_HTTP_HEADER_SIZE=${MAX_HTTP_HEADER_SIZE})
|
add_definitions(-DMAX_HTTP_HEADER_SIZE=${MAX_HTTP_HEADER_SIZE})
|
||||||
@ -51,6 +57,9 @@ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CORE_CXX_FLAGS} -O2")
|
|||||||
|
|
||||||
if(USE_SSL)
|
if(USE_SSL)
|
||||||
set(FRNETLIB_LINK_LIBRARIES ${FRNETLIB_LINK_LIBRARIES} ${MBEDTLS_LIBRARIES})
|
set(FRNETLIB_LINK_LIBRARIES ${FRNETLIB_LINK_LIBRARIES} ${MBEDTLS_LIBRARIES})
|
||||||
|
if( FRNETLIB_BUILD_SHARED_LIBS )
|
||||||
|
set(FRNETLIB_LIBFLAGS "${FRNETLIB_LIBFLAGS} -lmbedcrypto -lmbedx509")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
@ -79,16 +88,12 @@ elseif(APPLE)
|
|||||||
set( LIB_PATH "lib" )
|
set( LIB_PATH "lib" )
|
||||||
else()
|
else()
|
||||||
set( SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share/FRNETLIB" )
|
set( SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share/FRNETLIB" )
|
||||||
|
set( LIB_PATH "${CMAKE_INSTALL_LIBDIR}" )
|
||||||
if( LIB_SUFFIX )
|
|
||||||
set( LIB_PATH "lib${LIB_SUFFIX}" )
|
|
||||||
else()
|
|
||||||
set( LIB_PATH "lib" )
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(FRNETLIB_LINK_LIBRARIES ${FRNETLIB_LINK_LIBRARIES} wsock32 ws2_32)
|
set(FRNETLIB_LINK_LIBRARIES ${FRNETLIB_LINK_LIBRARIES} wsock32 ws2_32)
|
||||||
|
set(FRNETLIB_LIBFLAGS "${FRNETLIB_LIBFLAGS} -lwsock32 -lws2_32")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(frnetlib ${FRNETLIB_LINK_LIBRARIES})
|
target_link_libraries(frnetlib ${FRNETLIB_LINK_LIBRARIES})
|
||||||
@ -106,6 +111,16 @@ if(BUILD_EXAMPLES)
|
|||||||
add_subdirectory(examples)
|
add_subdirectory(examples)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
configure_file(
|
||||||
|
"${CMAKE_SOURCE_DIR}/include/frnetlib/version.h.cmake.in"
|
||||||
|
"${CMAKE_SOURCE_DIR}/include/frnetlib/version.h"
|
||||||
|
)
|
||||||
|
configure_file(
|
||||||
|
"${CMAKE_SOURCE_DIR}/pc/frnetlib.pc.cmake.in"
|
||||||
|
"${CMAKE_SOURCE_DIR}/pc/frnetlib.pc"
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
TARGETS frnetlib
|
TARGETS frnetlib
|
||||||
RUNTIME DESTINATION bin COMPONENT bin
|
RUNTIME DESTINATION bin COMPONENT bin
|
||||||
@ -114,6 +129,10 @@ install(
|
|||||||
)
|
)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
DIRECTORY include
|
DIRECTORY include/frnetlib
|
||||||
DESTINATION .
|
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||||
|
)
|
||||||
|
install(
|
||||||
|
FILES "${CMAKE_CURRENT_SOURCE_DIR}/pc/frnetlib.pc"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/"
|
||||||
)
|
)
|
||||||
|
|||||||
@ -1,18 +0,0 @@
|
|||||||
//
|
|
||||||
// Created by fred.nicolson on 12/07/18.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef FRNETLIB_VERSION_H
|
|
||||||
#define FRNETLIB_VERSION_H
|
|
||||||
|
|
||||||
//Format: Major | Minor | Patch
|
|
||||||
|
|
||||||
#define FRNETLIB_VERSION_MAJOR 1
|
|
||||||
#define FRNETLIB_VERSION_MINOR 1
|
|
||||||
#define FRNETLIB_VERSION_PATCH 1
|
|
||||||
|
|
||||||
#define FRNETLIB_VERSION_NUMBER (FRNETLIB_VERSION_MAJOR * 100*100 + FRNETLIB_VERSION_MINOR * 100 + FRNETLIB_VERSION_PATCH)
|
|
||||||
#define FRNETLIB_VERSION_STRING "1.1.1"
|
|
||||||
#define FRNETLIB_VERSION_STRING_FULL "frnetlib 1.1.1"
|
|
||||||
|
|
||||||
#endif //FRNETLIB_VERSION_H
|
|
||||||
18
include/frnetlib/version.h.cmake.in
Normal file
18
include/frnetlib/version.h.cmake.in
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
//
|
||||||
|
// Created by fred.nicolson on 12/07/18.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef FRNETLIB_VERSION_H
|
||||||
|
#define FRNETLIB_VERSION_H
|
||||||
|
|
||||||
|
//Format: Major | Minor | Patch
|
||||||
|
|
||||||
|
#define FRNETLIB_VERSION_MAJOR @FRNETLIB_VERSION_MAJOR@
|
||||||
|
#define FRNETLIB_VERSION_MINOR @FRNETLIB_VERSION_MINOR@
|
||||||
|
#define FRNETLIB_VERSION_PATCH @FRNETLIB_VERSION_PATCH@
|
||||||
|
|
||||||
|
#define FRNETLIB_VERSION_NUMBER (FRNETLIB_VERSION_MAJOR * 100*100 + FRNETLIB_VERSION_MINOR * 100 + FRNETLIB_VERSION_PATCH)
|
||||||
|
#define FRNETLIB_VERSION_STRING "@FRNETLIB_VERSION_MAJOR@.@FRNETLIB_VERSION_MINOR@.@FRNETLIB_VERSION_PATCH@"
|
||||||
|
#define FRNETLIB_VERSION_STRING_FULL "frnetlib @FRNETLIB_VERSION_MAJOR@.@FRNETLIB_VERSION_MINOR@.@FRNETLIB_VERSION_PATCH@"
|
||||||
|
|
||||||
|
#endif //FRNETLIB_VERSION_H
|
||||||
9
pc/frnetlib.pc.cmake.in
Normal file
9
pc/frnetlib.pc.cmake.in
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||||
|
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||||
|
|
||||||
|
Name: frnetlib
|
||||||
|
Description: Frnetlib, is a cross-platform, small and fast networking library written in C++.
|
||||||
|
URL: https://github.com/Cloaked9000/frnetlib
|
||||||
|
Version: @FRNETLIB_VERSION_MAJOR@.@FRNETLIB_VERSION_MINOR@.@FRNETLIB_VERSION_PATCH@
|
||||||
|
Libs: -L${libdir} @FRNETLIB_LIBFLAGS@
|
||||||
|
Cflags: -I${includedir}
|
||||||
Loading…
x
Reference in New Issue
Block a user