4 Star 4 Fork 4

setoutsoft/swinx

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
macos.cmake 2.55 KB
一键复制 编辑 原始数据 按行查看 历史
setoutsoft 提交于 2026-04-22 09:36 +08:00 . update lang api.
add_compile_options(-Wno-extern-c-compat)
add_compile_options(-Wno-unknown-warning-option)
add_compile_options(-Wno-constant-conversion)
add_compile_options(-Wno-comment)
file(GLOB_RECURSE HEADERS include/*.hpp include/*.h)
file(GLOB SRCS
src/*.cpp
src/cmnctl32/*.cpp
src/cmnctl32/*.c
src/platform/cocoa/*.mm
)
source_group("Header Files" FILES ${HEADERS})
source_group("Source Files" FILES ${SRCS})
# Use internal compiled libraries instead of system packages
# Ensure our thirdparty libraries are available
if(NOT TARGET cairo)
message(FATAL_ERROR "cairo target not found. Make sure thirdparty is built first.")
endif()
# Still need Iconv from system
find_package(Iconv REQUIRED)
# Manually add include directories for internal libraries
# This ensures headers can be found during compilation
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/cairo/src)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/thirdparty/cairo/src)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/pixman/pixman)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/freetype/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/fontconfig)
find_library(COCOA_LIBRARY Cocoa)
find_library(QUARTZ_LIBRARY QuartzCore)
find_library(IOKit_LIBRARY IOKit)
find_library(Carbon_LIBRARY Carbon)
find_library(Audio_LIBRARY AudioToolbox)
find_library(CoreFoundation_LIBRARY CoreFoundation)
# Use internal compiled libraries
set(SWINX_LIBS
Iconv::Iconv # System Iconv library
${COCOA_LIBRARY}
${QUARTZ_LIBRARY}
${IOKit_LIBRARY}
${Carbon_LIBRARY}
${Audio_LIBRARY}
${CoreFoundation_LIBRARY}
)
if (NOT SOUI_ENABLE_CORE_LIB)
add_library(swinx SHARED ${SRCS} ${HEADERS})
# 确保导出所有符号,包括fontconfig和freetype的符号
set_target_properties(swinx PROPERTIES
LINK_FLAGS "-Wl,-all_load"
MACOSX_RPATH TRUE
)
else()
add_library(swinx STATIC ${SRCS} ${HEADERS})
endif()
add_dependencies(swinx cairo fontconfig freetype pixman-1)
target_link_libraries(swinx PRIVATE ${SWINX_LIBS} cairo fontconfig freetype pixman-1)
# Add dependencies to ensure proper build order for all internal libraries
if(SOUI_ENABLE_CORE_LIB)
set(SWINX_DEP_LIBS ${SWINX_DEP_LIBS} ${SWINX_LIBS} CACHE INTERNAL "swinx_dep_libs")
endif()
target_compile_options(swinx PRIVATE "-fobjc-arc")
target_include_directories(swinx
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/cocoa
)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/setoutsoft/swinx.git
git@gitee.com:setoutsoft/swinx.git
setoutsoft
swinx
swinx
master

搜索帮助