]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/fbgemm/fix-cmakelists.patch
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / fbgemm / fix-cmakelists.patch
1 diff --git a/CMakeLists.txt b/CMakeLists.txt
2 index 6f19a16..3c758d2 100644
3 --- a/CMakeLists.txt
4 +++ b/CMakeLists.txt
5 @@ -6,7 +6,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
6 include(GNUInstallDirs)
7
8 # function to extract filelists from defs.bzl file
9 -find_package(PythonInterp)
10 function(get_filelist name outputvar)
11 execute_process(
12 COMMAND "${PYTHON_EXECUTABLE}" -c
13 @@ -19,9 +18,6 @@ endfunction()
14
15 project(fbgemm VERSION 0.1 LANGUAGES CXX C)
16
17 -set(FBGEMM_LIBRARY_TYPE "default" CACHE STRING
18 - "Type of library (shared, static, or default) to build")
19 -set_property(CACHE FBGEMM_LIBRARY_TYPE PROPERTY STRINGS default static shared)
20 option(FBGEMM_BUILD_TESTS "Build fbgemm unit tests" ON)
21 option(FBGEMM_BUILD_BENCHMARKS "Build fbgemm benchmarks" ON)
22 option(FBGEMM_BUILD_DOCS "Build fbgemm documentation" OFF)
23 @@ -101,18 +97,11 @@ set_target_properties(fbgemm_generic fbgemm_avx2 fbgemm_avx512 PROPERTIES
24 #2) MSVC uses /MD in default cxx compiling flags,
25 #need to change it to /MT in static case
26 if(MSVC)
27 - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244 /wd4267 /wd4305 /wd4309")
28 - if(FBGEMM_LIBRARY_TYPE STREQUAL "static")
29 + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244 /wd4267 /wd4305 /wd4309 /wd4703")
30 + if(NOT BUILD_SHARED_LIBS)
31 target_compile_definitions(fbgemm_generic PRIVATE ASMJIT_STATIC)
32 target_compile_definitions(fbgemm_avx2 PRIVATE ASMJIT_STATIC)
33 target_compile_definitions(fbgemm_avx512 PRIVATE ASMJIT_STATIC)
34 - foreach(flag_var
35 - CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
36 - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
37 - if(${flag_var} MATCHES "/MD")
38 - string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
39 - endif(${flag_var} MATCHES "/MD")
40 - endforeach(flag_var)
41 endif()
42 target_compile_options(fbgemm_avx2 PRIVATE "/arch:AVX2")
43 target_compile_options(fbgemm_avx512 PRIVATE "/arch:AVX512")
44 @@ -145,7 +134,8 @@ message(WARNING "CMAKE_CXX_FLAGS_DEBUG is ${CMAKE_CXX_FLAGS_DEBUG}")
45 message(WARNING "CMAKE_CXX_FLAGS_RELEASE is ${CMAKE_CXX_FLAGS_RELEASE}")
46 message(WARNING "==========")
47
48 -if(NOT TARGET asmjit)
49 +find_package(asmjit CONFIG REQUIRED) # target 'asmjit::asmjit'
50 +if(FALSE)
51 #Download asmjit from github if ASMJIT_SRC_DIR is not specified.
52 if(NOT DEFINED ASMJIT_SRC_DIR)
53 set(ASMJIT_SRC_DIR "${FBGEMM_SOURCE_DIR}/third_party/asmjit"
54 @@ -164,7 +154,8 @@ if(NOT TARGET asmjit)
55 set_property(TARGET asmjit PROPERTY POSITION_INDEPENDENT_CODE ON)
56 endif()
57
58 -if(NOT TARGET cpuinfo)
59 +find_package(unofficial-cpuinfo CONFIG REQUIRED) # target 'unofficial::cpuinfo::cpuinfo'
60 +if(FALSE)
61 #Download cpuinfo from github if CPUINFO_SOURCE_DIR is not specified.
62 if(NOT DEFINED CPUINFO_SOURCE_DIR)
63 set(CPUINFO_SOURCE_DIR "${FBGEMM_SOURCE_DIR}/third_party/cpuinfo"
64 @@ -185,49 +176,38 @@ endif()
65 target_include_directories(fbgemm_generic BEFORE
66 PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}>
67 PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}/include>
68 - PRIVATE "${ASMJIT_SRC_DIR}/src"
69 - PRIVATE "${CPUINFO_SOURCE_DIR}/include")
70 +)
71 +target_link_libraries(fbgemm_generic PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo)
72
73 target_include_directories(fbgemm_avx2 BEFORE
74 PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}>
75 PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}/include>
76 - PRIVATE "${ASMJIT_SRC_DIR}/src"
77 - PRIVATE "${CPUINFO_SOURCE_DIR}/include")
78 +)
79 +target_link_libraries(fbgemm_avx2 PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo)
80
81 target_include_directories(fbgemm_avx512 BEFORE
82 PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}>
83 PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}/include>
84 - PRIVATE "${ASMJIT_SRC_DIR}/src"
85 - PRIVATE "${CPUINFO_SOURCE_DIR}/include")
86 -
87 -if(FBGEMM_LIBRARY_TYPE STREQUAL "default")
88 - add_library(fbgemm
89 - $<TARGET_OBJECTS:fbgemm_generic>
90 - $<TARGET_OBJECTS:fbgemm_avx2>
91 - $<TARGET_OBJECTS:fbgemm_avx512>)
92 -elseif(FBGEMM_LIBRARY_TYPE STREQUAL "shared")
93 - add_library(fbgemm SHARED
94 - $<TARGET_OBJECTS:fbgemm_generic>
95 - $<TARGET_OBJECTS:fbgemm_avx2>
96 - $<TARGET_OBJECTS:fbgemm_avx512>)
97 +)
98 +target_link_libraries(fbgemm_avx512 PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo)
99 +
100 +add_library(fbgemm
101 + $<TARGET_OBJECTS:fbgemm_generic>
102 + $<TARGET_OBJECTS:fbgemm_avx2>
103 + $<TARGET_OBJECTS:fbgemm_avx512>)
104 +if(BUILD_SHARED_LIBS)
105 set_property(TARGET fbgemm_generic PROPERTY POSITION_INDEPENDENT_CODE ON)
106 set_property(TARGET fbgemm_avx2 PROPERTY POSITION_INDEPENDENT_CODE ON)
107 set_property(TARGET fbgemm_avx512 PROPERTY POSITION_INDEPENDENT_CODE ON)
108 set_target_properties(fbgemm PROPERTIES
109 CXX_VISIBILITY_PRESET hidden)
110 -elseif(FBGEMM_LIBRARY_TYPE STREQUAL "static")
111 - add_library(fbgemm STATIC
112 - $<TARGET_OBJECTS:fbgemm_generic>
113 - $<TARGET_OBJECTS:fbgemm_avx2>
114 - $<TARGET_OBJECTS:fbgemm_avx512>)
115 +else()
116 #MSVC need to define FBGEMM_STATIC for fbgemm_generic also to
117 #avoid generating _dllimport functions.
118 target_compile_definitions(fbgemm_generic PRIVATE FBGEMM_STATIC)
119 target_compile_definitions(fbgemm_avx2 PRIVATE FBGEMM_STATIC)
120 target_compile_definitions(fbgemm_avx512 PRIVATE FBGEMM_STATIC)
121 target_compile_definitions(fbgemm PRIVATE FBGEMM_STATIC)
122 -else()
123 - message(FATAL_ERROR "Unsupported library type ${FBGEMM_LIBRARY_TYPE}")
124 endif()
125
126 if(USE_SANITIZER)
127 @@ -239,9 +219,7 @@ target_include_directories(fbgemm BEFORE
128 PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}>
129 PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}/include>)
130
131 -target_link_libraries(fbgemm $<BUILD_INTERFACE:asmjit>
132 - $<BUILD_INTERFACE:cpuinfo>)
133 -add_dependencies(fbgemm asmjit cpuinfo)
134 +target_link_libraries(fbgemm PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo)
135
136 install(TARGETS fbgemm EXPORT fbgemmLibraryConfig
137 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
138 @@ -254,7 +232,7 @@ install(FILES ${FBGEMM_PUBLIC_HEADERS}
139 install(EXPORT fbgemmLibraryConfig DESTINATION share/cmake/fbgemm
140 FILE fbgemmLibraryConfig.cmake)
141
142 -if(MSVC)
143 +if(FALSE)
144 if(FBGEMM_LIBRARY_TYPE STREQUAL "shared")
145 install(
146 FILES $<TARGET_PDB_FILE:fbgemm> $<TARGET_PDB_FILE:asmjit>