Add linker tools
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- cmake, cpp, github-actions, typescript
- Área
- build-system, ci-cd, tooling
Línea de trabajo
Comienza rastreando el manejo de opciones de setup-cpp CLI y GitHub Actions para las herramientas del compilador, comparándolo con el soporte de estilo clangtidy mencionado en la tarea. Revisa el uso de CMakeOptions.cmake y find_linker mostrado en la issue y, después, define el comportamiento de instalación y selección de lld, mold, sold y gold en las plataformas indicadas. Se considera terminado cuando las opciones de linker solicitadas se pueden seleccionar mediante la CLI y la configuración de Actions.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Tasks
-
lldcan be easily added as it is already supported. We just need to add a CLI and actions option for it. It should be treated the same asclangtidy, etc. - mold
- sold
- gold
Description
Hi,
I was using setup-cpp with project_options (in my docker build) and custemize the linker option, see find_linker.
Would be nice to install mold or one of the other (better) Linker, rather then (gcc) ld or gold.
Improving C++ Compilation Times: Tools & Techniques - Vittorio Romeo - ACCU 2023
So install (?) ...
mold(e.g. whencompilerisgcc)lldwhencompilerisllvm(default)soldfor Mac OS- windows: ???
npx setup-cpp --compiler gcc --linker mold --cmake true --ninja true --ccache true --vcpkg true
More Context
I was getting this Error: /usr/bin/ld.gold: separate-code: unknown -z option.
CMakeOptions.cmake
find_linker(PROJECT_OPTIONS_LINKER)
MESSAGE(STATUS "Use Linker: ${PROJECT_OPTIONS_LINKER}")
project_options(
...
LINKER
${PROJECT_OPTIONS_LINKER})
Compiler found: /usr/bin/g++-13
Use Linker: gold
After that I just installed mold and everything works:
RUN apt-get update -qq && \
# install nodejs
apt-get install -y --no-install-recommends nodejs npm && \
# install setup-cpp
npm install -g [email protected] && \
# install the compiler and tools
setup-cpp \
--nala true \
--compiler ${compiler} \
--cmake true \
--ninja true \
--task true \
--vcpkg true \
--cppcheck true \
--gcovr true \
--doxygen true \
--ccache true && \
# install custom linker
apt-get install -y --no-install-recommends mold && \
# cleanup
nala autoremove -y && \
nala autopurge -y && \
apt-get clean && \
nala clean --lists && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /tmp/*
- Lenguaje dominante
- TypeScript
- Estrellas
- 277
- Forks
- 37
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de aminya/setup-cpp
-
Default to CMake 4Abiertoenhancement more-information-needed
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
-
Brew LLVM OpenMPPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
Dependency DashboardAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
-
Support github cacheAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Todos los issues de aminya/setup-cpp
Issues similares
-
reproduced
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
anomalyco/opencode#61640 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
ai-driven-fuzzing bug Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
ai-driven-fuzzing bug claude Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
linagora/twake-calendar-frontend#1944 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Add: Yichang TVAbiertocheck:passed streams:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día