g2
sola.lu
2025-04-11 a18b632da7d2dc0f936f6459b30b76e06f21abd7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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
        "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libscpi/inc>"
)
 
add_library(scpi SHARED ${SRC_FILES})
 
target_include_directories(scpi
    PUBLIC
        "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libscpi/inc>"
)
 
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()