add_definitions 예제


deal.II 라이브러리 및 해당 자습서와 유사한 메이크 인터페이스를 원한다면, 즉 디버그 및 릴리스 버전에 대한 제작자 대상, 코드 실행 및 정리, CMakeLists.txt 파일을 작성하는 가장 쉬운 방법은 “자동 조종 장치”스타일 매크로를 사용하는 것입니다. 다음은 간단한 프로젝트에 사용할 수있는 Step-1 자습서 프로그램 (일반 텍스트 버전)에 대한 최소한의 예입니다 : 내가 연결 한 @William 대한 대답은 예제를 보여주어야합니다. CMake는 디버그 및 릴리스와 같은 일반적인 빌드 유형에 대해 미리 정의된 컴파일러 플래그 그룹을 편리하게 제공합니다. CMake 빌드 유형을 선택하려면 CMAKE_BUILD_TYPE 변수를 릴리스 중 하나로 설정합니다| 디버그 | 렐와데브정보 | 민사이즈렐. 빌드 형식은 CMakeLists.txt에서 고정하거나 더 일반적으로 명령줄에서 cmake를 위한 인수로 전달할 수 있습니다. 지정된 빌드 유형에 사용되는 특정 C++ 플래그는 컴파일러에 종속되며 CMAKE_CXX_FLAGS_ 변수에 저장됩니다. 예를 들어 Linux/gcc를 사용하면 CMakeLists.txt에 다음 줄이 포함됩니다. CMakeLists.txt의 소스 파일 목록을 직접 관리할 수 있습니다(예: 지정된 대상에 대한 모든 소스 파일을 수동으로 업데이트하거나 glob를 사용하여 이 프로세스를 자동화할 수 있습니다). 다음 예제에서는 SOURCE_DIR/source/에서 모든 소스 파일을 선택하고 실행 파일에 추가합니다: cmake는 CMakeLists.txt라고 하는 입력 파일에 의해 제어되며, 소스 간의 구성 명령과 종속성을 모두 나열합니다. 파일 및 대상을 대상으로 합니다. 이 페이지에서는 프로젝트에서 사용할 수 있는 몇 가지 CMakeLists.txt 예제를 제공합니다. (deal.II 프로젝트 구성에 대한 자세한 설명은 deal.II CMake ReadMe에 나와 있습니다.) 예를 들어 표준 C++로 모든 것이 제대로 컴파일됩니다. 이 메서드는 무슨 일이 일어나고 있는지 완전히 제어할 수 있으며 고급 항목에 대한 섹션의 하위 섹션과 이후의 하위 섹션에서 예시된 것처럼 보다 복잡한 프로젝트에 쉽게 확장할 수 있습니다.