mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 23:04:20 +01:00
63b1969fbb
git-svn-id: file:///svn/toku/tokudb@43179 c7de825b-a66e-492c-adef-691d508d4ae1
141 lines
4.8 KiB
CMake
141 lines
4.8 KiB
CMake
set(CTEST_PROJECT_NAME "tokudb")
|
|
get_filename_component(CTEST_SOURCE_DIRECTORY "${CTEST_SCRIPT_DIRECTORY}/.." ABSOLUTE)
|
|
|
|
## given an executable, follows symlinks and resolves paths until it runs
|
|
## out of symlinks, then gives you the basename
|
|
macro(real_executable_name filename_input out)
|
|
set(res 0)
|
|
set(filename ${filename_input})
|
|
while(NOT(res))
|
|
execute_process(
|
|
COMMAND which ${filename}
|
|
RESULT_VARIABLE res
|
|
OUTPUT_VARIABLE full_filename
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
if(NOT(res))
|
|
execute_process(
|
|
COMMAND readlink ${full_filename}
|
|
RESULT_VARIABLE res
|
|
OUTPUT_VARIABLE link_target
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
if(NOT(res))
|
|
execute_process(
|
|
COMMAND dirname ${full_filename}
|
|
OUTPUT_VARIABLE filepath
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
set(filename "${filepath}/${link_target}")
|
|
else()
|
|
set(filename ${full_filename})
|
|
endif()
|
|
else()
|
|
set(filename ${filename})
|
|
endif()
|
|
endwhile()
|
|
execute_process(
|
|
COMMAND basename ${filename}
|
|
OUTPUT_VARIABLE real_filename
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
set(${out} ${real_filename})
|
|
endmacro(real_executable_name)
|
|
|
|
## gives you `uname ${flag}`
|
|
macro(uname flag out)
|
|
execute_process(
|
|
COMMAND uname ${flag}
|
|
OUTPUT_VARIABLE ${out}
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
endmacro(uname)
|
|
|
|
## gather machine info
|
|
uname("-m" machine_type)
|
|
get_filename_component(branchname "${CTEST_SOURCE_DIRECTORY}" NAME)
|
|
|
|
set(ncpus 2)
|
|
execute_process(
|
|
COMMAND grep bogomips /proc/cpuinfo
|
|
COMMAND wc -l
|
|
RESULT_VARIABLE res
|
|
OUTPUT_VARIABLE proc_ncpus
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
if(NOT res)
|
|
set(ncpus ${proc_ncpus})
|
|
endif()
|
|
|
|
## construct BUILDNAME
|
|
set(BUILDNAME "${branchname} ${CMAKE_SYSTEM} ${machine_type}" CACHE STRING "CTest build name" FORCE)
|
|
set(CTEST_BUILD_NAME "${BUILDNAME}")
|
|
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
|
|
site_name(CTEST_SITE)
|
|
|
|
find_program(CTEST_SVN_COMMAND NAMES svn)
|
|
find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
|
|
find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
|
|
|
|
list(APPEND CTEST_NOTES_FILES
|
|
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
|
|
"${CMAKE_CURRENT_LIST_FILE}"
|
|
)
|
|
|
|
set(all_opts
|
|
-DBDBDIR=/usr/local/BerkeleyDB.5.3
|
|
-DBUILD_TESTING=ON
|
|
-DUSE_CILK=OFF
|
|
)
|
|
set(rel_opts
|
|
${all_opts}
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
-DINTEL_CC=ON
|
|
-DUSE_BDB=ON
|
|
)
|
|
set(dbg_opts
|
|
${all_opts}
|
|
-DCMAKE_BUILD_TYPE=Debug
|
|
-DINTEL_CC=ON
|
|
-DUSE_BDB=ON
|
|
)
|
|
set(cov_opts
|
|
${all_opts}
|
|
-DCMAKE_BUILD_TYPE=Debug
|
|
-DINTEL_CC=OFF
|
|
-DUSE_GCOV=ON
|
|
)
|
|
|
|
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/NightlyRelease")
|
|
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
|
ctest_start(Nightly ${CTEST_SOURCE_DIRECTORY} ${CTEST_BINARY_DIRECTORY})
|
|
ctest_update(SOURCE ${CTEST_SOURCE_DIRECTORY})
|
|
ctest_configure(BUILD ${CTEST_BINARY_DIRECTORY} SOURCE ${CTEST_SOURCE_DIRECTORY}
|
|
OPTIONS "${rel_opts}")
|
|
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake" "${CTEST_BINARY_DIRECTORY}/CTestConfig.cmake")
|
|
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake" "${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake")
|
|
ctest_build(BUILD ${CTEST_BINARY_DIRECTORY})
|
|
ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
|
|
ctest_test(BUILD ${CTEST_BINARY_DIRECTORY} PARALLEL_LEVEL ${ncpus})
|
|
ctest_submit()
|
|
|
|
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/NightlyDebug")
|
|
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
|
ctest_start(Nightly ${CTEST_SOURCE_DIRECTORY} ${CTEST_BINARY_DIRECTORY})
|
|
ctest_configure(BUILD ${CTEST_BINARY_DIRECTORY} SOURCE ${CTEST_SOURCE_DIRECTORY}
|
|
OPTIONS "${dbg_opts}")
|
|
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake" "${CTEST_BINARY_DIRECTORY}/CTestConfig.cmake")
|
|
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake" "${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake")
|
|
ctest_build(BUILD ${CTEST_BINARY_DIRECTORY})
|
|
ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
|
|
ctest_test(BUILD ${CTEST_BINARY_DIRECTORY} PARALLEL_LEVEL ${ncpus})
|
|
ctest_memcheck(BUILD ${CTEST_BINARY_DIRECTORY} PARALLEL_LEVEL ${ncpus})
|
|
ctest_submit()
|
|
|
|
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/NightlyCoverage")
|
|
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
|
ctest_start(Nightly ${CTEST_SOURCE_DIRECTORY} ${CTEST_BINARY_DIRECTORY})
|
|
ctest_configure(BUILD ${CTEST_BINARY_DIRECTORY} SOURCE ${CTEST_SOURCE_DIRECTORY}
|
|
OPTIONS "${cov_opts}")
|
|
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake" "${CTEST_BINARY_DIRECTORY}/CTestConfig.cmake")
|
|
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake" "${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake")
|
|
ctest_build(BUILD ${CTEST_BINARY_DIRECTORY})
|
|
ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
|
|
ctest_test(BUILD ${CTEST_BINARY_DIRECTORY} PARALLEL_LEVEL ${ncpus})
|
|
ctest_coverage(BUILD ${CTEST_BINARY_DIRECTORY} LABELS RUN_GCOV)
|
|
ctest_submit()
|