Merge branch 'release-6.2' of github.com:apple/foundationdb into release_6.2_merge

Resolved merge by keeping new test file from master branch: SampleNoSimAttrition.txt adding new constraint from Release branch about existing test file: SimpleExternalTest.txt

# Conflicts:
#	tests/CMakeLists.txt
This commit is contained in:
Alvin Moore 2019-12-18 09:05:08 -08:00
commit 21390c493a
8 changed files with 80 additions and 36 deletions

View File

@ -59,11 +59,14 @@ if (pycodestyle)
else()
add_custom_target(fdb_python_check COMMAND ${CMAKE_COMMAND} -E echo "Skipped Python style check! Missing: pycodestyle")
endif()
set(package_file_name foundationdb-${FDB_VERSION}.tar.gz)
set(package_file ${CMAKE_BINARY_DIR}/packages/${package_file_name})
if(NOT FDB_RELEASE)
set(prerelease_string "a1")
endif()
set(setup_file_name foundationdb-${FDB_VERSION}.tar.gz)
set(package_file ${CMAKE_BINARY_DIR}/packages/foundationdb-${FDB_VERSION}${prerelease_string}.tar.gz)
add_custom_command(OUTPUT ${package_file}
COMMAND $<TARGET_FILE:Python::Interpreter> setup.py sdist --formats=gztar &&
${CMAKE_COMMAND} -E copy dist/${package_file_name} ${package_file}
${CMAKE_COMMAND} -E copy dist/${setup_file_name} ${package_file}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Create Python sdist package")
add_custom_target(python_package DEPENDS ${package_file})

View File

@ -4,11 +4,15 @@ vexillographer_compile(TARGET ruby_options LANG ruby
OUT ${CMAKE_CURRENT_SOURCE_DIR}/lib/fdboptions.rb ALL)
configure_file(fdb.gemspec.cmake fdb.gemspec)
set(gem_file fdb-${FDB_VERSION}.gem)
set(gem_target ${CMAKE_BINARY_DIR}/packages/${gem_file})
if(NOT FDB_RELEASE)
set(prerelease_string "PRERELEASE")
endif()
set(setup_file fdb-${FDB_VERSION}.gem)
set(gem_target ${CMAKE_BINARY_DIR}/packages/fdb-${FDB_VERSION}${prerelease_string}.gem)
add_custom_command(OUTPUT ${gem_target}
COMMAND ${GEM_COMMAND} build fdb.gemspec &&
${CMAKE_COMMAND} -E copy ${gem_file} ${gem_target}
${CMAKE_COMMAND} -E copy ${setup_file} ${gem_target}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building ruby gem")
add_custom_target(gem_package DEPENDS ${gem_target})

View File

@ -1,9 +1,17 @@
if ((NOT GENERATE_EL6) AND (NOT "$ENV{GENERATE_EL6}" STREQUAL ""))
if (("$ENV{GENERATE_EL6}" STREQUAL "ON") OR ("$ENV{GENERATE_EL6}" STREQUAL "1") OR ("$ENV{GENERATE_EL6}" STREQUAL "YES"))
set(GENERATE_EL6 ON)
endif()
endif()
# RPM specifics
if(CPACK_GENERATOR MATCHES "RPM")
set(CPACK_PACKAGING_INSTALL_PREFIX "/")
if(GENERATE_EL6)
message(STATUS "Building EL6 components")
set(CPACK_COMPONENTS_ALL clients-el6 server-el6)
else()
message(STATUS "Building EL7 components")
set(CPACK_COMPONENTS_ALL clients-el7 server-el7)
endif()
set(CPACK_RESOURCE_FILE_README ${CMAKE_SOURCE_DIR}/README.md)
@ -26,9 +34,9 @@ elseif(CPACK_GENERATOR MATCHES "productbuild")
# Changing the path of this file as CMAKE_BINARY_DIR does not seem to be defined
set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_BINARY_DIR}/License.txt)
if(NOT FDB_RELEASE)
set(prerelease_string_osx "-PRERELEASE")
set(prerelease_string "-PRERELEASE")
endif()
set(CPACK_PACKAGE_FILE_NAME "FoundationDB-${PROJECT_VERSION}.${CURRENT_GIT_VERSION}${prerelease_string_osx}")
set(CPACK_PACKAGE_FILE_NAME "FoundationDB-${PROJECT_VERSION}${prerelease_string}")
elseif(CPACK_GENERATOR MATCHES "TGZ")
set(CPACK_STRIP_FILES TRUE)
set(CPACK_COMPONENTS_ALL clients-tgz server-tgz)

