CMake 설명서 설명 (4)

5171 단어
SirDigit
CMake 설명서 설명 (4)
CMake 매뉴얼의 인사말을 끝내고 본론으로 들어가기 시작했다.첫 번째 부분은 CMake 명령입니다.명령은 명령행 아래 운영체제가 제공하는 각종 명령에 해당하며 중요성은 말하지 않아도 안다.이러한 명령은 CMake 구축 시스템의 뼈대라고 할 수 있습니다.CMake 2.8.3에는 다음과 같은 80개의 명령이 있습니다.custom_command, add_custom_target, add_definitions, add_dependencies, add_executable, add_library, add_subdirectory, add_test, aux_source_directory, break, build_command, cmake_minimum_required, cmake_policy, configure_file, create_test_sourcelist, define_property, else, elseif, enable_language, enable_testing, endforeach, endfunction, endif, endmacro, endwhile, execute_process, export, file, find_file, find_library, find_package, find_path, find_program, fltk_wrap_ui, foreach, function, get_cmake_property, get_directory_property, get_filename_component, get_property, get_source_file_property, get_target_property, get_test_property, if, include, include_directories, include_external_msproject, include_regular_expression, install, link_directories, list, load_cache, load_command, macro, mark_as_advanced, math, message, option, output_required_files, project, qt_wrap_cpp, qt_wrap_ui, remove_definitions, return, separate_arguments, set, set_directory_properties, set_property, set_source_files_properties, set_target_properties, set_tests_properties, site_name, source_group, string, target_link_libraries, try_compile, try_run, unset, variable_watch, while.이 명령들은 수첩에 사전순으로 배열되어 있다.찾기에 편리하도록 번역도 사전 순서에 따라 조직한다.그러나 번역이 끝난 후 명령에 대한 소결을 통해 이 명령의 사용 방법과 사용 시기를 논의할 예정이다.
==================================================================
CMD#1 : add_custom_command는 생성된 구축 시스템에 사용자 정의 구축 규칙을 추가합니다.  add_custom_command 명령은 두 가지 주요 기능이 있다.첫 번째는 출력 파일을 만들기 위해 사용자 정의 명령을 추가하는 것입니다.
  add_custom_command(OUTPUT output1 [output2 ...]                      COMMAND command1 [ARGS] [args1...]                      [COMMAND command2 [ARGS] [args2...] ...]                      [MAIN_DEPENDENCY depend]                      [DEPENDS [depends...]]                      [IMPLICIT_DEPENDS depend1 ...]                      [WORKING_DIRECTORY dir]                      [COMMENT comment] [VERBATIM] [APPEND])
이 명령 형식은 지정한 파일 (파일 그룹) 을 생성하는 생성 명령을 정의합니다.같은 경로에서 생성된 대상 (CMakeLists.txt 파일) 은 사용자 정의 명령의 출력이 원본 파일로 되어 있습니다. 구축할 때 지정한 명령을 사용하여 파일을 생성합니다.출력 파일 이름이 상대 경로라면 구축 트리 경로에 대한 상대 경로로 해석되고 현재 원본 경로와 대응합니다.주의, MAINDEPENDENCY는 비주얼 스튜디오에 사용자 정의 명령을 중단할 것을 제안하는 데 사용할 수 있습니다.이 명령은 다양한 유형의 makefile에서 다음과 같은 형식의 새 대상을 만듭니다.
 OUTPUT: MAIN_DEPENDENCY DEPENDS     COMMAND

하나 이상의 명령을 지정하면 순서대로 실행됩니다.ARGS 매개 변수는 선택할 수 있습니다. 이 매개 변수는 뒤로 호환되기 위해 존재하며, 이후에는 무시됩니다.
두 번째 형식은 라이브러리 파일이나 실행 가능한 파일 같은 목표입니다. 사용자 정의 명령을 추가합니다.이런 형식은 목표가 구축되기 전이나 구축된 후의 일부 조작에 사용할 수 있다.이 명령은 목표의 일부분이 되고 목표가 구축될 때만 실행됩니다.만약 목표가 이미 세워졌다면, 이 목표는 실행되지 않을 것이다.
 add_custom_command(TARGET target  PRE_BUILD | PRE_LINK | POST_BUILD  COMMAND command1 [ARGS] [args1...]  [COMMAND command2 [ARGS] [args2...] ...]  [WORKING_DIRECTORY dir]  [COMMENT comment] [VERBATIM])

