aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/fp16/fix-cmake.patch
blob: 0abe30c65508c4b69e25ca6abc02b5377ce94c80 (plain)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e0d87f8..ae08c37 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR)
 INCLUDE(GNUInstallDirs)
 
 # ---[ Project
-PROJECT(FP16 C CXX)
+PROJECT(fp16 C CXX)
 
 # ---[ Options.
 OPTION(FP16_BUILD_TESTS "Build FP16 unit tests" ON)
@@ -33,7 +33,10 @@ SET(CONFU_DEPENDENCIES_SOURCE_DIR ${CMAKE_SOURCE_DIR}/deps
 SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps
   CACHE PATH "Confu-style dependencies binary directory")
 
-IF(NOT DEFINED PSIMD_SOURCE_DIR)
+find_package(unofficial-psimd CONFIG REQUIRED)
+add_library(psimd ALIAS unofficial::psimd::psimd)
+
+IF(FALSE)
   MESSAGE(STATUS "Downloading PSimd to ${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd (define PSIMD_SOURCE_DIR to avoid it)")
   CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download/CMakeLists.txt")
   EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
@@ -77,7 +80,7 @@ ENDIF()
 TARGET_INCLUDE_DIRECTORIES(fp16 INTERFACE
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
     $<INSTALL_INTERFACE:include>)
-
+TARGET_LINK_LIBRARIES(fp16 INTERFACE psimd)
 INSTALL(FILES include/fp16.h
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 INSTALL(FILES
@@ -89,6 +92,23 @@ INSTALL(FILES
     include/fp16/avx2.py
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fp16)
 
+
+INSTALL(TARGETS fp16   
+  EXPORT unofficial-fp16-config-targets
+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+      PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+  INSTALL(EXPORT unofficial-fp16-config-targets NAMESPACE unofficial::fp16::
+    FILE unofficial-fp16-config-targets.cmake
+    DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fp16) # share/fp16
+
+include(CMakePackageConfigHelpers)
+configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/unofficial-fp16-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fp16)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-fp16-config.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/unofficial-fp16)
+
+
+
 # ---[ Configure psimd
 IF(NOT TARGET psimd)
   ADD_SUBDIRECTORY(
diff --git a/Config.cmake.in b/Config.cmake.in
new file mode 100644
index 0000000..4523150
--- /dev/null
+++ b/Config.cmake.in
@@ -0,0 +1,7 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(unofficial-psimd)
+
+
+include ( "${CMAKE_CURRENT_LIST_DIR}/unofficial-fp16-config-targets.cmake" )