View File

@ -41,6 +41,7 @@ endif()
if(FDB_RELEASE)
add_compile_options(-DFDB_RELEASE)
add_compile_options(-DFDB_CLEAN_BUILD)
endif()
include_directories(${CMAKE_SOURCE_DIR})
@ -55,26 +56,25 @@ else()
endif()
if ((NOT USE_CCACHE) AND (NOT "$ENV{USE_CCACHE}" STREQUAL ""))
string(TOUPPER "$ENV{USE_CCACHE}" USE_CCACHEENV)
if (("${USE_CCACHEENV}" STREQUAL "ON") OR ("${USE_CCACHEENV}" STREQUAL "1") OR ("${USE_CCACHEENV}" STREQUAL "YES"))
set(USE_CCACHE ON)
endif()
if (("$ENV{USE_CCACHE}" STREQUAL "ON") OR ("$ENV{USE_CCACHE}" STREQUAL "1") OR ("$ENV{USE_CCACHE}" STREQUAL "YES"))
set(USE_CCACHE ON)
endif()
endif()
if (USE_CCACHE)
FIND_PROGRAM(CCACHE_FOUND "ccache")
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
else()
message(SEND_ERROR "CCACHE is ON, but ccache was not found")
endif()
FIND_PROGRAM(CCACHE_FOUND "ccache")
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
else()
message(SEND_ERROR "CCACHE is ON, but ccache was not found")
endif()
endif()
if ((NOT USE_LIBCXX) AND (NOT "$ENV{USE_LIBCXX}" STREQUAL ""))
string(TOUPPER "$ENV{USE_LIBCXX}" USE_LIBCXXENV)
if (("${USE_LIBCXXENV}" STREQUAL "ON") OR ("${USE_LIBCXXENV}" STREQUAL "1") OR ("${USE_LIBCXXENV}" STREQUAL "YES"))
set(USE_LIBCXX ON)
endif()
string(TOUPPER "$ENV{USE_LIBCXX}" USE_LIBCXXENV)
if (("${USE_LIBCXXENV}" STREQUAL "ON") OR ("${USE_LIBCXXENV}" STREQUAL "1") OR ("${USE_LIBCXXENV}" STREQUAL "YES"))
set(USE_LIBCXX ON)
endif()
endif()
include(CheckFunctionExists)
@ -84,10 +84,12 @@ set(CMAKE_CXX_STANDARD 17)
if(WIN32)
# see: https://docs.microsoft.com/en-us/windows/desktop/WinProg/using-the-windows-headers
# this sets the windows target version to Windows 7
set(WINDOWS_TARGET 0x0601)
add_compile_options(/W3 /EHsc /bigobj $<$<CONFIG:Release>:/Zi> /MP)
add_compile_definitions(_WIN32_WINNT=${WINDOWS_TARGET} BOOST_ALL_NO_LIB)
# this sets the windows target version to Windows Server 2003
set(WINDOWS_TARGET 0x0502)
add_compile_options(/W3 /EHsc /bigobj $<$<CONFIG:Release>:/Zi> /MP /FC)
add_compile_definitions(_WIN32_WINNT=${WINDOWS_TARGET} WINVER=${WINDOWS_TARGET} NTDDI_VERSION=0x05020000 BOOST_ALL_NO_LIB)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
else()
set(GCC NO)
set(CLANG NO)
@ -186,6 +188,12 @@ else()
# -mavx
# -msse4.2)
if ((NOT USE_VALGRIND) AND (NOT "$ENV{USE_VALGRIND}" STREQUAL ""))
if (("$ENV{USE_VALGRIND}" STREQUAL "ON") OR ("$ENV{USE_VALGRIND}" STREQUAL "1") OR ("$ENV{USE_VALGRIND}" STREQUAL "YES"))
set(USE_VALGRIND ON)
endif()
endif()
if (USE_VALGRIND)
add_compile_options(-DVALGRIND -DUSE_VALGRIND)
endif()

View File

