Imported Upstream version 2.8.11.2
[platform/upstream/cmake.git] / Tests / ExportImport / CMakeLists.txt
1 cmake_minimum_required (VERSION 2.7.20090711)
2 project(ExportImport C CXX)
3
4 # Wipe out the install tree to make sure the exporter works.
5 add_custom_command(
6   OUTPUT ${ExportImport_BINARY_DIR}/CleanupProject
7   COMMAND ${CMAKE_COMMAND} -E remove_directory ${ExportImport_BINARY_DIR}/Root
8   )
9 add_custom_target(CleanupTarget ALL DEPENDS ${ExportImport_BINARY_DIR}/CleanupProject)
10 set_property(
11   SOURCE ${ExportImport_BINARY_DIR}/CleanupProject
12   PROPERTY SYMBOLIC 1
13   )
14
15 if(CMAKE_CONFIGURATION_TYPES)
16   set(NESTED_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
17 else()
18   if(CMAKE_BUILD_TYPE)
19     set(NESTED_CONFIG_TYPE -C "${CMAKE_BUILD_TYPE}")
20   else()
21     set(NESTED_CONFIG_TYPE)
22   endif()
23 endif()
24
25 if(MINGW OR MSYS)
26   # Test CMAKE_GNUtoMS whether we have VS or not.
27   set(ExportImport_GNUtoMS 1)
28 endif()
29
30 configure_file(${ExportImport_SOURCE_DIR}/InitialCache.cmake.in
31                ${ExportImport_BINARY_DIR}/InitialCache.cmake @ONLY)
32
33 # Build and install the exporter.
34 add_custom_command(
35   OUTPUT ${ExportImport_BINARY_DIR}/ExportProject
36   COMMAND ${CMAKE_CTEST_COMMAND} ${NESTED_CONFIG_TYPE}
37     --build-and-test
38     ${ExportImport_SOURCE_DIR}/Export
39     ${ExportImport_BINARY_DIR}/Export
40     --build-noclean
41     --build-project Export
42     --build-target install
43     --build-generator ${CMAKE_GENERATOR}
44     --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
45     --build-makeprogram ${CMAKE_MAKE_PROGRAM}
46     --build-options -C${ExportImport_BINARY_DIR}/InitialCache.cmake
47   VERBATIM
48   )
49 add_custom_target(ExportTarget ALL DEPENDS ${ExportImport_BINARY_DIR}/ExportProject)
50 add_dependencies(ExportTarget CleanupTarget)
51 set_property(
52   SOURCE ${ExportImport_BINARY_DIR}/ExportProject
53   PROPERTY SYMBOLIC 1
54   )
55
56 # Build and install the importer.
57 add_custom_command(
58   OUTPUT ${ExportImport_BINARY_DIR}/ImportProject
59   COMMAND ${CMAKE_CTEST_COMMAND} ${NESTED_CONFIG_TYPE}
60    --build-and-test
61    ${ExportImport_SOURCE_DIR}/Import
62    ${ExportImport_BINARY_DIR}/Import
63    --build-noclean
64    --build-project Import
65    --build-generator ${CMAKE_GENERATOR}
66    --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
67    --build-makeprogram ${CMAKE_MAKE_PROGRAM}
68    --build-options -C${ExportImport_BINARY_DIR}/InitialCache.cmake
69   VERBATIM
70   )
71 add_custom_target(ImportTarget ALL DEPENDS ${ExportImport_BINARY_DIR}/ImportProject)
72 add_dependencies(ImportTarget ExportTarget)
73 set_property(
74   SOURCE ${ExportImport_BINARY_DIR}/ImportProject
75   PROPERTY SYMBOLIC 1
76   )
77
78 add_executable(ExportImport main.c)
79 add_dependencies(ExportImport ImportTarget)