-
-
Notifications
You must be signed in to change notification settings - Fork 127
Expand file tree
/
Copy pathzstd.cmake
More file actions
49 lines (42 loc) · 1.95 KB
/
Copy pathzstd.cmake
File metadata and controls
49 lines (42 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
if(SCORE_USE_SYSTEM_LIBRARIES)
find_package(zstd GLOBAL CONFIG)
endif()
if(NOT TARGET zstd::libzstd_static AND NOT TARGET zstd::libzstd_shared AND NOT TARGET zstd)
set(ZSTD_BUILD_PROGRAMS OFF CACHE INTERNAL "" FORCE)
set(ZSTD_BUILD_TESTS OFF CACHE INTERNAL "" FORCE)
set(ZSTD_BUILD_SHARED OFF CACHE INTERNAL "" FORCE)
set(ZSTD_BUILD_STATIC ON CACHE INTERNAL "" FORCE)
set(ZSTD_BUILD_DICTBUILDER OFF CACHE INTERNAL "" FORCE)
set(old_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
set(BUILD_SHARED_LIBS OFF)
if(NOT MSVC AND NOT CMAKE_CROSSCOMPILING)
if(CMAKE_BUILD_TYPE MATCHES ".*Deb.*")
set(old_CFLAGS "${CMAKE_C_FLAGS}")
set(old_CXXFLAGS "${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -march=native")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -march=native")
endif()
endif()
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zstd/build/cmake" EXCLUDE_FROM_ALL)
if(NOT MSVC AND NOT CMAKE_CROSSCOMPILING)
if(CMAKE_BUILD_TYPE MATCHES ".*Deb.*")
set(CMAKE_C_FLAGS "${old_CFLAGS}")
set(CMAKE_CXX_FLAGS "${old_CXXFLAGS}")
endif()
endif()
set(BUILD_SHARED_LIBS ${old_BUILD_SHARED_LIBS})
endif()
# Make later find_package(zstd) calls (e.g. 3rdparty/spz) resolve to the
# targets configured above: some prebuilt SDKs ship zstd configs pointing to
# files that do not exist, and a not-found result would trigger FetchContent
# fallbacks that clash with the vendored targets.
file(WRITE "${CMAKE_FIND_PACKAGE_REDIRECTS_DIR}/zstd-config.cmake" [=[
if(TARGET libzstd_static AND NOT TARGET zstd::libzstd_static)
add_library(zstd::libzstd_static INTERFACE IMPORTED GLOBAL)
target_link_libraries(zstd::libzstd_static INTERFACE libzstd_static)
endif()
if(TARGET libzstd_shared AND NOT TARGET zstd::libzstd_shared)
add_library(zstd::libzstd_shared INTERFACE IMPORTED GLOBAL)
target_link_libraries(zstd::libzstd_shared INTERFACE libzstd_shared)
endif()
]=])