编辑 | blame | 历史 | 原始文档
cmake_minimum_required(VERSION 3.21)
project(libscpi VERSION 2.1.0 LANGUAGES C)

file(GLOB_RECURSE SRC_FILES
    libscpi/inc/*.h
    libscpi/src/*.c
)

add_library(scpi_static STATIC ${SRC_FILES})

target_include_directories(scpi_static
    PUBLIC
        "$"
)

# add_library(scpi SHARED ${SRC_FILES})

# target_include_directories(scpi
#     PUBLIC
#         "$"
# )

enable_testing()
find_package(unofficial-cunit CONFIG REQUIRED)

file(GLOB_RECURSE TEST_FILES
    libscpi/test/*.c
)
foreach(test_file IN LISTS TEST_FILES)
    cmake_path(GET test_file FILENAME test_name)

    add_executable(${test_name} ${test_file})

    target_link_libraries(${test_name} 
        PRIVATE 
            scpi_static
            unofficial::cunit::cunit
    )

    add_test(
        NAME "${test_name}"
        COMMAND ${test_name}
    )
endforeach()