| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | 
							- cmake_minimum_required (VERSION 3.9)
 
- project(JavaExportImport)
 
- if(NOT DEFINED CMake_TEST_NESTED_MAKE_PROGRAM AND NOT CMAKE_GENERATOR MATCHES "Visual Studio")
 
-   set(CMake_TEST_NESTED_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM}")
 
- endif()
 
- find_package(Java COMPONENTS Development)
 
- # Wipe out the install tree to make sure the exporter works.
 
- add_custom_command(
 
-   OUTPUT ${JavaExportImport_BINARY_DIR}/CleanupProject
 
-   COMMAND ${CMAKE_COMMAND} -E remove_directory ${JavaExportImport_BINARY_DIR}/Root
 
-   )
 
- add_custom_target(CleanupTarget ALL DEPENDS ${JavaExportImport_BINARY_DIR}/CleanupProject)
 
- set_property(
 
-   SOURCE ${JavaExportImport_BINARY_DIR}/CleanupProject
 
-   PROPERTY SYMBOLIC 1
 
-   )
 
- get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
 
- if(_isMultiConfig)
 
-   set(NESTED_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
 
- else()
 
-   if(CMAKE_BUILD_TYPE)
 
-     set(NESTED_CONFIG_TYPE -C "${CMAKE_BUILD_TYPE}")
 
-   else()
 
-     set(NESTED_CONFIG_TYPE)
 
-   endif()
 
- endif()
 
- configure_file(${JavaExportImport_SOURCE_DIR}/InitialCache.cmake.in
 
-                ${JavaExportImport_BINARY_DIR}/InitialCache.cmake @ONLY)
 
- # Build the build exporter.
 
- add_custom_command(
 
-   OUTPUT ${JavaExportImport_BINARY_DIR}/BuildExportProject
 
-   COMMAND ${CMAKE_CTEST_COMMAND} ${NESTED_CONFIG_TYPE}
 
-     --build-and-test
 
-     ${JavaExportImport_SOURCE_DIR}/BuildExport
 
-     ${JavaExportImport_BINARY_DIR}/BuildExport
 
-     --build-noclean
 
-     --build-project BuildExport
 
-     --build-generator ${CMAKE_GENERATOR}
 
-     --build-generator-platform "${CMAKE_GENERATOR_PLATFORM}"
 
-     --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
 
-     --build-options -C${JavaExportImport_BINARY_DIR}/InitialCache.cmake
 
-   VERBATIM
 
-   )
 
- add_custom_target(BuildExportTarget ALL DEPENDS ${JavaExportImport_BINARY_DIR}/BuildExportProject)
 
- add_dependencies(BuildExportTarget CleanupTarget)
 
- set_property(
 
-   SOURCE ${JavaExportImport_BINARY_DIR}/BuildExportProject
 
-   PROPERTY SYMBOLIC 1
 
-   )
 
- # Build and install the install exporter.
 
- add_custom_command(
 
-   OUTPUT ${JavaExportImport_BINARY_DIR}/InstallExportProject
 
-   COMMAND ${CMAKE_CTEST_COMMAND} ${NESTED_CONFIG_TYPE}
 
-     --build-and-test
 
-     ${JavaExportImport_SOURCE_DIR}/InstallExport
 
-     ${JavaExportImport_BINARY_DIR}/InstallExport
 
-     --build-noclean
 
-     --build-project InstallExport
 
-     --build-target install
 
-     --build-generator ${CMAKE_GENERATOR}
 
-     --build-generator-platform "${CMAKE_GENERATOR_PLATFORM}"
 
-     --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
 
-     --build-options -C${JavaExportImport_BINARY_DIR}/InitialCache.cmake
 
-   VERBATIM
 
-   )
 
- add_custom_target(InstallExportTarget ALL DEPENDS ${JavaExportImport_BINARY_DIR}/InstallExportProject)
 
- add_dependencies(InstallExportTarget CleanupTarget)
 
- set_property(
 
-   SOURCE ${JavaExportImport_BINARY_DIR}/InstallExportProject
 
-   PROPERTY SYMBOLIC 1
 
-   )
 
- # Build and install the importer.
 
- add_custom_command(
 
-   OUTPUT ${JavaExportImport_BINARY_DIR}/ImportProject
 
-   COMMAND ${CMAKE_CTEST_COMMAND} ${NESTED_CONFIG_TYPE}
 
-     --build-and-test
 
-     ${JavaExportImport_SOURCE_DIR}/Import
 
-     ${JavaExportImport_BINARY_DIR}/Import
 
-     --build-noclean
 
-     --build-project Import
 
-     --build-generator ${CMAKE_GENERATOR}
 
-     --build-generator-platform "${CMAKE_GENERATOR_PLATFORM}"
 
-     --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
 
-     --build-options
 
-       -C${JavaExportImport_BINARY_DIR}/InitialCache.cmake
 
-       -DJavaBuildExportTest_DIR:PATH=${JavaExportImport_BINARY_DIR}/BuildExport
 
-       -DJavaInstallExportTest_DIR:PATH=${JavaExportImport_BINARY_DIR}/Root/share/cmake
 
-   VERBATIM
 
-   )
 
- add_custom_target(ImportTarget ALL DEPENDS ${JavaExportImport_BINARY_DIR}/ImportProject)
 
- add_dependencies(ImportTarget BuildExportTarget InstallExportTarget)
 
- set_property(
 
-   SOURCE ${JavaExportImport_BINARY_DIR}/ImportProject
 
-   PROPERTY SYMBOLIC 1
 
-   )
 
- add_executable(JavaExportImport main.c)
 
- add_dependencies(JavaExportImport ImportTarget)
 
 
  |