view libfdcore/CMakeLists.txt @ 1327:82b386714795

Set callback data also when only setting expire callback (and not answer callback as well). It is used when calling the expire callback, so not setting it makes no sense.
author Thomas Klausner <tk@giga.or.at>
date Mon, 27 Nov 2017 15:21:20 +0100
parents ecb844d6d87d
children 9084c6f94a0a
line wrap: on
line source

# 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)
"Welcome to our mercurial repository"