diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 17595744d21861593d6b5b4c0ade526651e7c66d..51cfa3a2d4b570a1f58854530926e583a53ee3fb 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -61,10 +61,6 @@ import_mysql_inc() using_ccache_if_defined( MILVUS_USE_CCACHE ) include( ExternalProject ) -include( FetchContent ) -set( FETCHCONTENT_BASE_DIR ${MILVUS_BINARY_DIR}/3rdparty_download ) -set(FETCHCONTENT_QUIET OFF) -include( ThirdPartyPackages ) # **************************** Compiler arguments **************************** diff --git a/core/cmake/ThirdPartyPackages.cmake b/core/cmake/ThirdPartyPackages.cmake deleted file mode 100644 index f95dfd2ad8cfbbeb9f8fde5d1d729178fd377ee1..0000000000000000000000000000000000000000 --- a/core/cmake/ThirdPartyPackages.cmake +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright (C) 2019-2020 Zilliz. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed under the License -# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -# or implied. See the License for the specific language governing permissions and limitations under the License. - -set(MILVUS_THIRDPARTY_DEPENDENCIES - - fiu) - -message(STATUS "Using ${MILVUS_DEPENDENCY_SOURCE} approach to find dependencies") - -# For each dependency, set dependency source to global default, if unset -foreach (DEPENDENCY ${MILVUS_THIRDPARTY_DEPENDENCIES}) - if ("${${DEPENDENCY}_SOURCE}" STREQUAL "") - set(${DEPENDENCY}_SOURCE ${MILVUS_DEPENDENCY_SOURCE}) - endif () -endforeach () - -macro(build_dependency DEPENDENCY_NAME) - if ("${DEPENDENCY_NAME}" STREQUAL "fiu") - build_fiu() - else () - message(FATAL_ERROR "Unknown thirdparty dependency to build: ${DEPENDENCY_NAME}") - endif () -endmacro() - -# ---------------------------------------------------------------------- -# Identify OS -if (UNIX) - if (APPLE) - set(CMAKE_OS_NAME "osx" CACHE STRING "Operating system name" FORCE) - else (APPLE) - ## Check for Debian GNU/Linux ________________ - find_file(DEBIAN_FOUND debian_version debconf.conf - PATHS /etc - ) - if (DEBIAN_FOUND) - set(CMAKE_OS_NAME "debian" CACHE STRING "Operating system name" FORCE) - endif (DEBIAN_FOUND) - ## Check for Fedora _________________________ - find_file(FEDORA_FOUND fedora-release - PATHS /etc - ) - if (FEDORA_FOUND) - set(CMAKE_OS_NAME "fedora" CACHE STRING "Operating system name" FORCE) - endif (FEDORA_FOUND) - ## Check for RedHat _________________________ - find_file(REDHAT_FOUND redhat-release inittab.RH - PATHS /etc - ) - if (REDHAT_FOUND) - set(CMAKE_OS_NAME "redhat" CACHE STRING "Operating system name" FORCE) - endif (REDHAT_FOUND) - ## Extra check for Ubuntu ____________________ - if (DEBIAN_FOUND) - ## At its core Ubuntu is a Debian system, with - ## a slightly altered configuration; hence from - ## a first superficial inspection a system will - ## be considered as Debian, which signifies an - ## extra check is required. - find_file(UBUNTU_EXTRA legal issue - PATHS /etc - ) - if (UBUNTU_EXTRA) - ## Scan contents of file - file(STRINGS ${UBUNTU_EXTRA} UBUNTU_FOUND - REGEX Ubuntu - ) - ## Check result of string search - if (UBUNTU_FOUND) - set(CMAKE_OS_NAME "ubuntu" CACHE STRING "Operating system name" FORCE) - set(DEBIAN_FOUND FALSE) - - find_program(LSB_RELEASE_EXEC lsb_release) - execute_process(COMMAND ${LSB_RELEASE_EXEC} -rs - OUTPUT_VARIABLE LSB_RELEASE_ID_SHORT - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - STRING(REGEX REPLACE "\\." "_" UBUNTU_VERSION "${LSB_RELEASE_ID_SHORT}") - endif (UBUNTU_FOUND) - endif (UBUNTU_EXTRA) - endif (DEBIAN_FOUND) - endif (APPLE) -endif (UNIX) - -# ---------------------------------------------------------------------- -# thirdparty directory -set(THIRDPARTY_DIR "${MILVUS_SOURCE_DIR}/thirdparty") - -macro(resolve_dependency DEPENDENCY_NAME) - if (${DEPENDENCY_NAME}_SOURCE STREQUAL "AUTO") - find_package(${DEPENDENCY_NAME} MODULE) - if (NOT ${${DEPENDENCY_NAME}_FOUND}) - build_dependency(${DEPENDENCY_NAME}) - endif () - elseif (${DEPENDENCY_NAME}_SOURCE STREQUAL "BUNDLED") - build_dependency(${DEPENDENCY_NAME}) - elseif (${DEPENDENCY_NAME}_SOURCE STREQUAL "SYSTEM") - find_package(${DEPENDENCY_NAME} REQUIRED) - endif () -endmacro() - -# ---------------------------------------------------------------------- -# ExternalProject options - -string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_BUILD_TYPE) - -set(EP_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}}") -set(EP_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}}") - -# Set -fPIC on all external projects -set(EP_CXX_FLAGS "${EP_CXX_FLAGS} -fPIC") -set(EP_C_FLAGS "${EP_C_FLAGS} -fPIC") - -# CC/CXX environment variables are captured on the first invocation of the -# builder (e.g make or ninja) instead of when CMake is invoked into to build -# directory. This leads to issues if the variables are exported in a subshell -# and the invocation of make/ninja is in distinct subshell without the same -# environment (CC/CXX). -set(EP_COMMON_TOOLCHAIN -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}) - -if (CMAKE_AR) - set(EP_COMMON_TOOLCHAIN ${EP_COMMON_TOOLCHAIN} -DCMAKE_AR=${CMAKE_AR}) -endif () - -if (CMAKE_RANLIB) - set(EP_COMMON_TOOLCHAIN ${EP_COMMON_TOOLCHAIN} -DCMAKE_RANLIB=${CMAKE_RANLIB}) -endif () - -# External projects are still able to override the following declarations. -# cmake command line will favor the last defined variable when a duplicate is -# encountered. This requires that `EP_COMMON_CMAKE_ARGS` is always the first -# argument. -set(EP_COMMON_CMAKE_ARGS - ${EP_COMMON_TOOLCHAIN} - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_C_FLAGS=${EP_C_FLAGS} - -DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_C_FLAGS} - -DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS} - -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_CXX_FLAGS}) - -if (NOT MILVUS_VERBOSE_THIRDPARTY_BUILD) - set(EP_LOG_OPTIONS LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_DOWNLOAD 1) -else () - set(EP_LOG_OPTIONS) -endif () - -# Ensure that a default make is set -if ("${MAKE}" STREQUAL "") - find_program(MAKE make) -endif () - -if (NOT DEFINED MAKE_BUILD_ARGS) - set(MAKE_BUILD_ARGS "-j8") -endif () -message(STATUS "Third Party MAKE_BUILD_ARGS = ${MAKE_BUILD_ARGS}") - -# ---------------------------------------------------------------------- -# Find pthreads - -set(THREADS_PREFER_PTHREAD_FLAG ON) -find_package(Threads REQUIRED) - -# ---------------------------------------------------------------------- -# Versions and URLs for toolchain builds, which also can be used to configure -# offline builds - -# Read toolchain versions from cpp/thirdparty/versions.txt -file(STRINGS "${THIRDPARTY_DIR}/versions.txt" TOOLCHAIN_VERSIONS_TXT) -foreach (_VERSION_ENTRY ${TOOLCHAIN_VERSIONS_TXT}) - # Exclude comments - if (NOT _VERSION_ENTRY MATCHES "^[^#][A-Za-z0-9-_]+_VERSION=") - continue() - endif () - - string(REGEX MATCH "^[^=]*" _LIB_NAME ${_VERSION_ENTRY}) - string(REPLACE "${_LIB_NAME}=" "" _LIB_VERSION ${_VERSION_ENTRY}) - - # Skip blank or malformed lines - if (${_LIB_VERSION} STREQUAL "") - continue() - endif () - - # For debugging - #message(STATUS "${_LIB_NAME}: ${_LIB_VERSION}") - - set(${_LIB_NAME} "${_LIB_VERSION}") -endforeach () - -if (DEFINED ENV{MILVUS_FIU_URL}) - set(FIU_SOURCE_URL "$ENV{MILVUS_FIU_URL}") -else () - set(FIU_SOURCE_URL "https://github.com/albertito/libfiu/archive/${FIU_VERSION}.tar.gz" - "https://gitee.com/quicksilver/libfiu/repository/archive/${FIU_VERSION}.zip") -endif () - -if (DEFINED ENV{MILVUS_AWS_URL}) - set(AWS_SOURCE_URL "$ENV{MILVUS_AWS_URL}") -else () - set(AWS_SOURCE_URL "https://github.com/aws/aws-sdk-cpp/archive/${AWS_VERSION}.tar.gz") -endif () - - -# ---------------------------------------------------------------------- -# fiu -macro(build_fiu) - message(STATUS "Building FIU-${FIU_VERSION} from source") - set(FIU_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/fiu_ep-prefix/src/fiu_ep") - set(FIU_SHARED_LIB "${FIU_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}fiu${CMAKE_SHARED_LIBRARY_SUFFIX}") - set(FIU_INCLUDE_DIR "${FIU_PREFIX}/include") - - ExternalProject_Add(fiu_ep - URL - ${FIU_SOURCE_URL} - ${EP_LOG_OPTIONS} - URL_MD5 - "75f9d076daf964c9410611701f07c61b" - CONFIGURE_COMMAND - "" - BUILD_IN_SOURCE - 1 - BUILD_COMMAND - ${MAKE} - ${MAKE_BUILD_ARGS} - INSTALL_COMMAND - ${MAKE} - "PREFIX=${FIU_PREFIX}" - install - BUILD_BYPRODUCTS - ${FIU_SHARED_LIB} - ) - - file(MAKE_DIRECTORY "${FIU_INCLUDE_DIR}") - add_library(fiu SHARED IMPORTED) - set_target_properties(fiu - PROPERTIES IMPORTED_LOCATION "${FIU_SHARED_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${FIU_INCLUDE_DIR}") - - add_dependencies(fiu fiu_ep) -endmacro() - -resolve_dependency(fiu) - -get_target_property(FIU_INCLUDE_DIR fiu INTERFACE_INCLUDE_DIRECTORIES) -include_directories(SYSTEM ${FIU_INCLUDE_DIR}) diff --git a/core/cmake/Utils.cmake b/core/cmake/Utils.cmake index f057a4845716cb8fea0140d87cdd1b4f4e1e8c9e..21b705b6942d2c79314a42383eba827d64eb9538 100644 --- a/core/cmake/Utils.cmake +++ b/core/cmake/Utils.cmake @@ -97,6 +97,6 @@ endmacro() macro(create_library) cmake_parse_arguments(L "" "TARGET" "SRCS;LIBS;DEFS" ${ARGN}) add_library(${L_TARGET} ${L_SRCS}) - target_link_libraries(${L_TARGET} PRIVATE ${L_LIBS}) + target_link_libraries(${L_TARGET} PUBLIC ${L_LIBS}) target_compile_definitions(${L_TARGET} PRIVATE ${L_DEFS}) -endmacro() \ No newline at end of file +endmacro() diff --git a/core/src/CMakeLists.txt b/core/src/CMakeLists.txt index 8b1950f2f72fe7d5804b3be390fc5addab836ca4..102170abc9876890ffe1c18eca9b2980acb48563 100644 --- a/core/src/CMakeLists.txt +++ b/core/src/CMakeLists.txt @@ -88,12 +88,6 @@ add_executable( milvus_server ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp target_link_libraries( milvus_server PRIVATE ${SERVER_LIBS} ) install( TARGETS milvus_server DESTINATION bin ) -install( FILES - ${CMAKE_BINARY_DIR}/fiu_ep-prefix/src/fiu_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}fiu${CMAKE_SHARED_LIBRARY_SUFFIX} - ${CMAKE_BINARY_DIR}/fiu_ep-prefix/src/fiu_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}fiu${CMAKE_SHARED_LIBRARY_SUFFIX}.0 - ${CMAKE_BINARY_DIR}/fiu_ep-prefix/src/fiu_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}fiu${CMAKE_SHARED_LIBRARY_SUFFIX}.1.00 - DESTINATION lib ) - if ( FOUND_OPENBLAS STREQUAL "false" ) install( FILES ${CMAKE_BINARY_DIR}/src/index/openblas_ep-prefix/src/openblas_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}openblas${CMAKE_SHARED_LIBRARY_SUFFIX} diff --git a/core/src/cache/CMakeLists.txt b/core/src/cache/CMakeLists.txt index 51b95609174309bd9789f7b60e13b162ca3510f4..70098f1101480f74eb69801698c523e1525d7d54 100644 --- a/core/src/cache/CMakeLists.txt +++ b/core/src/cache/CMakeLists.txt @@ -17,4 +17,4 @@ target_sources( cache PRIVATE ${CACHE_FILES} Cache.inl ) target_include_directories( cache PUBLIC ${MILVUS_ENGINE_SRC}/cache ) -add_dependencies( cache fiu ) +target_link_libraries( cache PRIVATE fiu ) diff --git a/core/src/codecs/CMakeLists.txt b/core/src/codecs/CMakeLists.txt index 39b59219e34de539ea46b9631e1d9e514f9089d8..815cbaad812088fe29030a35d65a36c252973a11 100644 --- a/core/src/codecs/CMakeLists.txt +++ b/core/src/codecs/CMakeLists.txt @@ -13,4 +13,4 @@ aux_source_directory( ${MILVUS_ENGINE_SRC}/codecs CODECS_FILES ) add_library( codecs STATIC ) target_sources( codecs PRIVATE ${CODECS_FILES} ) -add_dependencies( codecs fiu ) +target_link_libraries( codecs PRIVATE fiu ) diff --git a/core/src/index/knowhere/CMakeLists.txt b/core/src/index/knowhere/CMakeLists.txt index 49af4ff27b20732014f665f9188bc427a8e2551f..642345b314bfd9cb5b0752519f1f8e33fccb8692 100644 --- a/core/src/index/knowhere/CMakeLists.txt +++ b/core/src/index/knowhere/CMakeLists.txt @@ -90,6 +90,7 @@ set(depend_libs gomp gfortran pthread + fiu ) if (MILVUS_SUPPORT_SPTAG) diff --git a/core/src/log/CMakeLists.txt b/core/src/log/CMakeLists.txt index 3a651f13d85b9f083895286f5f1d806297d9e530..0b1fd2b9a2b1504d989d06f32e89a15583f21e1e 100644 --- a/core/src/log/CMakeLists.txt +++ b/core/src/log/CMakeLists.txt @@ -19,4 +19,4 @@ set(LOG_FILES ${MILVUS_ENGINE_SRC}/log/Log.cpp ) add_library(log STATIC ${LOG_FILES}) -add_dependencies(log fiu) +target_link_libraries( log PRIVATE fiu ) diff --git a/core/src/metrics/CMakeLists.txt b/core/src/metrics/CMakeLists.txt index 718a28c8ca91342dc22fdd9eee03ef89eba520c1..2f4831279ef96208fa2212404b8bc410ee6bf616 100644 --- a/core/src/metrics/CMakeLists.txt +++ b/core/src/metrics/CMakeLists.txt @@ -31,4 +31,4 @@ endif () target_link_libraries( metrics PRIVATE ${METRICS_LIB} ) -add_dependencies( metrics fiu ) +target_link_libraries( metrics PRIVATE fiu ) diff --git a/core/src/segment/CMakeLists.txt b/core/src/segment/CMakeLists.txt index 638303ff0bf826849a31e802c4a13fbcf0c6867e..5f45c283aea3a2d2541934789317906345bb7c69 100644 --- a/core/src/segment/CMakeLists.txt +++ b/core/src/segment/CMakeLists.txt @@ -18,4 +18,6 @@ add_library( segment STATIC ) target_sources( segment PRIVATE ${SEGMENT_FILES} ${THIRDPARTY_DABLOOMS_FILES} ) -add_dependencies( segment sqlite mysqlpp ) +target_link_libraries( segment sqlite + mysqlpp + fiu ) diff --git a/core/src/utils/CMakeLists.txt b/core/src/utils/CMakeLists.txt index a4aa7562171913c9ae68b4bc6f121bbf6c026ae5..31ea4bf323e35a258eae5f1961a84fef1ca1ebf9 100644 --- a/core/src/utils/CMakeLists.txt +++ b/core/src/utils/CMakeLists.txt @@ -15,4 +15,4 @@ aux_source_directory( ${MILVUS_ENGINE_SRC}/utils UTILS_FILES ) add_library( utils STATIC ${UTILS_FILES} ) -add_dependencies( utils fiu ) +target_link_libraries( utils PRIVATE fiu ) diff --git a/core/thirdparty/CMakeLists.txt b/core/thirdparty/CMakeLists.txt index 88c93715b10688802f847f3ece18ead0f74a6c1c..ae21107e19f718876e4ba0c4a8019e2ef5b1d45e 100644 --- a/core/thirdparty/CMakeLists.txt +++ b/core/thirdparty/CMakeLists.txt @@ -10,10 +10,13 @@ # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express # or implied. See the License for the specific language governing permissions and limitations under the License. #------------------------------------------------------------------------------- -# Using default c and cxx compiler in our build tree + +# ---------------------------------------------------------------------- # Thirdpart cxx and c flags add_compile_options( -O3 -fPIC -Wno-error -fopenmp ) +# ---------------------------------------------------------------------- +# verbose build info write into log file if ( NOT KNOWHERE_VERBOSE_THIRDPARTY_BUILD ) set( EP_LOG_OPTIONS LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_DOWNLOAD 1 ) else () @@ -22,6 +25,8 @@ endif () set( MAKE_BUILD_ARGS "-j6" ) +# ---------------------------------------------------------------------- +# FetchContent config include( FetchContent ) set( FETCHCONTENT_BASE_DIR ${MILVUS_BINARY_DIR}/3rdparty_download ) set( FETCHCONTENT_QUIET OFF ) @@ -43,6 +48,43 @@ else() set( EP_CXX_COMPILER ${CMAKE_CXX_COMPILER} ) endif() + +# ---------------------------------------------------------------------- +# Versions and URLs for toolchain builds, which also can be used to configure +# offline builds + +file(STRINGS "versions.txt" TOOLCHAIN_VERSIONS_TXT) +foreach (_VERSION_ENTRY ${TOOLCHAIN_VERSIONS_TXT}) + # Exclude comments + if (NOT _VERSION_ENTRY MATCHES "^[^#][A-Za-z0-9-_]+_VERSION=") + continue() + endif () + + string(REGEX MATCH "^[^=]*" _LIB_NAME ${_VERSION_ENTRY}) + string(REPLACE "${_LIB_NAME}=" "" _LIB_VERSION ${_VERSION_ENTRY}) + + # Skip blank or malformed lines + if (${_LIB_VERSION} STREQUAL "") + continue() + endif () + + # For debugging + #message(STATUS "${_LIB_NAME}: ${_LIB_VERSION}") + + set(${_LIB_NAME} "${_LIB_VERSION}") +endforeach () + +# ---------------------------------------------------------------------- +# Ensure that a default make is set +if ("${MAKE}" STREQUAL "") + find_program(MAKE make) +endif () + +if (NOT DEFINED MAKE_BUILD_ARGS) + set(MAKE_BUILD_ARGS "-j8") +endif () +message(STATUS "Third Party MAKE_BUILD_ARGS = ${MAKE_BUILD_ARGS}") + # ---------------------------------------------------------------------- # Find pthreads @@ -92,6 +134,11 @@ if (MILVUS_WITH_PROMETHEUS) add_subdirectory( prometheus ) endif () +# ****************************** Thirdparty fiu *************************************** +if ( MILVUS_WITH_FIU ) + add_subdirectory( fiu ) +endif() + # ****************************** Thirdparty oatpp *************************************** if ( MILVUS_WITH_OATPP ) add_subdirectory( oatpp ) diff --git a/core/thirdparty/fiu/CMakeLists.txt b/core/thirdparty/fiu/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..196537b727c8806955e798344f921e89e0b8671b --- /dev/null +++ b/core/thirdparty/fiu/CMakeLists.txt @@ -0,0 +1,58 @@ +#------------------------------------------------------------------------------- +# Copyright (C) 2019-2020 Zilliz. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. See the License for the specific language governing permissions and limitations under the License. +#------------------------------------------------------------------------------- +if ( DEFINED ENV{MILVUS_FIU_URL} ) + set( FIU_SOURCE_URL "$ENV{MILVUS_FIU_URL}" ) +else () + set( FIU_SOURCE_URL "https://github.com/albertito/libfiu/archive/${FIU_VERSION}.tar.gz" ) +endif () + +macro( build_fiu ) + message( STATUS "Building FIU-${FIU_VERSION} from source" ) + + ExternalProject_Add( + fiu_ep + PREFIX ${CMAKE_BINARY_DIR}/3rdparty_download/fiu-subbuild + DOWNLOAD_DIR ${THIRDPARTY_DOWNLOAD_PATH} + INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR} + URL ${FIU_SOURCE_URL} + URL_MD5 "75f9d076daf964c9410611701f07c61b" + CONFIGURE_COMMAND "" + BUILD_IN_SOURCE 1 + BUILD_COMMAND ${MAKE} + INSTALL_COMMAND ${MAKE} "PREFIX=" install + ${EP_LOG_OPTIONS} + ) + + ExternalProject_Get_Property( fiu_ep INSTALL_DIR ) + if( NOT IS_DIRECTORY ${INSTALL_DIR}/include ) + file( MAKE_DIRECTORY "${INSTALL_DIR}/include" ) + endif() + add_library( fiu SHARED IMPORTED ) + set_target_properties( fiu + PROPERTIES + IMPORTED_GLOBAL TRUE + IMPORTED_LOCATION ${INSTALL_DIR}/lib/libfiu.so + INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include ) + add_dependencies(fiu fiu_ep) +endmacro() + +build_fiu() + +install( FILES ${INSTALL_DIR}/lib/libfiu.so + ${INSTALL_DIR}/lib/libfiu.so.0 + ${INSTALL_DIR}/lib/libfiu.so.1.00 + DESTINATION lib ) + +get_target_property( var fiu INTERFACE_INCLUDE_DIRECTORIES ) +message( STATUS ${var} ) +set_directory_properties( PROPERTY INCLUDE_DIRECTORIES ${var} ) diff --git a/core/unittest/server/CMakeLists.txt b/core/unittest/server/CMakeLists.txt index 0d4df9fb0c375d45d02197ca61ee758390342e26..927cdcc2d65069360e3f8934b9378d582fa91d80 100644 --- a/core/unittest/server/CMakeLists.txt +++ b/core/unittest/server/CMakeLists.txt @@ -25,11 +25,9 @@ add_executable( test_server # ${server_files} # ${server_init_files} ) -get_target_property( var server INCLUDE_DIRECTORIES) -#set_target_properties( server PROPERTIES INTERFACE_INCLUDE_DIRECTORIES $) target_link_libraries( test_server - ${UNITTEST_LIBS} + ${UNITTEST_LIBS} server milvus_engine metrics diff --git a/core/unittest/server/test_web.cpp b/core/unittest/server/test_web.cpp index d2455731699d91f32e39b66405a6901916212080..41d316ab7513a156b1081b72025a2f63c4b96626 100644 --- a/core/unittest/server/test_web.cpp +++ b/core/unittest/server/test_web.cpp @@ -14,8 +14,7 @@ #include #include -#include -#include +#include #include #include #include