summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CheckModules/RunCMakeTest.cmake
blob: 75176b0547b67bf8c2e004f5c39cd68daba4c278 (plain)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
include(RunCMake)

run_cmake(CMP0075)

run_cmake(CheckStructHasMemberOk)
run_cmake(CheckStructHasMemberUnknownLanguage)
run_cmake(CheckStructHasMemberMissingLanguage)
run_cmake(CheckStructHasMemberMissingKey)
run_cmake(CheckStructHasMemberTooManyArguments)
run_cmake(CheckStructHasMemberWrongKey)

run_cmake(CheckTypeSizeOk)
run_cmake(CheckTypeSizeUnknownLanguage)
run_cmake(CheckTypeSizeMissingLanguage)
run_cmake(CheckTypeSizeMissingResultVariable)
run_cmake(CheckTypeSizeUnknownArgument)
run_cmake(CheckTypeSizeMixedArgs)

run_cmake(CheckTypeSizeOkNoC)

block()
  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CheckTypeSize-build)
  run_cmake(CheckTypeSize)

  set(RunCMake_TEST_NO_CLEAN 1)
  set(RunCMake_TEST_OUTPUT_MERGE 1)

  run_cmake_command(CheckTypeSize-build ${CMAKE_COMMAND} --build .)
  run_cmake_command(CheckTypeSize-build ${CMAKE_CTEST_COMMAND} -C Debug)
endblock()

run_cmake(CheckIncludeFilesOk)
run_cmake(CheckIncludeFilesOkNoC)
run_cmake(CheckIncludeFilesMissingLanguage)
run_cmake(CheckIncludeFilesUnknownArgument)
run_cmake(CheckIncludeFilesUnknownLanguage)

block()
    # Set common variables
    set(libDir ${RunCMake_BINARY_DIR}/CheckLinkDirectoriesTestLib-build/TestLib/lib)
    set(libName mySharedLibrary)

    # Build common part
    run_cmake(CheckLinkDirectoriesTestLib)
    set(RunCMake_TEST_NO_CLEAN 1)
    set(RunCMake_TEST_OUTPUT_MERGE 1)
    run_cmake_command(CheckLinkDirectoriesTestLib ${CMAKE_COMMAND} --build .)

    # Run tests cleanly
    unset(RunCMake_TEST_NO_CLEAN)
    unset(RunCMake_TEST_OUTPUT_MERGE)

    set(RunCMake_TEST_VARIANT_DESCRIPTION "WithDirectories")
    run_cmake_with_options("CheckLinkDirectories"
        "-DCMAKE_REQUIRED_LIBRARIES=${libName}"
        "-DCMAKE_REQUIRED_LINK_DIRECTORIES=${libDir}"
        "-DIS_NEED_SUCCESS:BOOL=ON"
    )
    set(RunCMake_TEST_VARIANT_DESCRIPTION "WithoutDirectories")
    run_cmake_with_options("CheckLinkDirectories"
        "-DCMAKE_REQUIRED_LIBRARIES=${libName}"
        "-DIS_NEED_SUCCESS:BOOL=OFF"
    )
endblock()