mirror of
https://github.com/reactos/CMake.git
synced 2024-12-21 03:00:59 +00:00
9db3116226
Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
76 lines
2.3 KiB
CMake
76 lines
2.3 KiB
CMake
cmake_minimum_required (VERSION 2.7.20090711)
|
|
project(ExportImport C CXX)
|
|
|
|
# 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)
|
|
set_property(
|
|
SOURCE ${ExportImport_BINARY_DIR}/CleanupProject
|
|
PROPERTY SYMBOLIC 1
|
|
)
|
|
|
|
if(CMAKE_CONFIGURATION_TYPES)
|
|
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()
|
|
|
|
if(MINGW OR MSYS)
|
|
# Test CMAKE_GNUtoMS whether we have VS or not.
|
|
set(ExportImport_GNUtoMS 1)
|
|
endif()
|
|
|
|
configure_file(${ExportImport_SOURCE_DIR}/InitialCache.cmake.in
|
|
${ExportImport_BINARY_DIR}/InitialCache.cmake @ONLY)
|
|
|
|
# Build and install the exporter.
|
|
add_custom_command(
|
|
OUTPUT ${ExportImport_BINARY_DIR}/ExportProject
|
|
COMMAND ${CMAKE_CTEST_COMMAND} ${NESTED_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 -C${ExportImport_BINARY_DIR}/InitialCache.cmake
|
|
)
|
|
add_custom_target(ExportTarget ALL DEPENDS ${ExportImport_BINARY_DIR}/ExportProject)
|
|
add_dependencies(ExportTarget CleanupTarget)
|
|
set_property(
|
|
SOURCE ${ExportImport_BINARY_DIR}/ExportProject
|
|
PROPERTY SYMBOLIC 1
|
|
)
|
|
|
|
# Build and install the importer.
|
|
add_custom_command(
|
|
OUTPUT ${ExportImport_BINARY_DIR}/ImportProject
|
|
COMMAND ${CMAKE_CTEST_COMMAND} ${NESTED_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 -C${ExportImport_BINARY_DIR}/InitialCache.cmake
|
|
)
|
|
add_custom_target(ImportTarget ALL DEPENDS ${ExportImport_BINARY_DIR}/ImportProject)
|
|
add_dependencies(ImportTarget ExportTarget)
|
|
set_property(
|
|
SOURCE ${ExportImport_BINARY_DIR}/ImportProject
|
|
PROPERTY SYMBOLIC 1
|
|
)
|
|
|
|
add_executable(ExportImport main.c)
|
|
add_dependencies(ExportImport ImportTarget)
|