Add linker tools
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- cmake, cpp, github-actions, typescript
- Lĩnh vực
- build-system, ci-cd, tooling
Hướng nghiên cứu
Bắt đầu bằng cách truy vết việc xử lý các tùy chọn của setup-cpp CLI và GitHub Actions cho các công cụ biên dịch, đồng thời so sánh với hỗ trợ theo kiểu clangtidy được đề cập trong task. Xem xét cách sử dụng CMakeOptions.cmake và find_linker được nêu trong issue, sau đó xác định hành vi cài đặt và lựa chọn cho lld, mold, sold và gold trên các nền tảng đã nêu. Hoàn thành khi có thể chọn các tùy chọn linker được yêu cầu thông qua CLI và cấu hình Actions.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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/*
- Ngôn ngữ chính
- TypeScript
- Star
- 277
- Fork
- 37
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của aminya/setup-cpp
-
Default to CMake 4Đang mởenhancement more-information-needed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
-
Brew LLVM OpenMPCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
-
Dependency DashboardĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
-
Support github cacheĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Tất cả issue của aminya/setup-cpp
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
caprover/caprover-frontend#273 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ai-driven-dev/framework#1147 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent-ui bug p2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
cybersemics/em#6232 ·
Maintainer thường phản hồi trong vòng 1 ngày