| 1 | This patch allows the build process to use the provided dependencies instead
|
| 2 | of adding their source as CMake sub-directories (in which case "make install"
|
| 3 | would install googletest's and googlebenchmark's libraries and headers).
|
| 4 |
|
| 5 | diff --git a/CMakeLists.txt b/CMakeLists.txt
|
| 6 | index 5e7d127..4b269b9 100644
|
| 7 | |
| 8 | |
| 9 | @@ -28,7 +28,7 @@ MACRO(FP16_TARGET_ENABLE_CXX11 target)
|
| 10 | ENDMACRO()
|
| 11 |
|
| 12 | # ---[ Download deps
|
| 13 | -IF(NOT DEFINED PSIMD_SOURCE_DIR)
|
| 14 | +IF(FALSE)
|
| 15 | MESSAGE(STATUS "Downloading PSimd to ${CMAKE_BINARY_DIR}/psimd-source (define PSIMD_SOURCE_DIR to avoid it)")
|
| 16 | CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CMAKE_BINARY_DIR}/psimd-download/CMakeLists.txt")
|
| 17 | EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
| 18 | @@ -38,7 +38,7 @@ IF(NOT DEFINED PSIMD_SOURCE_DIR)
|
| 19 | SET(PSIMD_SOURCE_DIR "${CMAKE_BINARY_DIR}/psimd-source" CACHE STRING "PSimd source directory")
|
| 20 | ENDIF()
|
| 21 |
|
| 22 | -IF(FP16_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
|
| 23 | +IF(FALSE)
|
| 24 | MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)")
|
| 25 | CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt")
|
| 26 | EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
| 27 | @@ -48,7 +48,7 @@ IF(FP16_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
|
| 28 | SET(GOOGLETEST_SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-source" CACHE STRING "Google Test source directory")
|
| 29 | ENDIF()
|
| 30 |
|
| 31 | -IF(FP16_BUILD_BENCHMARKS AND NOT DEFINED GOOGLEBENCHMARK_SOURCE_DIR)
|
| 32 | +IF(FALSE)
|
| 33 | MESSAGE(STATUS "Downloading Google Benchmark to ${CMAKE_BINARY_DIR}/googlebenchmark-source (define GOOGLEBENCHMARK_SOURCE_DIR to avoid it)")
|
| 34 | CONFIGURE_FILE(cmake/DownloadGoogleBenchmark.cmake "${CMAKE_BINARY_DIR}/googlebenchmark-download/CMakeLists.txt")
|
| 35 | EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
| 36 | @@ -84,22 +84,7 @@ INSTALL(FILES
|
| 37 | include/fp16/avx2.py
|
| 38 | DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fp16)
|
| 39 |
|
| 40 | -# ---[ Configure psimd
|
| 41 | -IF(NOT TARGET psimd)
|
| 42 | - ADD_SUBDIRECTORY(
|
| 43 | - "${PSIMD_SOURCE_DIR}"
|
| 44 | - "${CMAKE_BINARY_DIR}/psimd")
|
| 45 | -ENDIF()
|
| 46 | -
|
| 47 | IF(FP16_BUILD_TESTS)
|
| 48 | - # ---[ Build google test
|
| 49 | - IF(NOT TARGET gtest)
|
| 50 | - SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
| 51 | - ADD_SUBDIRECTORY(
|
| 52 | - "${GOOGLETEST_SOURCE_DIR}"
|
| 53 | - "${CMAKE_BINARY_DIR}/googletest")
|
| 54 | - ENDIF()
|
| 55 | -
|
| 56 | # ---[ Build FP16 unit tests
|
| 57 | ADD_EXECUTABLE(ieee-to-fp32-bits-test test/ieee-to-fp32-bits.cc test/tables.cc)
|
| 58 | TARGET_INCLUDE_DIRECTORIES(ieee-to-fp32-bits-test PRIVATE test)
|
| 59 | @@ -137,40 +122,32 @@ IF(FP16_BUILD_TESTS)
|
| 60 | ENDIF()
|
| 61 |
|
| 62 | IF(FP16_BUILD_BENCHMARKS)
|
| 63 | - # ---[ Build google benchmark
|
| 64 | - IF(NOT TARGET benchmark)
|
| 65 | - SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "")
|
| 66 | - ADD_SUBDIRECTORY(
|
| 67 | - "${GOOGLEBENCHMARK_SOURCE_DIR}"
|
| 68 | - "${CMAKE_BINARY_DIR}/googlebenchmark")
|
| 69 | - ENDIF()
|
| 70 | -
|
| 71 | # ---[ Build FP16 benchmarks
|
| 72 | ADD_EXECUTABLE(ieee-element-bench bench/ieee-element.cc)
|
| 73 | TARGET_COMPILE_DEFINITIONS(ieee-element-bench PRIVATE FP16_COMPARATIVE_BENCHMARKS=1)
|
| 74 | TARGET_INCLUDE_DIRECTORIES(ieee-element-bench PRIVATE ${PROJECT_SOURCE_DIR})
|
| 75 | - TARGET_LINK_LIBRARIES(ieee-element-bench fp16 psimd benchmark)
|
| 76 | + TARGET_LINK_LIBRARIES(ieee-element-bench fp16 benchmark)
|
| 77 |
|
| 78 | ADD_EXECUTABLE(alt-element-bench bench/alt-element.cc)
|
| 79 | - TARGET_LINK_LIBRARIES(alt-element-bench fp16 psimd benchmark)
|
| 80 | + TARGET_LINK_LIBRARIES(alt-element-bench fp16 benchmark)
|
| 81 |
|
| 82 | ADD_EXECUTABLE(from-ieee-array-bench bench/from-ieee-array.cc)
|
| 83 | FP16_TARGET_ENABLE_CXX11(from-ieee-array-bench)
|
| 84 | TARGET_COMPILE_DEFINITIONS(from-ieee-array-bench PRIVATE FP16_COMPARATIVE_BENCHMARKS=1)
|
| 85 | TARGET_INCLUDE_DIRECTORIES(from-ieee-array-bench PRIVATE ${PROJECT_SOURCE_DIR})
|
| 86 | - TARGET_LINK_LIBRARIES(from-ieee-array-bench fp16 psimd benchmark)
|
| 87 | + TARGET_LINK_LIBRARIES(from-ieee-array-bench fp16 benchmark)
|
| 88 |
|
| 89 | ADD_EXECUTABLE(from-alt-array-bench bench/from-alt-array.cc)
|
| 90 | FP16_TARGET_ENABLE_CXX11(from-alt-array-bench)
|
| 91 | - TARGET_LINK_LIBRARIES(from-alt-array-bench fp16 psimd benchmark)
|
| 92 | + TARGET_LINK_LIBRARIES(from-alt-array-bench fp16 benchmark)
|
| 93 |
|
| 94 | ADD_EXECUTABLE(to-ieee-array-bench bench/to-ieee-array.cc)
|
| 95 | FP16_TARGET_ENABLE_CXX11(to-ieee-array-bench)
|
| 96 | TARGET_COMPILE_DEFINITIONS(to-ieee-array-bench PRIVATE FP16_COMPARATIVE_BENCHMARKS=1)
|
| 97 | TARGET_INCLUDE_DIRECTORIES(to-ieee-array-bench PRIVATE ${PROJECT_SOURCE_DIR})
|
| 98 | - TARGET_LINK_LIBRARIES(to-ieee-array-bench fp16 psimd benchmark)
|
| 99 | + TARGET_LINK_LIBRARIES(to-ieee-array-bench fp16 benchmark)
|
| 100 |
|
| 101 | ADD_EXECUTABLE(to-alt-array-bench bench/to-alt-array.cc)
|
| 102 | FP16_TARGET_ENABLE_CXX11(to-alt-array-bench)
|
| 103 | - TARGET_LINK_LIBRARIES(to-alt-array-bench fp16 psimd benchmark)
|
| 104 | + TARGET_LINK_LIBRARIES(to-alt-array-bench fp16 benchmark)
|
| 105 | ENDIF()
|