Buckets:
| set(LLAMA_WIN_APP_MANIFEST "${CMAKE_CURRENT_LIST_DIR}/../common/win-app.manifest") | |
| if(WIN32) | |
| if(MSVC OR CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC") | |
| set(LLAMA_WIN_APP_MSVC_ABI TRUE) | |
| else() | |
| set(LLAMA_WIN_APP_MSVC_ABI FALSE) | |
| endif() | |
| if(NOT LLAMA_WIN_APP_MSVC_ABI) | |
| if(CMAKE_VERSION VERSION_LESS 3.21) | |
| message(FATAL_ERROR "CMake 3.21 or newer is required to build for Windows with the GNU ABI") | |
| endif() | |
| enable_language(RC) | |
| set(LLAMA_WIN_APP_MANIFEST_RC "${CMAKE_CURRENT_BINARY_DIR}/win-app-manifest.rc") | |
| configure_file("${CMAKE_CURRENT_LIST_DIR}/win-app.rc.in" "${LLAMA_WIN_APP_MANIFEST_RC}" @ONLY) | |
| set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${LLAMA_WIN_APP_MANIFEST}") | |
| endif() | |
| endif() | |
| function(llama_add_app_manifest target) | |
| if(NOT WIN32) | |
| return() | |
| endif() | |
| get_target_property(_aliased ${target} ALIASED_TARGET) | |
| if(_aliased) | |
| return() | |
| endif() | |
| get_target_property(_type ${target} TYPE) | |
| if(NOT _type STREQUAL "EXECUTABLE") | |
| return() | |
| endif() | |
| if(LLAMA_WIN_APP_MSVC_ABI) | |
| target_sources(${target} PRIVATE "${LLAMA_WIN_APP_MANIFEST}") | |
| else() | |
| if(NOT TARGET llama-win-app-manifest-res) | |
| add_library(llama-win-app-manifest-res OBJECT ${LLAMA_WIN_APP_MANIFEST_RC}) | |
| set_source_files_properties(${LLAMA_WIN_APP_MANIFEST_RC} PROPERTIES OBJECT_DEPENDS "${LLAMA_WIN_APP_MANIFEST}") | |
| endif() | |
| target_link_libraries(${target} PRIVATE "$<TARGET_OBJECTS:llama-win-app-manifest-res>") | |
| endif() | |
| endfunction() | |
| function(llama_apply_app_manifests_dir dir) | |
| get_property(_targets DIRECTORY "${dir}" PROPERTY BUILDSYSTEM_TARGETS) | |
| foreach(_target IN LISTS _targets) | |
| llama_add_app_manifest(${_target}) | |
| endforeach() | |
| get_property(_subdirs DIRECTORY "${dir}" PROPERTY SUBDIRECTORIES) | |
| foreach(_subdir IN LISTS _subdirs) | |
| llama_apply_app_manifests_dir("${_subdir}") | |
| endforeach() | |
| endfunction() | |
| function(llama_apply_app_manifests) | |
| if(NOT WIN32) | |
| return() | |
| endif() | |
| get_property(_subdirs DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" PROPERTY SUBDIRECTORIES) | |
| foreach(_dir IN LISTS _subdirs) | |
| get_filename_component(_name "${_dir}" NAME) | |
| if(_name STREQUAL "app" OR _name STREQUAL "examples" OR _name STREQUAL "pocs" OR _name STREQUAL "tests" OR _name STREQUAL "tools") | |
| llama_apply_app_manifests_dir("${_dir}") | |
| endif() | |
| endforeach() | |
| endfunction() | |
Xet Storage Details
- Size:
- 2.53 kB
- Xet hash:
- 45bfebd0899ba62431328f9e19deaa2062284d542db29353df6fb014a334828c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.