src.dualinventive.com/jjacobs/dinetrpcll-sniffer/libdi/CMakeLists.txt

57 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.3)
project(libdi)
set(PROJECT_NAME "libdi")
set(PROJECT_BRIEF "DI common C library (libdi)")
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
include("common/cmake/MemCheck.txt")
include(CTest)
endif()
include(ExternalProject)
set(PRIMARY_LANGUAGE "C")
include("common/cmake/CMakeLists.txt")
add_subdirectory("3rdparty/mpack/src")
include_directories(
"${PROJECT_BINARY_DIR}/include"
"${PROJECT_SOURCE_DIR}/include"
"${PROJECT_SOURCE_DIR}/3rdparty/mpack/src"
"${PROJECT_SOURCE_DIR}/libdi_constants/include"
)
add_subdirectory("3rdparty/mpack/test")
add_subdirectory("include-linux")
include_directories(${LIBDI_INCLUDE_LINUX})
add_definitions(${LIBDI_INCLUDE_LINUX_DEFINITIONS})
add_subdirectory("src")
add_definitions(-DDI_LOG_COMPONENT=DI_LOG_COMPONENT_LIBDI)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
add_definitions(-DMPACK_DEBUG)
endif()
###
# Create static libraries for linux or embedded target
###
add_library(di STATIC "${LIBDI_SRC};${MPACK_SRC}")
target_compile_definitions(di PUBLIC DI_EMBEDDED)
add_library(dilinux STATIC "${LIBDI_SRC};${MPACK_SRC}")
set(LIBDI_INC "${PROJECT_SOURCE_DIR}/include;${CMAKE_CURRENT_SOURCE_DIR}/libdi_constants/include" CACHE INTERNAL "incs")
file(GLOB_RECURSE INC_SRC "${CMAKE_CURRENT_SOURCE_DIR}/include/di/*.h")
if (BUILD_TESTING)
enable_linting()
add_metrix_target("${LIBDI_SRC};${INC_SRC}")
endif()
add_subdirectory("examples/linux")
add_subdirectory("tests")