cmake_minimum_required(VERSION 3.14) set(CMAKE_INCLUDE_CURRENT_DIR ON) # set the project name and version project(ESTA VERSION 0.1.1 LANGUAGES CXX) set(DEFAULT_BUILD_TYPE "Release") configure_file(config.h.in config.h) add_compile_definitions(BUILT_WITH_CMAKE) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") if (CMAKE_BUILD_TYPE STREQUAL "Debug") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG") endif() set(CMAKE_AUTOUIC OFF) set(CMAKE_AUTOMOC OFF) set(CMAKE_AUTORCC OFF) set(SOURCE_FILES acn/appliance.cpp acn/appliance.h acn/component.h acn/dmp.cpp acn/dmp.h acn/pdu-stream.cpp acn/pdu-stream.h acn/pdu.cpp acn/pdu.h acn/rlp-tcp.cpp acn/rlp-tcp.h acn/rlp-udp.cpp acn/rlp-udp.h acn/rlp.cpp acn/rlp.h acn/sdt-udp.cpp acn/sdt-udp.h acn/sdt.cpp acn/sdt.h dmx/device.h dmx/device.cpp dmx/dmx.h dmx/personality.h dmx/personality.cpp dmx/universe.cpp dmx/universe.h otp/opt.h rdm/controller.h rdm/controller.cpp rdm/device.h rdm/device.cpp rdm/E1.37-1.h rdm/E1.37-2.h rdm/E1.37-7.h rdm/message.h rdm/message.cpp rdm/parameter.h rdm/parameter.cpp rdm/rdm.h rdm/rdm.cpp rdm/responder.h rdm/responder.cpp rdm/sensor.h rdm/sensor.cpp rdm/status.h rdm/uid.h rdmnet/broker-protocol.h rdmnet/broker-protocol.cpp rdmnet/broker.h rdmnet/broker.cpp rdmnet/client.h rdmnet/client.cpp rdmnet/controller.h rdmnet/controller.cpp rdmnet/device.h rdmnet/device.cpp rdmnet/ept.cpp rdmnet/ept.h rdmnet/llrp.cpp rdmnet/llrp.h rdmnet/manager.h rdmnet/manager.cpp rdmnet/pdu.h rdmnet/rdmnet.h rdmnet/rpt.cpp rdmnet/rpt.h rdmnet/target.h rdmnet/target.cpp sacn/data.cpp sacn/data.h sacn/extended.cpp sacn/extended.h sacn/node.cpp sacn/node.h sacn/receiver.cpp sacn/receiver.h sacn/sacn.h sacn/source.cpp sacn/source.h sacn/universe.cpp sacn/universe.h uuid/uuid.cpp uuid/uuid.h ) add_library(${PROJECT_NAME} STATIC ${SOURCE_FILES}) #add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES}) set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION}) set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION}) target_compile_definitions(${PROJECT_NAME} PUBLIC ${PROJECT_NAME}_LIBRARY) target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})