Carregando...
Carregando...
Ajude a melhorar a plataforma
Durante a configuração de um projeto C++ com múltiplos arquivos-fonte e diretórios, o uso de CMake tornou-se essencial para automatizar a geração do projeto e controlar o processo de compilação de forma eficiente. O desenvolvedor deseja compilar um executável principal, organizar os arquivos em subdiretórios e incluir bibliotecas externas de forma modular, mantendo clareza e reutilização no projeto. Considerando práticas reais de uso do CMake nesse contexto, analise as afirmativas a seguir:
I. O comando add_subdirectory() permite incluir subdiretórios que contenham seus próprios arquivos CMakeLists.txt, possibilitando a organização modular de bibliotecas ou partes da aplicação. II. A instrução target_include_directories() pode ser usada para especificar diretórios de cabeçalhos para um alvo específico, evitando que os includes precisem ser definidos globalmente. III. A função find_package() permite localizar bibliotecas externas instaladas no sistema, mas seu uso depende da existência de módulos de configuração apropriados para cada biblioteca. IV. O comando add_executable() deve ser utilizado apenas dentro de subdiretórios, e não no diretório principal do projeto, onde apenas configurações globais devem ser declaradas.
Está correto o que se afirma em:
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
🎓 Gabarito
A alternativa correta é C
JUSTIFICATIVA:
As afirmativas I, II e III estão corretas. O comando $add_subdirectory()$ é utilizado para adicionar subdiretórios ao build, permitindo que cada um tenha seu próprio arquivo $CMakeLists.txt$, o que favorece a modularidade. A instrução $target_include_directories()$ permite definir diretórios de inclusão específicos para um target, promovendo o encapsulamento e evitando poluição global de caminhos. A função $find_package()$ é o método padrão para encontrar e carregar configurações de pacotes externos. A afirmativa IV está incorreta pois o comando $add_executable()$ pode ser utilizado no diretório principal para definir o executável da aplicação, não havendo restrição de uso apenas em subdiretórios.