forked from acouzens/open5gs
86 lines
1.8 KiB
CMake
86 lines
1.8 KiB
CMake
# The subproject name
|
|
Project("freeDiameter core library" C)
|
|
|
|
# Configuration for newer cmake
|
|
cmake_policy(VERSION 2.6)
|
|
if (POLICY CMP0022)
|
|
cmake_policy(SET CMP0022 OLD)
|
|
endif (POLICY CMP0022)
|
|
|
|
# Configuration parser
|
|
BISON_FILE(fdd.y)
|
|
FLEX_FILE(fdd.l)
|
|
SET_SOURCE_FILES_PROPERTIES(lex.fdd.c fdd.tab.c PROPERTIES COMPILE_FLAGS "-I ${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
|
# List of source files
|
|
SET(FDCORE_SRC
|
|
fdcore-internal.h
|
|
apps.c
|
|
cnxctx.h
|
|
config.c
|
|
core.c
|
|
cnxctx.c
|
|
endpoints.c
|
|
events.c
|
|
extensions.c
|
|
fifo_stats.c
|
|
hooks.c
|
|
dict_base_proto.c
|
|
messages.c
|
|
queues.c
|
|
peers.c
|
|
p_ce.c
|
|
p_cnx.c
|
|
p_dw.c
|
|
p_dp.c
|
|
p_expiry.c
|
|
p_out.c
|
|
p_psm.c
|
|
p_sr.c
|
|
routing_dispatch.c
|
|
server.c
|
|
tcp.c
|
|
version.c
|
|
)
|
|
|
|
IF(NOT DISABLE_SCTP)
|
|
SET(FDCORE_SRC ${FDCORE_SRC} sctp.c sctp3436.c)
|
|
ENDIF(NOT DISABLE_SCTP)
|
|
|
|
SET(FDCORE_GEN_SRC
|
|
lex.fdd.c
|
|
fdd.tab.c
|
|
fdd.tab.h
|
|
)
|
|
|
|
# Save the list of files for the tests
|
|
SET(FDCORE_SRC ${FDCORE_SRC} PARENT_SCOPE)
|
|
SET(FDCORE_GEN_SRC ${FDCORE_GEN_SRC} PARENT_SCOPE)
|
|
|
|
# Include path
|
|
INCLUDE_DIRECTORIES(${LFDCORE_INCLUDES})
|
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
# Build the executable
|
|
ADD_LIBRARY(libfdcore SHARED ${FDCORE_SRC} ${FDCORE_GEN_SRC})
|
|
ADD_DEPENDENCIES(libfdcore version_information)
|
|
|
|
# Avoid the liblib name, and set the version
|
|
SET_TARGET_PROPERTIES(libfdcore PROPERTIES
|
|
OUTPUT_NAME "fdcore"
|
|
SOVERSION ${FD_PROJECT_VERSION_API}
|
|
VERSION ${FD_PROJECT_VERSION_MAJOR}.${FD_PROJECT_VERSION_MINOR}.${FD_PROJECT_VERSION_REV}
|
|
LINK_INTERFACE_LIBRARIES "${LFDCORE_LINK_INTERFACES}")
|
|
|
|
# The library itself needs other libraries
|
|
LINK_DIRECTORIES(${CURRENT_BINARY_DIR}/../libfdproto)
|
|
TARGET_LINK_LIBRARIES(libfdcore libfdproto ${LFDCORE_LIBS})
|
|
|
|
|
|
####
|
|
## INSTALL section ##
|
|
|
|
INSTALL(TARGETS libfdcore
|
|
LIBRARY DESTINATION ${INSTALL_LIBRARY_SUFFIX}
|
|
COMPONENT freeDiameter-common)
|