Files
CMake/Tests/RunCMake/UnityBuild/unitybuild_cxx_group-check.cmake
Robert Maynard 9f4eb352fe Unity Builds: Support explicit specification of sources to groups
Instead of having CMake determine which files should go into each
unity file, the user can now use explicitly state the mapping.
2020-05-07 11:13:34 -04:00

28 lines
1.1 KiB
CMake

set(unitybuild_a_cxx "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/tgt.dir/Unity/unity_a_cxx.cxx")
if(NOT EXISTS "${unitybuild_a_cxx}")
set(RunCMake_TEST_FAILED "Generated unity source files ${unitybuild_a_cxx} does not exist.")
return()
else()
#verify that odr2 is not part of this source set
file(STRINGS ${unitybuild_a_cxx} unitybuild_a_cxx_strings)
string(REGEX MATCH ".*#include.*odr2.cxx" matched_code ${unitybuild_a_cxx_strings})
if(matched_code)
set(RunCMake_TEST_FAILED "Generated unity file includes un-expected ord2.cxx source file")
return()
endif()
endif()
set(unitybuild_b_cxx "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/tgt.dir/Unity/unity_b_cxx.cxx")
if(NOT EXISTS "${unitybuild_b_cxx}")
set(RunCMake_TEST_FAILED "Generated unity source files ${unitybuild_b_cxx} does not exist.")
return()
else()
#verify that odr1 is not part of this source set
file(STRINGS ${unitybuild_b_cxx} unitybuild_b_cxx_strings)
string(REGEX MATCH ".*#include.*odr1.cxx" matched_code ${unitybuild_b_cxx_strings})
if(matched_code)
set(RunCMake_TEST_FAILED "Generated unity file includes un-expected ord1.cxx source file")
return()
endif()
endif()