/ / CMake detectar se nenhum compilador C ++ presente - cmake, cross-compiling

CMake detectar se nenhum compilador C ++ presente - cmake, compilação cruzada

Eu tenho um projeto que primeiro usa um programa C ++ paraprocessar alguns arquivos de modelo (configuração como um subdiretório) e, em seguida, precisa fazer uma compilação cruzada para executar no vxworks. A parte de compilação cruzada será feita por meio de um comando personalizado e um arquivo .bat, mas a primeira parte variará dependendo das opções disponíveis.

Se o computador tiver um compilador apropriado,deve compilar o programa do processador de modelos conforme necessário antes de executá-lo. Alguns computadores, no entanto, não terão um compilador c ++ regular. Nesse caso, quero supor que o programa do processador de modelo esteja instalado em um local específico e continue usando essa versão pré-construída.

Como eu iria abordar isso com o CMake?

Respostas:

0 para resposta № 1

Você pode dar try_run uma tentativa. Ele compila e executa o código-fonte C ++. Se a execução falhar. é indicado na variável de execução com falha que você passa como o primeiro argumento.
A vantagem de usar isso é que você não precisa cuidar da chamada correta do compilador ou de qualquer sinalizador.

Documentação: https://cmake.org/cmake/help/v3.4/command/try_run.html
Especialmente o seção sobre compilação cruzada