83 lines
2.9 KiB
CMake
83 lines
2.9 KiB
CMake
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)
|
|
set_property(
|
|
SOURCE ${ExportImport_BINARY_DIR}/CleanupProject
|
|
PROPERTY SYMBOLIC 1
|
|
)
|
|
|
|
if(CMAKE_CONFIGURATION_TYPES)
|
|
set(NESTED_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
|
|
else(CMAKE_CONFIGURATION_TYPES)
|
|
if(CMAKE_BUILD_TYPE)
|
|
set(NESTED_CONFIG_TYPE -C "${CMAKE_BUILD_TYPE}")
|
|
else(CMAKE_BUILD_TYPE)
|
|
set(NESTED_CONFIG_TYPE)
|
|
endif(CMAKE_BUILD_TYPE)
|
|
endif(CMAKE_CONFIGURATION_TYPES)
|
|
|
|
# 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
|
|
-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:STRING=${ExportImport_BINARY_DIR}/Root
|
|
-DCMAKE_SKIP_RPATH:BOOL=ON
|
|
)
|
|
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
|
|
-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:STRING=${ExportImport_BINARY_DIR}/Root
|
|
-DCMAKE_SKIP_RPATH:BOOL=ON
|
|
)
|
|
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)
|