이 명령은 지정한 목표의 구축 과정과 관련된 새로운 명령을 정의합니다.새 명령이 실행될 시기는 다음 옵션에 따라 결정됩니다.
 PRE_BUILD  -             ;  PRE_LINK   -             ;  POST_BUILD -           ;

PRE는 Visual Studio 7 이상 버전에서만 지원됩니다.BUILD.다른 생성기의 경우 PREBUILD는 PRE로 취급되고...LINK가 해.
WORKING이 지정되면...지정된 경로 아래에서 명령을 실행하는 DIRECTORY 옵션COMMENT 옵션을 설정하면 를 구성할 때, 를 구성하는 정보로, 명령을 실행하기 전에 이 매개변수가 표시됩니다.APPEND 옵션을 지정하면 COMMAND 및 DEPENDS 옵션의 값이 첫 번째 출력 파일의 사용자화 명령에 첨부됩니다.그 전에 같은 출력 파일을 매개 변수로 명령을 호출해야 합니다.현재 버전에서 APPEND 옵션, COMMENT, WORKING 을 지정하면DIRECTORY 및 MAINDEPENDENCY 옵션은 무시되지만 나중에 사용할 수 있습니다.
VERBATIM 옵션을 지정하면 모든 명령의 매개 변수가 알맞게 전의되어 구축 도구가 원래의 매개 변수로 구축 명령을 호출할 수 있도록 합니다.주의,addcustom_command에서 이 인자들을 볼 수 있기 전에 CMake 언어 프로세서가 이 인자들을 전의 처리합니다.올바른 동작을 보장하므로 VERBATIM 매개변수를 사용하는 것이 좋습니다.VERBATIM이 지정되지 않았을 때 CMake의 행동은 플랫폼에 의존한다. 왜냐하면 CMake는 특정한 도구의 특수 문자에 대해 보호 조치를 취하지 않았기 때문이다.
사용자 지정 명령의 출력이 실제 디스크 파일이 아닌 경우 SET 을 사용해야 합니다.SOURCE_FILES_PROPERTIES 명령은 출력된 속성을 SYMBOLIC로 표시합니다.
  IMPLICIT_DEPENDS 옵션은 입력 파일의 억제된 종속성 검색을 요청합니다.주어진 언어 매개 변수 (문장의lang1 - 역주) 는 어떤 프로그래밍 언어를 사용해야 하는지를 지정하는 의존 스캐너입니다.현재까지는 C 및 CXX 언어 스캐너만 지원됩니다.검색에서 발견된 의존 파일은 컴파일할 때 사용자 정의 명령에 추가됩니다.참고, IMPLICITDEPENDS 옵션은 Makefile 생성기까지만 사용할 수 있으며 다른 생성기는 무시합니다.
COMMAND 옵션이 ADD EXECUTABLE 명령으로 생성된 대상을 지정하면 작성 시 실행 파일의 위치가 자동으로 바뀝니다.그리고 하나의 목표급의 의존성은 추가됩니다. 이 실행 가능한 목표는 사용자 정의 명령의 결과에 의존하는 모든 목표 이전에 구축됩니다.단, 이 실행 가능한 파일을 언제든지 다시 컴파일할 수 있으며, 사용자 정의 명령을 다시 실행할 수 있는 파일 수준의 의존을 도입하지 않습니다.
DEPENDS 옵션은 명령이 종속되는 파일을 지정합니다.의존 대상이 같은 디렉터리 (CMakeLists.txt 파일) 의 다른 사용자 정의 명령의 출력이라면, CMake는 자동으로 다른 사용자 정의 명령을 이 명령으로 가져옵니다.DEPENDS가 ADD * 명령으로 생성된 모든 유형의 목표를 지정하면 다른 대상이 이 사용자 정의 명령의 출력을 사용하기 전에 대상이 생성되었는지 확인하기 위해 대상 레벨의 의존성이 생성됩니다.그리고 이 목표가 실행 가능한 파일이나 라이브러리 파일이라면, 사용자 정의 명령이 대상이 다시 컴파일될 때 다시 실행될 수 있도록 파일 수준의 의존이 만들어집니다.
=======================================================
Unix Makefile에서 이 명령은 종속성 및 명시적 생성 명령을 추가하는 것과 같습니다.
<<<------------- 전재를 환영합니다.전재는 출처를 밝혀 주십시오. ----------->>>

좋은 웹페이지 즐겨찾기