I'm building an application for which I'd like to support a certain proprietary platform. It uses a modified version of ARMCC which CMake doesn't seem to like - no matter what I do, it keeps trying to provide strange flags to armlink
where it should not, ignoring attempts to override its behavior.
Is it possible to essentially provide an all-new definition of how CMake should deal with a particular compiler? i.e. specify the binary and flags used for compilation, linking, etc., the expected file extensions, etc. throughout the whole process such that CMake doesn't do anything nasty? CMake seems to make custom compiler definitions an incredibly obscure thing to accomplish.
Edit: I've made it provide most of the right flags, but now I'm realizing I can't change the CMake test program - programs for this platform will fail to build if a certain atypical set of symbols (alternative entry point, not main) don't exist.
Edit 2: I've skipped the test program, but now it's failing while trying to get compiler information (why bother? I've given it everything it needs to know for the situation...) with this error:
Error: C9912E: No --cpu selected
To make it abundantly clear, the command it presents on the line above this clearly has the --cpu flag provided to a valid value:
armcc.exe -xc++ --cpu=MPCore -fpch-preprocess -v -dD -E
Though I'm entirely unsure as to what it's trying to do with the rest of it - I can't seem to override this part.