"vscode:/vscode.git/clone" did not exist on "59d817b1bf4fa3384df284d3e6a5dd903cc038f0"
CMakeLists.txt 1.06 KB
Newer Older
1
include_directories(BEFORE
Chao Liu's avatar
Chao Liu committed
2
3
    ${PROJECT_SOURCE_DIR}/include
    ${PROJECT_SOURCE_DIR}/library/include
4
5
)

Chao Liu's avatar
Chao Liu committed
6
add_custom_target(examples)
7

Anthony Chang's avatar
Anthony Chang committed
8
function(add_example_executable EXAMPLE_NAME FILE_NAME)
Chao Liu's avatar
Chao Liu committed
9
    message("adding example ${EXAMPLE_NAME}")
Anthony Chang's avatar
Anthony Chang committed
10
    add_executable(${EXAMPLE_NAME} ${FILE_NAME})
11
    target_link_libraries(${EXAMPLE_NAME} PRIVATE utility)
Anthony Chang's avatar
Anthony Chang committed
12
13
14
15
16
17
18
19
    add_test(NAME ${EXAMPLE_NAME} COMMAND $<TARGET_FILE:${EXAMPLE_NAME}> ${ARGN})
    add_dependencies(examples ${EXAMPLE_NAME})
    add_dependencies(check ${EXAMPLE_NAME})
endfunction(add_example_executable EXAMPLE_NAME)

function(add_example_executable_no_testing EXAMPLE_NAME FILE_NAME)
    message("adding example ${EXAMPLE_NAME}")
    add_executable(${EXAMPLE_NAME} ${FILE_NAME})
20
    target_link_libraries(${EXAMPLE_NAME} PRIVATE utility)
Chao Liu's avatar
Chao Liu committed
21
    add_dependencies(examples ${EXAMPLE_NAME})
rocking5566's avatar
rocking5566 committed
22
endfunction(add_example_executable_no_testing EXAMPLE_NAME)
23

Shaojie WANG's avatar
Shaojie WANG committed
24
25
26
27
28
29
30
# add all example subdir
file(GLOB dir_list LIST_DIRECTORIES true *)
FOREACH(subdir ${dir_list})
    IF(IS_DIRECTORY "${subdir}")
        add_subdirectory(${subdir})
    ENDIF()
ENDFOREACH()