Imported Upstream version 3.23.2
[platform/upstream/cmake.git] / Tests / RunCMake / target_sources / RunCMakeTest.cmake
1 include(RunCMake)
2
3 if(RunCMake_GENERATOR STREQUAL "Xcode")
4   run_cmake(ConfigNotAllowed)
5 endif()
6
7 run_cmake(EmptyKeywordArgs)
8 run_cmake(OriginDebug)
9 run_cmake(CMP0026-LOCATION)
10 run_cmake(CMP0076-OLD)
11 run_cmake(CMP0076-WARN)
12 run_cmake(RelativePathInInterface)
13 run_cmake(RelativePathInSubdirGenEx)
14 run_cmake(RelativePathInSubdirInterface)
15 run_cmake(RelativePathInSubdirPrivate)
16 run_cmake(RelativePathInSubdirInclude)
17 run_cmake(ExportBuild)
18 run_cmake(AddCustomTargetPublicSources)
19 run_cmake(AddCustomTargetPrivateSources)
20 run_cmake(AddCustomTargetInterfaceSources)
21 run_cmake(AddCustomTargetSources)
22 run_cmake(AddCustomTargetCheckProperty)
23 run_cmake(AddCustomTargetGenx)
24
25 run_cmake(FileSetProperties)
26 run_cmake(FileSetNoType)
27 run_cmake(FileSetWrongType)
28 run_cmake(FileSetDefaultWrongType)
29 run_cmake(FileSetChangeScope)
30 run_cmake(FileSetChangeType)
31 run_cmake(FileSetWrongBaseDirs)
32 run_cmake(FileSetWrongBaseDirsRelative)
33 run_cmake(FileSetOverlappingBaseDirs)
34 run_cmake(FileSetInstallMissingSetsPrivate)
35 run_cmake(FileSetInstallMissingSetsInterface)
36 run_cmake(FileSetReadOnlyPrivate)
37 run_cmake(FileSetReadOnlyInterface)
38 run_cmake(FileSetNoExistInstall)
39 run_cmake(FileSetDirectories)
40 run_cmake(FileSetCustomTarget)
41 run_cmake(FileSetBadName)
42 if(APPLE)
43   run_cmake(FileSetFramework)
44 endif()
45
46 set(RunCMake_TEST_NO_CLEAN 1)
47 set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/FileSetGeneratedDependency-build")
48 file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
49 file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
50 run_cmake(FileSetGeneratedDependency)
51 run_cmake_command(FileSetGeneratedDependency-build ${CMAKE_COMMAND} --build . --config Debug)
52 unset(RunCMake_TEST_BINARY_DIR)
53 unset(RunCMake_TEST_NO_CLEAN)
54
55 set(RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0115=NEW)
56 run_cmake(FileSetFileNoExist)
57 unset(RunCMake_TEST_OPTIONS)
58
59 function(run_export_import name)
60   if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
61     set(_config_options "-DCMAKE_CONFIGURATION_TYPES=Debug\\\\;Release")
62   else()
63     set(_config_options -DCMAKE_BUILD_TYPE=Debug)
64   endif()
65
66   set(RunCMake_TEST_NO_CLEAN 1)
67   set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/${name}Export-build")
68   set(RunCMake_TEST_OPTIONS "--install-prefix=${RunCMake_TEST_BINARY_DIR}/install" ${_config_options})
69   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
70   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
71   run_cmake(${name}Export)
72   run_cmake_command(${name}Export-build ${CMAKE_COMMAND} --build . --config Debug)
73   run_cmake_command(${name}Export-build ${CMAKE_COMMAND} --install . --config Debug)
74   if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
75     run_cmake_command(${name}Export-build ${CMAKE_COMMAND} --build . --config Release)
76     run_cmake_command(${name}Export-build ${CMAKE_COMMAND} --install . --config Release)
77   endif()
78   unset(RunCMake_TEST_OPTIONS)
79
80   set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/${name}Import-build")
81   unset(RunCMake_TEST_OPTIONS)
82   file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
83   file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
84   run_cmake(${name}Import)
85   run_cmake_command(${name}Import-build ${CMAKE_COMMAND} --build . --config Debug)
86   if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
87     run_cmake_command(${name}Import-build ${CMAKE_COMMAND} --build . --config Release)
88   endif()
89
90   unset(RunCMake_TEST_BINARY_DIR)
91   unset(RunCMake_TEST_NO_CLEAN)
92 endfunction()
93
94 run_export_import(FileSet)