CMake�������
1 CMake�������� CMake��v3.12֮�������˲��������ԣ�Ϊ��ʹ�������ԣ���������openEuler ������֧��CMake������ v3.17.2�汾����֤ͨ�������20.3 LTS ��֧���ʼ�������CMake �汾�����������λ���ʹ��CMake ���ҷ�����������ܴ���Ӱ�죬�뾡���֪���ǡ� 2 CMake���� ͨ����ɾ���ͱ�����������Linux����Ӱ��ģ�������Ӱ��1�����߰汾��CMake��export(PACKAGE) ����ֻ��ͨ������CMAKE_EXPORT_PACKAGE_REGISTRY�����Ż���Ч����Ȼ��ִ���κβ�����(�漰������ܲ���Ч���ڸ߰汾��ʹ��ǰ����������CMAKE_EXPORT_PACKAGE_REGISTRY����) 3 �������� 3.1 �������� (1) CMake��Visual Studio��XCode��Green Hills MULTI���������������ĺ������� (2) CMake�����˶�Object C��Object C++��CUDA�����Ե�֧�֡� (3) CMake�����˶����ɱ�����֧�֡� (4) CMake����֧�� ʹ�üĹ������ļ����iOS��tvOS��watchOShttps://cmake.org/cmake/help/v3.15/manual/cmake-toolchains.7.html#cross-compiling-for-ios-tvos-or-watchos���н������https://cmake.org/cmake/help/v3.15/manual/cmake-toolchains.7.html#cross-compiling-for-ios-tvos-or-watchos�� ���ͻ���x86_64��aarch64�ܹ���Linux�ں˵�EulerOS����ϵͳû�й�ϵ���� 3.2 ����� (1) CMake��v3.14���Ժ�������һ�������ļ���API���ṩ���ḻ�������ּ��ȡ��cmake-serverhttps://cmake.org/cmake/help/v3.15/manual/cmake-server.7.html#manual:cmake-server(7)��IDEģʽ��(��v3.15��ǿ��δ���Ὣcmake-server�Ƴ�������ʹ��cmake-file-api���������v3.17��cmake-server��Ȼ���ڣ��ܹ����¼���)�� 3.3 �������� (1) cmake����������������ѡ��-S <source_dir>����ָ��ԴĿ¼λ�ã���ѡ�������-B����ʹ�á�(���¼���) (2) cmake����������������ѡ��-B<build_dir>����ָ��buildĿ¼����ѡ�������-S����ʹ�á�(���¼���) (3) cmake �CE <create_sysmlink>������Windows��ʹ�á�(���¼���) (4) cmake ��������ģʽ(cmake --build)�����ˡ�verbose��-vѡ������ָ����ϸ�Ĺ����������ijЩ����������Xcode��֧�ִ�ѡ�(���¼���) (5) cmake -E compare_files������������һ���� --ignore-eolѡ�����ָ���ڱȽ��ļ�ʱӦ������β���죨����LF��CRLF����(���¼���) (6) cmake-guihttps://cmake.org/cmake/help/v3.15/manual/cmake-gui.1.html#manual:cmake-gui(1)�Ի��������µ�-S��-B��������ȷָ��Դ�ļ�������Ŀ¼��(���¼���) (7) ������CMAKE_CENERATOR��������ʹ��cmakeû��-Gѡ������ʱ��ָ��һ��Ĭ����������(���¼���) (8) cmake �Cbuild���� �Ctarget���������˶Զ��Ŀ���֧�֡�(���¼���) (9) cmake����������һ����installѡ����ܹ��ڹ���һ����Ŀ�����а�װ��ʹ������������ʹ�����ɵĹ���ϵͳ���������ߡ�(���¼���) (10) cmake������һ���µ�CLIѡ�loglevel��(���¼���) (11) cmake �CE remove_directory�����й���������֧��ɾ�����Ŀ¼��(���¼���) (12) cmake �CE tar�������������ɹ��ܡ�(���¼���) (13) cmake -E����֧��true��false������Ƿֱ�0��1���˳�����ʱ��ִ���κβ�����(���¼���) (14) cmake������һ����trace-redirect=<file>������ѡ������ڽ�--trace����ض����ļ�������stderr��(���¼���) (15) cmake --loglevel������ѡ����������Ϊ--log-level��ʹ��������������ѡ�����������һ�¡�(��--loglevel����������������¼���) (16) cmake�����ˡ�debug-find������ѡ�������find_*��������ʱ�õ����������ɶ������(���¼���) (17) cmake�����ˡ�trace-fromatѡ���������á�trace�����ʽ����ǰ��֧�־ɵ�����ɶ���ʽ���µ�JSON��ʽ���µ�JSON��ʽ�����и�ʽ�������Զ�������(���¼���) (18) cmake������-E rm����ɾ��Ŀ¼���ļ���ȡ�������е�-E remove��-E remove_directory�������и��õ�����Ч����(�ɵ�������ѡ�����ɱ��������¼���) 3.4 ������� �������ڱ�дCmakeLists.txt�ļ�ʱ�õ�������ִ��ij��������ʹ�ø�ʽ����:Command(operation)��eg. add_subdirectory(src bin)�� (1) add_custom_command()he add_custom_target()������WORKING_DIRECTORYѡ����֧������������ʽ��(���¼���) (2) add_link_options()���������ڵ�ǰĿ¼��������ѡ�(���¼���) (3) ����install(Ŀ¼)����������װ�ڵ�ǰĿ¼֮�ⴴ����Ŀ�ꡣ(���¼���) (4) link_directories���������˿��Ʋ���λ�õ�ѡ�(���¼���) (5) list�����������ڿ��ƶ���Ŀ���н�������ıȽϲ�����ѡ�(���¼���) (6) math���������˻�ȡ16���Ƶ�ѡ�(���¼���) (7) target_link_directories����ΪĿ�꼰������ָ������Ŀ¼��(���¼���) (8) target_link_options()����ΪĿ���������ָ������ѡ�(���¼���) (9) target_link_libraries()�������ڿ��Ե��������ڵ�ǰĿ¼֮�ⴴ����Ŀ�ꡣ(���¼���) (10) file()https://cmake.org/cmake/help/v3.15/command/file.html#command:file����������һ���µ������CREATE_LINK�����ڴ���Ӳ���ӻ�������ӡ�(���¼���) (11) file()����������һ���µ������READ_SYMLINK����ȷ����������ָ���·����(���¼���) (12) file()����������һ��SIZEģʽ����ȡ������һ���ļ��Ĵ�С��(���¼���) (13) find_package()������������ѡ��Ľ��������������ļ�·���еķ������ӡ�(���¼���) (14) if()https://cmake.org/cmake/help/v3.15/command/if.html#command:if����������֧�ּ����Ƿ����˻�������Ĺ��� ��(���¼���) (15) try_compile()https://cmake.org/cmake/help/v3.15/command/try_compile.html#command:try_compile �� try_run()https://cmake.org/cmake/help/v3.15/command/try_run.html#command:try_run������������LINK_OPTIONSѡ�(���¼���) (16) add_library()����������ALIASѡ��֧��UNKNOWN���͵ĵ���⡣(���¼���) (17) cmake_parse_arguments()����������<prefix>_KEYWORDS_MISSING_VALUES����������Ը�֪�����߸�������ֵ�Ĺؼ��ֲ�����(���¼���) (18) execute_process()��������COMMAND_ECHOѡ�֧��CMAKE_EXECUTE_PROCESS_COMMAND_ECHO������������ִ��֮ǰ�����������ַ������ԡ�(���¼���) (19) file����������һ���µIJ���FOLLOW_SYMLINK_CHAIN���ò��� �����ڵݹ�����Ͱ�װ�������ӡ�(���¼���) (20) list()�������µ������PREPENDF��POP_FRONT��POP_BACK��(���¼���) (21) string()�������µ�������REPEAT��(���¼���) (22) add_test()����������COMMAND_EXPAND_LISTSѡ�ʵ����COMMAND�����е��б���չ������������������ʽ�������б���(���¼���) (23) file������������GET_RUNTIME_DEPENDENCIES�����Եݹ��ȡ�ɿ�ִ���ļ�������ӵĿ���б�����������ּ�����GetPrerequisiteshttps://cmake.org/cmake/help/v3.16/module/GetPrerequisites.html#module:GetPrerequisites��(���¼���) (24) ������target_precompile_headers()������ָ��ҪԤ����ı�ͷ�б����Լӿ�����ٶȡ�(���¼���) (25) ������add_custom_command()https://cmake.org/cmake/help/v3.17/command/add_custom_command.html#command:add_custom_command������ָ������ڵ�ǰ������Ŀ¼�н���DEPENDS������·����(���¼���) (26) foreach()����������ZIP_LISTSѡ�����ͬʱ��������б���(���¼���) (27) load_cache����ģʽ���ڿ�����ʹ��cmake �CP�����нű���(���¼���) (28) message()https://cmake.org/cmake/help/v3.17/command/message.html#command:message�����������µĹؼ���CHECK_START�� CHECK_PASS��CHECK_FAIL��(���¼���) 3.5 ������ (1) FindQthttps://cmake.org/cmake/help/v3.15/module/FindQt.html#module:FindQt ģ�鲻�ٱ� find_package()https://cmake.org/cmake/help/v3.15/command/find_package.html#command:find_package ������Ϊ����ģ�顣������Qt Project���ξͿ���ѡ���ṩ���Լ���QtConfig.cmake����������ļ�������Ӧ�ó���ͨ��find_package(Qt)������ find_package(Qt CONFIG)��������Ӧ������(���漰����������¼���) (2) ����export(PACKAGE)https://cmake.org/cmake/help/v3.15/command/export.html#command:export ����ֻ��ͨ������CMAKE_EXPORT_PACKAGE_REGISTRYhttps://cmake.org/cmake/help/v3.15/variable/CMAKE_EXPORT_PACKAGE_REGISTRY.html#variable:CMAKE_EXPORT_PACKAGE_REGISTRY��������Ȼ��ִ���κβ�����(�漰������ܲ���Ч��ʹ��ǰ����������CMAKE_EXPORT_PACKAGE_REGISTRYhttps://cmake.org/cmake/help/v3.15/variable/CMAKE_EXPORT_PACKAGE_REGISTRY.html#variable:CMAKE_EXPORT_PACKAGE_REGISTRY����) (3) �������������ɱ�����ģ��Ȳ�����ʹ�ã���δ���汾�н����Ƴ�������v3.17�о������������� 4 ������� ���ݴֲο�CMake Release Note��CMake User Manual����CMakeʵ��ʹ�þ��鲻�㣬����������©�������λר�Ҷ��������
��λ� ŷ����-2012 ʵ���� ��Ϊ��������˾ Tel : +86 15158056404 Email : licihua@huawei.com [cid:image001.png@01D62FAC.E7B3F7E0]
This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!