Lines Matching +full:mingw +full:- +full:use +full:- +full:gas
2 # Copyright (c) 2014-2023 The Khronos Group Inc.
3 # Copyright (c) 2014-2023 Valve Corporation
4 # Copyright (c) 2014-2023 LunarG, Inc.
6 # Copyright (c) 2023-2023 RasterGrid Kft.
9 # you may not use this file except in compliance with the License.
12 # http://www.apache.org/licenses/LICENSE-2.0
29 …# Note: When linking your app or driver to OneCore.lib, be sure to remove any links to non-umbrell…
50 # Place it in the build directory - the GN build will use the checked in file
121 option(USE_MASM "Use MASM" ON)
122 if(USE_MASM AND MINGW)
126 … execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpmachine OUTPUT_VARIABLE COMPILER_VERSION_OUTPUT)
129 set(JWASM_FLAGS -win64)
132 set(JWASM_FLAGS -3 -coff)
192 if(MINGW)
205 …execute_process(COMMAND ${CMAKE_ASM_MASM_COMPILER} ${CMAKE_ASM_MASM_FLAGS} -c -Fo ${CMAKE_CURRENT_…
226 …# Force off optimization so that the output assembly includes all the necessary info - optimizer w…
249 elseif(UNIX OR MINGW OR (WIN32 AND USE_GAS)) # i.e.: Linux & Apple & MinGW & Windows using Clang-CL
251 option(USE_GAS "Use GAS" ON)
265 …execute_process(COMMAND ${CMAKE_ASM_COMPILER} ${CMAKE_ASM_FLAGS} -c -o ${CMAKE_CURRENT_BINARY_DIR}…
299 …# When compiling for x86 on x64, we can't use CMAKE_SYSTEM_PROCESSOR to determine which architectu…
317 add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset GAS)
322 target_compile_options(asm_offset PRIVATE -save-temps=obj -fno-lto)
324 …get_compile_options(asm_offset PRIVATE -save-temps=obj -fno-lto -fno-whole-program-vtables -fno-vi…
326 target_compile_options(asm_offset PRIVATE -save-temps=obj)
335 …# Need to use the current binary dir since the asm_offset.s file is in that folder rather than the…
347 …"${ASM_OFFSET_INTERMEDIATE_LOCATION}" "GAS" "${CMAKE_C_COMPILER_ID}" "${ASM_OFFSET_SYSTEM_PROCESSO…
359 …message(WARNING "Could not find working ${ASM_OFFSET_SYSTEM_PROCESSOR} GAS assembler\n${ASM_FAILUR…
371 …# If BUILD_DLL_VERSIONINFO was set, use the loader.rc in the build dir, otherwise use the checked …
380 ${CMAKE_CURRENT_SOURCE_DIR}/${API_TYPE}-1.def
386 # mingw: libvulkan-1.dll.a / vulkan-1.dll
387 # msvc: vulkan-1.lib / vulkan-1.dll
390 OUTPUT_NAME ${API_TYPE}-1)
391 if(MINGW)
392 # generate the same DLL with mingw
416 "or tested as part of the loader. Use it at your own risk.")
433 target_compile_options(vulkan PUBLIC -fsanitize=address)
434 target_link_options(vulkan PUBLIC -fsanitize=address)
437 target_compile_options(vulkan PUBLIC -fsanitize=thread)
438 target_link_options(vulkan PUBLIC -fsanitize=thread)
441 target_compile_options(vulkan PUBLIC -fsanitize=undefined)
442 target_link_options(vulkan PUBLIC -fsanitize=undefined)
447 target_link_libraries(vulkan PRIVATE "-framework CoreFoundation")
450 …# Use GLOB_RECURSE to find all the header files and populate the vulkan.framework headers with them
451 … # Use CONFIGURE_DEPENDS to ensure that if the header files are updated, this list is also updated
455 add_library(vulkan-framework SHARED)
456 target_sources(vulkan-framework PRIVATE ${NORMAL_LOADER_SRCS} ${FRAMEWORK_HEADERS})
459 add_dependencies(vulkan-framework loader_asm_gen_files)
462 …target_link_libraries(vulkan-framework ${CMAKE_DL_LIBS} Threads::Threads -lm "-framework CoreFound…
463 target_link_libraries(vulkan-framework loader_specific_options)
469 target_compile_definitions(vulkan-framework PRIVATE MODIFY_UNKNOWN_FUNCTION_DECLS)
472 …# The FRAMEWORK_VERSION needs to be "A" here so that Xcode code-signing works when a user adds the…
473 …# project and does "Sign on Copy". It would have been nicer to use "1" to denote Vulkan 1. Althoug…
477 set_target_properties(vulkan-framework PROPERTIES
489 # Workaround linker warning: https://github.com/KhronosGroup/Vulkan-Loader/issues/1332
491 … # MACHO_CURRENT_VERSION specifically applies to the -current_version linker option which is the
495 …set_target_properties(vulkan-framework PROPERTIES MACHO_CURRENT_VERSION "${APPLE_VULKAN_LOADER_VER…
497 install(TARGETS vulkan-framework
525 …: This feature only exists at the request of Google for Chromium. No other project should use this!
544 # https://gitlab.kitware.com/cmake/cmake/-/issues/22621
548 if(MINGW)
549 set(VULKAN_LIB_SUFFIX "-1.dll")
551 set(VULKAN_LIB_SUFFIX "-1")
555 # BUG: The following code will NOT work well with `cmake --install ... --prefix <dir>`
558 # NOTE: vulkan.pc essentially cover both Vulkan-Loader and Vulkan-Headers for legacy reasons.