C++ 20 Modules Update

I’m getting some errors because (I guess) it doesn’t know about new extensions, like .ccm.

I changed my file extension from .cc to .ccm, as instructed by the Clang docs. That caused this error below about the “linker language”. I got past that by adding the set_target_properties.

CMake Error: CMake can not determine linker language for target: learn_modules_lib
add_library(learn_modules_lib)
target_sources(learn_modules_lib
  PUBLIC
    FILE_SET cxx_modules TYPE CXX_MODULES FILES
    Learning/Modules/foo.ccm
)
# 'Fixes' error
set_target_properties(learn_modules_lib PROPERTIES LINKER_LANGUAGE CXX)

Now I get another error when I build…

FAILED: Learning/liblearn_modules_lib.a 
: && /usr/local/Cellar/cmake/HEAD-3d6075d/bin/cmake -E rm -f Learning/liblearn_modules_lib.a && /usr/bin/ar qc Learning/liblearn_modules_lib.a   && /Users/rob/Dev/llvm-project/build/bin/llvm-ranlib Learning/liblearn_modules_lib.a && /usr/local/Cellar/cmake/HEAD-3d6075d/bin/cmake -E touch Learning/liblearn_modules_lib.a && :
ar: no archive members specified
usage:  ar -d [-TLsv] archive file ...
	ar -m [-TLsv] archive file ...
	ar -m [-abiTLsv] position archive file ...
	ar -p [-TLsv] archive [file ...]
	ar -q [-cTLsv] archive file ...
	ar -r [-cuTLsv] archive file ...
	ar -r [-abciuTLsv] position archive file ...
	ar -t [-TLsv] archive [file ...]
	ar -x [-ouTLsv] archive [file ...]
ninja: build stopped: subcommand failed.