使用cmake编译xcode的framework,并且保留Headers目录结构,并携带bundle资源

参考文档:

tvm_phone/tvm-cmake-ios.md at master · zhaowd2001/tvm_phone · GitHub

https://blog.csdn.net/qq_38743313/article/details/101601778/

参考了前面几个文档,发现都不是最好的解决办法,准确的说就没起作用,哈哈哈。

我的测试目录结构如下:

根目录/

        assets/test.txt   

        interface/test/somefile.h

        src/somefile.cpp

        CMakeLists.txt

        ios.toolchain.cmake

        build.sh

assets是我想直接复制到framework中去的资源

CMakeLists.txt内容如下

cmake_minimum_required(VERSION 3.10.2)

project(CMakeTestLib)

enable_language(CXX)

set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib/${OUTPUT_PATH})

file(GLOB_RECURSE SOURCE_FILES ${CMAKE_SOURCE_DIR}/src/*.cpp)
file(GLOB_RECURSE INCLUDE_FILES ${CMAKE_SOURCE_DIR}/interface/*.h)
file(GLOB_RECURSE ASSETS_FILES ${CMAKE_SOURCE_DIR}/assets/*.txt)

MESSAGE( STATUS "SOURCE_FILES: " ${SOURCE_FILES} )
MESSAGE( STATUS "INCLUDE_FILES: " ${INCLUDE_FILES} )
MESSAGE( STATUS "ASSETS_FILES: " ${ASSETS_FILES} )

set(RESOURCE_FILES
			${CMAKE_SOURCE_DIR}/assets/note.txt
	)

include_directories(${PROJECT_NAME} 
		${CMAKE_SOURCE_DIR}/interface
)
			
add_library(${PROJECT_NAME}
		SHARED 
		${SOURCE_FILES}
		${CMAKE_SOURCE_DIR}/interface
		${CMAKE_SOURCE_DIR}/assets
)

# Debug symbols set in XCode project
# set_xcode_property(${PROJECT_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS YES "All")

set_target_properties(${PROJECT_NAME} PROPERTIES
	FRAMEWORK TRUE
	FRAMEWORK_VERSION A
	MACOSX_FRAMEWORK_IDENTIFIER com.test.${PROJECT_NAME}
	# MACOSX_FRAMEWORK_INFO_PLIST Info.plist
	# "current version" in semantic format in Mach-O binary file
	VERSION 1.0.1
	# "compatibility version" in semantic format in Mach-O binary file
	SOVERSION 1.0.1
	PUBLIC_HEADER ${CMAKE_SOURCE_DIR}/interface
	RESOURCE ${CMAKE_SOURCE_DIR}/assets
	#XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
)

target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/interface)

注意事项:

1、无论是headers还是assets,都要先在add_library中添加了才有用。

2、PUBLIC_HEADER和RESOURCE 后面都可以直接写目录,而非文件列表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值