프로젝트를 위해 약간 패치 된 GCC 버전을 만들고 나머지 프로젝트를 컴파일해야합니다. 나는 이것을하기위한 최선의 방법이 무엇인지 궁금합니다. 현재 ExternalProject_Add
다른 바이너리에 대한 종속성으로 컴파일러를 빌드하는 데 사용하고 있지만 프로젝트의 일부에 대한 컴파일러를 변경하는 방법을 모르겠습니다.컴파일러를 외부 프로젝트로 컴파일하고 사용 하시겠습니까?
1
A
답변
1
가장 좋은 방법은 아마도 슈퍼 빌드로 구성하는 것입니다. 최상위 프로젝트에는 ExternalProject_Add
을 사용하여 빌드 된 두 개의 하위 프로젝트가 있습니다. 컴파일러는 첫 번째 하위 프로젝트이고 두 번째 프로젝트는 실제 프로젝트이므로 실제 하위 프로젝트를 컴파일러 하위 프로젝트에 종속시킴으로써 컴파일러를 사용할 수 있습니다.
두 번째 대안은 discussed here이며 실제 프로젝트는 최상위 프로젝트로 유지되지만 컴파일러는 external_process()
을 통해 호출되는 하위 빌드로 작성됩니다. 저는 실제 상황에서이 접근법을 사용했고, 작동하는 동안 다른 개발자가 좀 더 깔끔하고 잘 이해할 수 있기 때문에 선택의 여지가 있다면 개인적으로 superbuild 접근 방식을 사용합니다.
마지막으로 hunter과 같은 것이 컴파일러를 작성할 수 있는지 고려하십시오. GCC를 패치 할 대상/방법에 따라 가장 매력적인 접근 방법 일 수도 있고 아닐 수도 있습니다.
0
저는 두 개의 CMake 프로젝트를 사용합니다. 하나는 컴파일러를, 다른 하나는 빌드 된 컴파일러로 실제 프로젝트를 빌드하는 것입니다. CMake 컴파일러는 CMake의 중요한 부분으로, 변경은 문제를 요구하고있다.
한 프로젝트에 모든 것을 갖고 싶다면 add_custom_command
으로 실제 프로젝트를 호출하고 하위 폴더를 호출 할 수 있습니다. 사용자로서 이것은 더 놀라운 일이지만 더 나은 통합으로 이어질 수 있습니다.
관련 문제
- 1. 외부 EXE를 시작 프로젝트로 사용
- 2. WinRT에서 외부 Java 프로그램을 컴파일하고 실행 하시겠습니까?
- 3. CMake : 외부 프로젝트로 GLFW
- 4. IDE가있는 경우 GCC 컴파일러를 사용 하시겠습니까?
- 5. 런타임 중 : C# 코드를 작성하고 컴파일하고 사용 하시겠습니까?
- 6. 프로젝트로 빠르게 이동 하시겠습니까?
- 7. openAL과 mingw를 컴파일하고 링크 하시겠습니까?
- 8. yii 기반 프로젝트를 컴파일하고 단일 바이너리 파일로 사용 하시겠습니까?
- 9. Android 2.3.5에서 명령 행 C++ 프로그램을 컴파일하고 사용 하시겠습니까?
- 10. Matlab에 Java 컴파일러를 추가 하시겠습니까?
- 11. Google 클로저 컴파일러를 Eclipse IDE와 통합 하시겠습니까?
- 12. Cocos2D-JS - 'Clean'빌드를 컴파일하고 실행 하시겠습니까?
- 13. 어셈블리를 만드는 데 사용 된 언어와 컴파일러를 식별 하시겠습니까?
- 14. VS 2008 IDE에서 VS 2010 컴파일러를 사용 하시겠습니까?
- 15. 컴파일러를 서비스 실행 컨텍스트로 사용
- 16. Emacs 내에서 기본 컴파일러를 변경 하시겠습니까?
- 17. Appengine에서 외부 MySQL 서버를 사용 하시겠습니까?
- 18. Redmine을 외부 Wiki와 함께 사용 하시겠습니까?
- 19. CakePHP에서 PHP를 외부 자바 스크립트로 사용 하시겠습니까?
- 20. 프록시를 통해서만 외부 서버 액세스를 사용 하시겠습니까?
- 21. 외부 앱에서 Shopify API를 사용 하시겠습니까? (backbone.js)
- 22. 아스키/외부 파일에 INSERT INTO를 사용 하시겠습니까?
- 23. 입자 디자이너에서 프로젝트로 입자 사용
- 24. cmake를 사용하여 두 파일을 컴파일하고 연결 하시겠습니까?
- 25. 파이썬 코드를 컴파일하고 C++ 프로그램에 연결 하시겠습니까?
- 26. 외부 Android .jar 라이브러리를 Eclipse의 Android 프로젝트로 가져올 수 없습니다.
- 27. 메모리를 적게 사용하도록 GWT 컴파일러를 구성 하시겠습니까?
- 28. Kotlin 컴파일러를 JavaScript에서 JavaScript로 변환 하시겠습니까?
- 29. scons가 이전 컴파일러를 사용하도록 강요 하시겠습니까?
- 30. Mac OS에서 COBOL 컴파일러를 설정 하시겠습니까?
LLVM의 CMake 전문가는 같은 문제에 직면 해 있습니다. 아마 그의 솔루션을 체크 아웃 할 수 있습니다 : http://lists.llvm.org/pipermail/llvm-dev/2016- August/104174.html – usr1234567