123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- cmake_minimum_required(VERSION 3.13)
- if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.12)
- cmake_policy(SET CMP0074 NEW)
- endif()
- project (limbo LANGUAGES CXX)
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
- if (NOT DEFINED CMAKE_CXX_VISIBILITY_PRESET AND
- NOT DEFINED CMAKE_VISIBILITY_INLINES_HIDDEN)
- set(CMAKE_CXX_VISIBILITY_PRESET hidden)
- set(CMAKE_VISIBILITY_INLINES_HIDDEN YES)
- endif ()
- add_library(limbo
- src/limbo/chunk.cpp
- src/limbo/result.cpp
- src/limbo/details/checksum.cpp
- src/limbo/details/crc32.cpp
- src/limbo/ethernet/mac_address.cpp
- src/limbo/ip/ipv4_address.cpp
- )
- target_include_directories(limbo PUBLIC
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
- $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
- $<INSTALL_INTERFACE:include>
- )
- target_compile_features(limbo PUBLIC cxx_std_17)
- set_target_properties(limbo PROPERTIES
- CXX_STANDARD 17
- CXX_STANDARD_REQUIRED YES
- CXX_EXTENSIONS NO
- )
- if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
- include(CTest)
- if (BUILD_TESTING)
- add_subdirectory("tests")
- endif()
- endif()
|