| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- include(RunCMake)
- run_cmake(NoQt)
- if (DEFINED with_qt_version)
- set(RunCMake_TEST_OPTIONS
- -Dwith_qt_version=${with_qt_version}
- "-DQt${with_qt_version}_DIR:PATH=${Qt${with_qt_version}_DIR}"
- "-DCMAKE_PREFIX_PATH:STRING=${CMAKE_PREFIX_PATH}"
- )
- run_cmake(QtInFunction)
- run_cmake(QtInFunctionNested)
- run_cmake(QtInFunctionProperty)
- run_cmake(CMP0111-imported-target-full)
- run_cmake(CMP0111-imported-target-libname)
- run_cmake(CMP0111-imported-target-implib-only)
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/MocPredefs-build)
- run_cmake(MocPredefs)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(MocPredefs-build ${CMAKE_COMMAND} --build . --config Debug)
- endblock()
- # Detect information from the toolchain:
- # - CMAKE_INCLUDE_FLAG_CXX
- # - CMAKE_INCLUDE_SYSTEM_FLAG_CXX
- run_cmake(Inspect)
- include("${RunCMake_BINARY_DIR}/Inspect-build/info.cmake")
- foreach(autogen_type IN ITEMS MOC UIC)
- block()
- set(RunCMake_TEST_VARIANT_DESCRIPTION "-AUTO${autogen_type}=ON")
- if(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
- if(RunCMake_GENERATOR MATCHES "Visual Studio")
- string(REGEX REPLACE "^-" "/" test_expect_stdout_common "${CMAKE_INCLUDE_SYSTEM_FLAG_CXX}")
- else()
- set(test_expect_stdout_common "-*${CMAKE_INCLUDE_SYSTEM_FLAG_CXX}")
- endif()
- set(test_expect_stdout_1 "${test_expect_stdout_common}")
- set(test_expect_stdout_2 "${test_expect_stdout_common}")
- string(APPEND test_expect_stdout_1 " *(\"[^\"]*|([^ ]|\\ )*)[\\/]dummy_autogen[\\/]include")
- if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
- string(APPEND test_expect_stdout_1 "_Debug")
- endif()
- string(APPEND test_expect_stdout_2 " *(\"[^\"]*|([^ ]|\\ )*)[\\/]QtCore")
- set(test_expect_stdout "${test_expect_stdout_1}.*${test_expect_stdout_2}")
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CMP0151-new-build)
- run_cmake_with_options(CMP0151-new ${RunCMake_TEST_OPTIONS} -DCMAKE_AUTO${autogen_type}=ON -DCMAKE_POLICY_DEFAULT_CMP0151=NEW)
- set(RunCMake_TEST_NO_CLEAN 1)
- set(RunCMake_TEST_EXPECT_stdout "${test_expect_stdout}")
- run_cmake_command(CMP0151-new-build ${CMAKE_COMMAND} --build . --config Debug --verbose)
- endblock()
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/AutogenUseSystemIncludeOn-build)
- run_cmake_with_options(AutogenUseSystemIncludeOn ${RunCMake_TEST_OPTIONS} -DCMAKE_AUTO${autogen_type}=ON -DCMAKE_POLICY_DEFAULT_CMP0151=NEW)
- set(RunCMake_TEST_NO_CLEAN 1)
- set(RunCMake_TEST_EXPECT_stdout "${test_expect_stdout}")
- run_cmake_command(AutogenUseSystemIncludeOn-build ${CMAKE_COMMAND} --build . --config Debug --verbose)
- endblock()
- endif()
- if(CMAKE_INCLUDE_FLAG_CXX)
- if(RunCMake_GENERATOR MATCHES "Visual Studio")
- string(REGEX REPLACE "^-" "/" test_expect_stdout "${CMAKE_INCLUDE_FLAG_CXX}")
- else()
- set(test_expect_stdout "-*${CMAKE_INCLUDE_FLAG_CXX}")
- endif()
- string(APPEND test_expect_stdout " *(\"[^\"]*|([^ ]|\\ )*)[\\/]dummy_autogen[\\/]include")
- if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
- string(APPEND test_expect_stdout "_Debug")
- endif()
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CMP0151-old-build)
- run_cmake_with_options(CMP0151-old ${RunCMake_TEST_OPTIONS} -DCMAKE_AUTO${autogen_type}=ON -DCMAKE_POLICY_DEFAULT_CMP0151=OLD)
- set(RunCMake_TEST_NO_CLEAN 1)
- set(RunCMake_TEST_EXPECT_stdout "${test_expect_stdout}")
- run_cmake_command(CMP0151-old-build ${CMAKE_COMMAND} --build . --config Debug --verbose)
- endblock()
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/AutogenUseSystemIncludeOff-build)
- run_cmake_with_options(AutogenUseSystemIncludeOff ${RunCMake_TEST_OPTIONS} -DCMAKE_AUTO${autogen_type}=ON -DCMAKE_POLICY_DEFAULT_CMP0151=NEW)
- set(RunCMake_TEST_NO_CLEAN 1)
- set(RunCMake_TEST_EXPECT_stdout "${test_expect_stdout}")
- run_cmake_command(AutogenUseSystemIncludeOff-build ${CMAKE_COMMAND} --build . --config Debug --verbose)
- endblock()
- endif()
- endblock()
- endforeach()
- if(CMAKE_INCLUDE_FLAG_CXX)
- if(RunCMake_GENERATOR MATCHES "Make|Ninja")
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/AutogenSkipLinting-build)
- list(APPEND RunCMake_TEST_OPTIONS
- "-DPSEUDO_CPPCHECK=${PSEUDO_CPPCHECK}"
- "-DPSEUDO_CPPLINT=${PSEUDO_CPPLINT}"
- "-DPSEUDO_IWYU=${PSEUDO_IWYU}"
- "-DPSEUDO_TIDY=${PSEUDO_TIDY}")
- run_cmake(AutogenSkipLinting)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(AutogenSkipLinting-build ${CMAKE_COMMAND} --build . --config Debug --verbose)
- endblock()
- endif()
- endif()
- if(RunCMake_GENERATOR_IS_MULTI_CONFIG AND NOT RunCMake_GENERATOR MATCHES "Xcode")
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/MocGeneratedFile-build)
- run_cmake(MocGeneratedFile)
- set(RunCMake_TEST_NO_CLEAN 1)
- run_cmake_command(MocGeneratedFile-build ${CMAKE_COMMAND} --build . --config Debug --verbose)
- endblock()
- if(RunCMake_GENERATOR MATCHES "Ninja Multi-Config")
- block()
- set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/MocGeneratedFile-cross-config-build)
- list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_CROSS_CONFIGS=all)
- set(RunCMake_TEST_VARIANT_DESCRIPTION "-CMAKE_CROSS_CONFIGS-all")
- run_cmake(MocGeneratedFile)
- set(RunCMake_TEST_NO_CLEAN 1)
- set(RunCMake_TEST_VARIANT_DESCRIPTION "-Release")
- run_cmake_command(MocGeneratedFile-cross-config-build ${CMAKE_COMMAND} --build . --config Release --target libgen:Debug)
- set(RunCMake_TEST_VARIANT_DESCRIPTION "-Debug")
- run_cmake_command(MocGeneratedFile-cross-config-build ${CMAKE_COMMAND} --build . --config Debug --target libgen:Release)
- unset(RunCMake_TEST_VARIANT_DESCRIPTION)
- endblock()
- endif()
- endif()
- endif ()
|