@ -269,13 +269,17 @@ if(NOT FDB_RELEASE)
set(prerelease_string ".PRERELEASE")
endif()
if(CURRENT_GIT_VERSION)
set(git_string ".CURRENT_GIT_VERSION")
endif()
# RPM filenames
set(rpm-clients-filename "foundationdb-clients-${PROJECT_VERSION}.${CURRENT_GIT_VERSION}${prerelease_string}")
set(rpm-server-filename "foundationdb-server-${PROJECT_VERSION}.${CURRENT_GIT_VERSION}${prerelease_string}")
set(rpm-clients-filename "foundationdb-clients-${PROJECT_VERSION}-0${git_string}${prerelease_string}")
set(rpm-server-filename "foundationdb-server-${PROJECT_VERSION}-0${git_string}${prerelease_string}")
# Deb filenames
set(deb-clients-filename "foundationdb-clients_${PROJECT_VERSION}.${CURRENT_GIT_VERSION}${prerelease_string}")
set(deb-server-filename "foundationdb-server_${PROJECT_VERSION}.${CURRENT_GIT_VERSION}${prerelease_string}")
set(deb-clients-filename "foundationdb-clients_${PROJECT_VERSION}-0${git_string}${prerelease_string}")
set(deb-server-filename "foundationdb-server_${PROJECT_VERSION}-0${git_string}${prerelease_string}")
################################################################################
# Configuration for RPM

View File

@ -87,6 +87,7 @@ if (NOT APPLE AND NOT WIN32)
set (FLOW_LIBS ${FLOW_LIBS} rt)
elseif(WIN32)
target_link_libraries(flow PUBLIC winmm.lib)
target_link_libraries(flow PUBLIC psapi.lib)
endif()
target_link_libraries(flow PRIVATE ${FLOW_LIBS})
target_link_libraries(flow PUBLIC boost_target Threads::Threads ${CMAKE_DL_LIBS})
@ -105,4 +106,3 @@ if(APPLE)
find_library(CORE_FOUNDATION CoreFoundation)
target_link_libraries(flow PRIVATE ${IO_KIT} ${CORE_FOUNDATION})
endif()

View File

@ -28,14 +28,27 @@ if(WIX_FOUND)
)
add_custom_target(wixobj DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/FDBInstaller.wixobj)
add_dependencies(wixobj fdbserver fdbcli fdbmonitor fdb_c fdbbackup python_binding)
string(REPLACE "/" "\\" msi_out_file "${CMAKE_BINARY_DIR}/packages/FDBInstaller.msi")
if(NOT FDB_RELEASE)
set(prerelease_string "-PRERELEASE")
endif()
# 64 bits
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(arch_string "-x64")
# 32 bits
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(arch_string "-x32")
endif()
set(installer-filename "foundationdb-${PROJECT_VERSION}${prerelease_string}${arch_string}.msi")
set(installer-filepath "${CMAKE_BINARY_DIR}/packages/${installer-filename}")
string(REPLACE "/" "\\" msi_out_file "${installer-filepath}")
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/packages/FDBInstaller.msi
OUTPUT ${installer-filepath}
COMMAND ${WIX_LIGHT} FDBInstaller.wixobj -ext WixUIExtension -out ${msi_out_file}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generate MSI installer"
)
add_custom_target(installer DEPENDS ${CMAKE_BINARY_DIR}/packages/FDBInstaller.msi)
add_custom_target(installer DEPENDS ${installer-filepath})
add_dependencies(installer wixobj)
add_dependencies(packages installer)
#add_dependencies(installer fdbserver fdbcli fdbmonitor fdbbackup)

View File

@ -69,7 +69,11 @@ add_fdb_test(TEST_FILES fast/RedwoodCorrectnessBTree.txt IGNORE)
add_fdb_test(TEST_FILES RedwoodCorrectness.txt IGNORE)
add_fdb_test(TEST_FILES RedwoodPerfTests.txt IGNORE)
add_fdb_test(TEST_FILES SampleNoSimAttrition.txt IGNORE)
add_fdb_test(TEST_FILES SimpleExternalTest.txt)
if (NOT USE_UBSAN) # TODO re-enable in UBSAN after https://github.com/apple/foundationdb/issues/2410 is resolved
add_fdb_test(TEST_FILES SimpleExternalTest.txt)
else()
add_fdb_test(TEST_FILES SimpleExternalTest.txt IGNORE)
endif()
add_fdb_test(TEST_FILES SlowTask.txt IGNORE)
add_fdb_test(TEST_FILES SpecificUnitTest.txt IGNORE)
add_fdb_test(TEST_FILES StreamingWrite.txt IGNORE)