From 039ffd2c1b8a9496a3358729560b8d19b9088a28 Mon Sep 17 00:00:00 2001 From: Guillaume Gardet Date: Mon, 9 Sep 2024 10:27:41 +0200 Subject: [PATCH 1/6] Add SO lib versionning Signed-off-by: Guillaume Gardet --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b6ea9a5..94eaf779 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,6 +122,7 @@ set(KLEIDIAI_FILES_SME2 ) add_library(kleidiai) +set_target_properties(kleidiai PROPERTIES VERSION ${CMAKE_PROJECT_VERSION} SOVERSION 0) target_sources(kleidiai PRIVATE ${KLEIDIAI_FILES_SCALAR}) # Selectively enable architecture features. -- GitLab From 1ef3943eb997c2f4e64ea7bfce6d4c2ae1fd6d9a Mon Sep 17 00:00:00 2001 From: Guillaume Gardet Date: Wed, 11 Sep 2024 15:32:17 +0200 Subject: [PATCH 2/6] Add install directive for kleidiai target Signed-off-by: Guillaume Gardet --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 94eaf779..75008e85 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,6 +156,12 @@ target_compile_options(kleidiai PRIVATE ${KLEIDIAI_WARNING_FLAGS} ) +include(GNUInstallDirs) +install(TARGETS kleidiai + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + if(KLEIDIAI_BUILD_TESTS) include(FetchGTest) enable_testing() -- GitLab From cfc183b14b17782d60665601d176f77b469a0b54 Mon Sep 17 00:00:00 2001 From: Guillaume Gardet Date: Wed, 11 Sep 2024 15:33:44 +0200 Subject: [PATCH 3/6] Add install directive for kleidiai_test target Signed-off-by: Guillaume Gardet --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 75008e85..b4f7ce02 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -214,6 +214,11 @@ if(KLEIDIAI_BUILD_TESTS) PRIVATE GTest::gtest_main ) + install(TARGETS kleidiai_test + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + # Cross-compiling is a common use case which creates a conflict if DISCOVERY_MODE is set to POST_BUILD (by default) # since the host platform does not match the target. Setting the mode to PRE_TEST avoids this conflict. gtest_discover_tests(kleidiai_test DISCOVERY_MODE PRE_TEST) -- GitLab From 7eec960d1622aa9ef91222260911f36e835dc9f4 Mon Sep 17 00:00:00 2001 From: Guillaume Gardet Date: Wed, 11 Sep 2024 15:34:23 +0200 Subject: [PATCH 4/6] Add install directive for kleidiai_benchmark target Signed-off-by: Guillaume Gardet --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b4f7ce02..9dc92e3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -249,6 +249,11 @@ if(KLEIDIAI_BUILD_BENCHMARK) kleidiai benchmark::benchmark) + install(TARGETS kleidiai_benchmark + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + set(KLEIDIAI_BENCHMARK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(kleidiai_benchmark PRIVATE KLEIDIAI_BENCHMARK_INCLUDE_DIR) -- GitLab From 2e44d940fb727021de9fdb7d41370c3834b21a2e Mon Sep 17 00:00:00 2001 From: Guillaume Gardet Date: Wed, 11 Sep 2024 15:35:13 +0200 Subject: [PATCH 5/6] Allow to use local GoogleTest Download is still attempted if no local GoogleTest is found. Signed-off-by: Guillaume Gardet --- cmake/FetchGTest.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/FetchGTest.cmake b/cmake/FetchGTest.cmake index 0ca94412..ad1bddc5 100644 --- a/cmake/FetchGTest.cmake +++ b/cmake/FetchGTest.cmake @@ -13,6 +13,7 @@ endif() fetchcontent_declare(googletest GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG v1.14.0 + FIND_PACKAGE_ARGS NAMES GTest ) set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -- GitLab From a1110defa8e5080d95f6943d27216584a7e1aeaf Mon Sep 17 00:00:00 2001 From: Guillaume Gardet Date: Wed, 11 Sep 2024 15:36:51 +0200 Subject: [PATCH 6/6] Allow to use local google benchmark. Download is still attempted if no local google benchmark is found. Signed-off-by: Guillaume Gardet --- cmake/FetchGBench.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/FetchGBench.cmake b/cmake/FetchGBench.cmake index b32c76a7..fa12e437 100644 --- a/cmake/FetchGBench.cmake +++ b/cmake/FetchGBench.cmake @@ -13,6 +13,7 @@ endif() fetchcontent_declare(googlebench GIT_REPOSITORY https://github.com/google/benchmark.git GIT_TAG v1.8.4 + FIND_PACKAGE_ARGS NAMES benchmark ) fetchcontent_makeavailable(googlebench) -- GitLab