mirror of
https://github.com/typesense/typesense.git
synced 2025-05-21 06:02:26 +08:00
Download and build libfor right from CMake.
This commit is contained in:
parent
d2b903a931
commit
da4c31065a
@ -4,37 +4,7 @@ project(typesense)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++11 -O0")
|
||||
|
||||
# Download and compile gtest -------------------------------------------------------------------------------------------
|
||||
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0)
|
||||
set(GTEST_TAR_PATH ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0.tar.gz)
|
||||
message(STATUS "Downloading and extracting Google Test...")
|
||||
file(DOWNLOAD https://github.com/google/googletest/archive/release-1.8.0.tar.gz ${GTEST_TAR_PATH})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvzf ${GTEST_TAR_PATH})
|
||||
file(RENAME ${CMAKE_SOURCE_DIR}/googletest-release-1.8.0 ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0)
|
||||
endif()
|
||||
|
||||
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest/build)
|
||||
message("Configuring Google Test...")
|
||||
file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest/build)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND}
|
||||
"-H${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest"
|
||||
"-B${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest/build"
|
||||
RESULT_VARIABLE
|
||||
GOOGLETEST_CONFIGURE)
|
||||
if(NOT GOOGLETEST_CONFIGURE EQUAL 0)
|
||||
message(FATAL_ERROR "Google Test Configure failed!")
|
||||
endif()
|
||||
|
||||
message("Building Google Test locally...")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} --build
|
||||
"${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest/build"
|
||||
RESULT_VARIABLE
|
||||
GOOGLETEST_BUILD)
|
||||
if(NOT GOOGLETEST_BUILD EQUAL 0)
|
||||
message(FATAL_ERROR "Google Test build failed!")
|
||||
endif()
|
||||
endif()
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
include(GoogleTest.cmake)
|
||||
|
||||
if (APPLE)
|
||||
add_definitions(-DGTEST_USE_OWN_TR1_TUPLE)
|
||||
|
31
GoogleTest.cmake
Normal file
31
GoogleTest.cmake
Normal file
@ -0,0 +1,31 @@
|
||||
# Download and compile gtest
|
||||
|
||||
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0)
|
||||
set(GTEST_TAR_PATH ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0.tar.gz)
|
||||
message(STATUS "Downloading and extracting Google Test...")
|
||||
file(DOWNLOAD https://github.com/google/googletest/archive/release-1.8.0.tar.gz ${GTEST_TAR_PATH})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvzf ${GTEST_TAR_PATH})
|
||||
file(RENAME ${CMAKE_SOURCE_DIR}/googletest-release-1.8.0 ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0)
|
||||
endif()
|
||||
|
||||
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest/build)
|
||||
message("Configuring Google Test...")
|
||||
file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest/build)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND}
|
||||
"-H${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest"
|
||||
"-B${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest/build"
|
||||
RESULT_VARIABLE
|
||||
GOOGLETEST_CONFIGURE)
|
||||
if(NOT GOOGLETEST_CONFIGURE EQUAL 0)
|
||||
message(FATAL_ERROR "Google Test Configure failed!")
|
||||
endif()
|
||||
|
||||
message("Building Google Test locally...")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} --build
|
||||
"${CMAKE_SOURCE_DIR}/external/googletest-release-1.8.0/googletest/build"
|
||||
RESULT_VARIABLE
|
||||
GOOGLETEST_BUILD)
|
||||
if(NOT GOOGLETEST_BUILD EQUAL 0)
|
||||
message(FATAL_ERROR "Google Test build failed!")
|
||||
endif()
|
||||
endif()
|
Loading…
x
Reference in New Issue
Block a user