Merge branch 'master' into project_setup_refactor

# Conflicts:
#	3rdParty/CMakeLists.txt
#	3rdParty/libarchive/CMakeLists.txt
#	CMakeLists.txt
This commit is contained in:
Georg Hagen
2024-08-04 18:05:50 +02:00
70 changed files with 1096 additions and 274 deletions

View File

@@ -4,14 +4,20 @@ function(LinkAppleFrameworks TARGET)
PUBLIC "-framework Foundation"
PUBLIC "-framework CoreImage"
PUBLIC "-framework CoreVideo"
PUBLIC "-framework CoreGraphics"
PUBLIC "-framework Metal"
PUBLIC "-framework MetalPerformanceShaders"
PUBLIC "-framework ARKit"
PUBLIC "-framework MetalKit"
PUBLIC "-framework IOSurface"
PUBLIC "-framework QuartzCore"
PUBLIC "-lstdc++"
PUBLIC c++
PUBLIC c
)
if(IOS)
target_link_libraries(${TARGET} PUBLIC "-framework ARKit")
endif()
# Locate system libraries on iOS
find_library(UIKIT UIKit)
@@ -19,11 +25,20 @@ function(LinkAppleFrameworks TARGET)
find_library(MOBILECORESERVICES MobileCoreServices)
find_library(CFNETWORK CFNetwork)
find_library(SYSTEMCONFIGURATION SystemConfiguration)
find_library(APPKIT AppKit)
find_library(IOSURFACE IOSurface)
find_library(QUARTZ Quartz)
# link the frameworks located above
target_link_libraries(${TARGET} PUBLIC ${UIKIT})
if(IOS)
target_link_libraries(${TARGET} PUBLIC ${UIKIT})
target_link_libraries(${TARGET} PUBLIC ${MOBILECORESERVICES})
else()
target_link_libraries(${TARGET} PUBLIC ${APPKIT})
target_link_libraries(${TARGET} PUBLIC ${QUARTZ})
endif()
target_link_libraries(${TARGET} PUBLIC ${IOSURFACE})
target_link_libraries(${TARGET} PUBLIC ${FOUNDATION})
target_link_libraries(${TARGET} PUBLIC ${MOBILECORESERVICES})
target_link_libraries(${TARGET} PUBLIC ${CFNETWORK})
target_link_libraries(${TARGET} PUBLIC ${SYSTEMCONFIGURATION})
endfunction()
endfunction()

View File

@@ -1,9 +1,13 @@
function(FilterPlatformPaths sourcesVar)
if (IOS)
list(FILTER ${sourcesVar} EXCLUDE REGEX ".*GLFW.*")
list(FILTER ${sourcesVar} EXCLUDE REGEX ".*[\\/]Host[\\/]MacOS[\\/].*")
else ()
list(FILTER ${sourcesVar} EXCLUDE REGEX ".*[\\/]Host[\\/]iOS[\\/].*")
list(FILTER ${sourcesVar} EXCLUDE REGEX ".*[\\/]AR[\\/]Provider[\\/]ArKit[\\/].*")
endif ()
if (NOT APPLE)
list(FILTER ${sourcesVar} EXCLUDE REGEX ".*[\\/]Host[\\/]Apple[\\/].*")
endif ()
if (NOT LINUX)
list(FILTER ${sourcesVar} EXCLUDE REGEX ".*[\\/]Host[\\/]Linux[\\/].*")
@@ -15,4 +19,4 @@ function(FilterPlatformPaths sourcesVar)
list(FILTER ${sourcesVar} EXCLUDE REGEX "main\.(m|mm|c|cpp)")
set(${sourcesVar} ${${sourcesVar}} PARENT_SCOPE)
endfunction()
endfunction()