CMake · 完整文件
CMakeLists.txt
验证本地源码、FetchContent 和安装包三种工程接入方式。
test/integration/CMakeLists.txt
1cmake_minimum_required( 3.20)2if( )3 set( "14.4" STRING "Minimum macOS version")4endif()5project(TwoBufQueueConsumer )6set( "package" STRING "package, add_subdirectory, or fetchcontent")7if( "package")8 find_package(TwoBufQueue 0.6 )9elseif( "add_subdirectory" 10 "fetchcontent")11 if( )12 message( "Set BRQ_SOURCE_DIR to the library source root")13 endif()14 get_filename_component( "${BRQ_SOURCE_DIR}" 15 "${CMAKE_CURRENT_SOURCE_DIR}")16 if( "add_subdirectory")17 add_subdirectory("${BRQ_SOURCE_DIR}" dependency)18 else()19 include(FetchContent)20 FetchContent_Declare(TwoBufQueue "${BRQ_SOURCE_DIR}")21 FetchContent_MakeAvailable(TwoBufQueue)22 endif()23 if( )24 message( "Embedded library unexpectedly enabled tests or examples")25 endif()26else()27 message( "Unknown BRQ_INTEGRATION_MODE")28endif()29add_executable(consumer main.cpp)30target_link_libraries(consumer TwoBufQueue::TwoBufQueue)31enable_testing()32add_test( consumer_records consumer)