blob: 8d37f93b898ec78538b6221f30e6fb27f2e85831 [file] [log] [blame] [edit]
# Test that isolated files from subdirectories get proper subdirectory-based object paths,
# while non-isolated files are combined in unity buckets regardless of subdirectory.
set(CMAKE_UNITY_BUILD ON)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/subdir1)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/subdir2)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/main.cpp "int main() { return 0; }\n")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/subdir1/unity_file.cpp "int unity_file() { return 1; }\n")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/subdir2/isolated_file.cpp "int isolated_file() { return 2; }\n")
add_executable(main
${CMAKE_CURRENT_BINARY_DIR}/main.cpp
${CMAKE_CURRENT_BINARY_DIR}/subdir1/unity_file.cpp
${CMAKE_CURRENT_BINARY_DIR}/subdir2/isolated_file.cpp
)
set_source_files_properties(
${CMAKE_CURRENT_BINARY_DIR}/subdir2/isolated_file.cpp
TARGET_DIRECTORY main
PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON
)