cmake xctest_add_bundle函数说明和示例

时间:2015-07-07 07:36:01

标签: ios cmake

在最新的cmake版本(v3.3.0)中,可以使用xctest_add_bundle为MAC和IOS创建XCTests包。但是关于如何使用此功能的文档对我来说很糟糕。是否有人可以提供示例来展示如何使用此功能?谢谢。

对于我的应用程序,我想创建一个IOS APP和XCTest。一切都应该用cmake来完成。

1 个答案:

答案 0 :(得分:2)

您已有一个描述xctest_add_bundlexctest_add_test的链接。所以我在下面给你一个示例源代码。

我找到了cmake项目的示例代码。它不仅包括CMakelist.txt文件,还包括示例测试代码。请注意这个例子。

https://cmake.org/gitweb?p=cmake.git;a=tree;f=Tests/XCTest;h=e0b3009744e263fcc81009471c34049a46e8bc7a;hb=HEAD

enable_testing()

find_package(XCTest REQUIRED)

# Framework

add_library(FrameworkExample SHARED
  ${some_source_codes}
  FrameworkExample/Info.plist)

target_include_directories(FrameworkExample PUBLIC .)

set_target_properties(FrameworkExample PROPERTIES
  FRAMEWORK TRUE      # in my experience, this property should be TRUE
  VERSION "1.0.0"
  SOVERSION "1.0.0"
  FRAMEWORK_VERSION "A"
  MACOSX_FRAMEWORK_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/FrameworkExample/Info.plist
  PUBLIC_HEADER FrameworkExample/FrameworkExample.h)

# XCTest for Framework

xctest_add_bundle(FrameworkExampleTests FrameworkExample
  FrameworkExampleTests/FrameworkExampleTests.m
  FrameworkExampleTests/Info.plist)

set_target_properties(FrameworkExampleTests PROPERTIES
  MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/FrameworkExampleTests/Info.plist
  )

xctest_add_test(XCTest.FrameworkExample FrameworkExampleTests)