How can I tell (in a generator expression) which language a target is compiled as?

20 Views Asked by At

I want to use a generator expression which puts some text on the command-line of compiling certain targets of mine. The thing is, I need different text for CUDA targets and different text for C++ targets; and for reasons, I have to use the same generator expression for all of them.

So, I want write something like $<IF:$<TARGET_LANGUAGE:CUDA>,foo,bar> - except there is no such thing as TARGET_LANGUAGE.

Here is the list of target-dependent generator expression kinds; I've reproduced it below. I don't see something I could use for the language. What can I do?

TARGET_EXISTS
TARGET_NAME_IF_EXISTS
TARGET_NAME
TARGET_PROPERTY
TARGET_OBJECTS
TARGET_POLICY
TARGET_FILE
TARGET_FILE_BASE_NAME
TARGET_FILE_PREFIX
TARGET_FILE_SUFFIX
TARGET_FILE_NAME
TARGET_FILE_DIR
TARGET_IMPORT_FILE
TARGET_IMPORT_FILE_BASE_NAME
TARGET_IMPORT_FILE_PREFIX
TARGET_IMPORT_FILE_SUFFIX
TARGET_IMPORT_FILE_NAME
TARGET_IMPORT_FILE_DIR
TARGET_LINKER_FILE
TARGET_LINKER_FILE_BASE_NAME
TARGET_LINKER_FILE_PREFIX
TARGET_LINKER_FILE_SUFFIX
TARGET_LINKER_FILE_NAME
TARGET_LINKER_FILE_DIR
TARGET_LINKER_LIBRARY_FILE
TARGET_LINKER_LIBRARY_FILE_BASE_NAME
TARGET_LINKER_LIBRARY_FILE_PREFIX
TARGET_LINKER_LIBRARY_FILE_SUFFIX
TARGET_LINKER_LIBRARY_FILE_NAME
TARGET_LINKER_LIBRARY_FILE_DIR
TARGET_LINKER_IMPORT_FILE
TARGET_LINKER_IMPORT_FILE_BASE_NAME
TARGET_LINKER_IMPORT_FILE_PREFIX
TARGET_LINKER_IMPORT_FILE_SUFFIX
TARGET_LINKER_IMPORT_FILE_NAME
TARGET_LINKER_IMPORT_FILE_DIR
TARGET_SONAME_FILE
TARGET_SONAME_FILE_NAME
TARGET_SONAME_FILE_DIR
TARGET_SONAME_IMPORT_FILE
TARGET_SONAME_IMPORT_FILE_NAME
TARGET_SONAME_IMPORT_FILE_DIR
TARGET_PDB_FILE
TARGET_PDB_FILE_BASE_NAME
TARGET_PDB_FILE_NAME
TARGET_PDB_FILE_DIR
TARGET_BUNDLE_DIR
TARGET_BUNDLE_DIR_NAME
TARGET_BUNDLE_CONTENT_DIR
TARGET_RUNTIME_DLLS
TARGET_RUNTIME_DLL_DIRS
0

There are 0 best solutions below