project(ExportImport C) # Wipe out the install tree to make sure the exporter works. add_custom_command( OUTPUT ${ExportImport_BINARY_DIR}/CleanupProject COMMAND ${CMAKE_COMMAND} -E remove_directory ${ExportImport_BINARY_DIR}/Root ) add_custom_target(CleanupTarget ALL DEPENDS ${ExportImport_BINARY_DIR}/CleanupProject) # Build and install the exporter. if(CMAKE_CONFIGURATION_TYPES) set(Export_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}") else(CMAKE_CONFIGURATION_TYPES) set(Export_CONFIG_TYPE) endif(CMAKE_CONFIGURATION_TYPES) add_custom_command( OUTPUT ${ExportImport_BINARY_DIR}/ExportProject COMMAND ${CMAKE_CTEST_COMMAND} ${Export_CONFIG_TYPE} --build-and-test ${ExportImport_SOURCE_DIR}/Export ${ExportImport_BINARY_DIR}/Export --build-noclean --build-project Export --build-target install --build-generator ${CMAKE_GENERATOR} --build-makeprogram ${CMAKE_MAKE_PROGRAM} --build-options -DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS} -DCMAKE_C_FLAGS_DEBUG:STRING=${CMAKE_C_FLAGS_DEBUG} -DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE} -DCMAKE_C_FLAGS_MINSIZEREL:STRING=${CMAKE_C_FLAGS_MINSIZEREL} -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING=${CMAKE_C_FLAGS_RELWITHDEBINFO} -DCMAKE_INSTALL_PREFIX=${ExportImport_BINARY_DIR}/Root ) add_custom_target(ExportTarget ALL DEPENDS ${ExportImport_BINARY_DIR}/ExportProject) add_dependencies(ExportTarget CleanupTarget) # Build and install the importer. if(CMAKE_CONFIGURATION_TYPES) set(Import_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}") else(CMAKE_CONFIGURATION_TYPES) set(Import_CONFIG_TYPE) endif(CMAKE_CONFIGURATION_TYPES) add_custom_command( OUTPUT ${ExportImport_BINARY_DIR}/ImportProject COMMAND ${CMAKE_CTEST_COMMAND} ${Import_CONFIG_TYPE} --build-and-test ${ExportImport_SOURCE_DIR}/Import ${ExportImport_BINARY_DIR}/Import --build-noclean --build-project Import --build-generator ${CMAKE_GENERATOR} --build-makeprogram ${CMAKE_MAKE_PROGRAM} --build-options -DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS} -DCMAKE_C_FLAGS_DEBUG:STRING=${CMAKE_C_FLAGS_DEBUG} -DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE} -DCMAKE_C_FLAGS_MINSIZEREL:STRING=${CMAKE_C_FLAGS_MINSIZEREL} -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING=${CMAKE_C_FLAGS_RELWITHDEBINFO} -DCMAKE_INSTALL_PREFIX=${ExportImport_BINARY_DIR}/Root ) add_custom_target(ImportTarget ALL DEPENDS ${ExportImport_BINARY_DIR}/ImportProject) add_dependencies(ImportTarget ExportTarget) add_executable(ExportImport main.c) add_dependencies(ExportImport ImportTarget)