# 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 )