Add an option to disable unittest build, & disable them on Docker build (#9677)

This commit is contained in:
Loïc Blot 2020-04-16 20:43:49 +02:00 committed by GitHub
parent 093e79ea78
commit 7539267d37
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 19 additions and 2 deletions

@ -49,6 +49,7 @@ set(RUN_IN_PLACE ${DEFAULT_RUN_IN_PLACE} CACHE BOOL
set(BUILD_CLIENT TRUE CACHE BOOL "Build client") set(BUILD_CLIENT TRUE CACHE BOOL "Build client")
set(BUILD_SERVER FALSE CACHE BOOL "Build server") set(BUILD_SERVER FALSE CACHE BOOL "Build server")
set(BUILD_UNITTESTS TRUE CACHE BOOL "Build unittests")
set(WARN_ALL TRUE CACHE BOOL "Enable -Wall for Release build") set(WARN_ALL TRUE CACHE BOOL "Enable -Wall for Release build")

@ -30,6 +30,7 @@ RUN apk add --no-cache git build-base irrlicht-dev cmake bzip2-dev libpng-dev \
-DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SERVER=TRUE \ -DBUILD_SERVER=TRUE \
-DBUILD_UNITTESTS=FALSE \
-DBUILD_CLIENT=FALSE && \ -DBUILD_CLIENT=FALSE && \
make -j2 && \ make -j2 && \
make install make install

@ -218,6 +218,7 @@ General options and their default values:
BUILD_CLIENT=TRUE - Build Minetest client BUILD_CLIENT=TRUE - Build Minetest client
BUILD_SERVER=FALSE - Build Minetest server BUILD_SERVER=FALSE - Build Minetest server
BUILD_UNITTESTS=TRUE - Build unittest sources
CMAKE_BUILD_TYPE=Release - Type of build (Release vs. Debug) CMAKE_BUILD_TYPE=Release - Type of build (Release vs. Debug)
Release - Release build Release - Release build
Debug - Debug build Debug - Debug build

@ -435,9 +435,12 @@ set(common_SRCS
${JTHREAD_SRCS} ${JTHREAD_SRCS}
${common_SCRIPT_SRCS} ${common_SCRIPT_SRCS}
${UTIL_SRCS} ${UTIL_SRCS}
${UNITTEST_SRCS}
) )
if(BUILD_UNITTESTS)
set(common_SRCS ${common_SRCS} ${UNITTEST_SRCS})
endif()
# This gives us the icon and file version information # This gives us the icon and file version information
if(WIN32) if(WIN32)
@ -472,8 +475,12 @@ set(client_SRCS
${client_network_SRCS} ${client_network_SRCS}
${client_irrlicht_changes_SRCS} ${client_irrlicht_changes_SRCS}
${client_SCRIPT_SRCS} ${client_SCRIPT_SRCS}
${UNITTEST_CLIENT_SRCS}
) )
if(BUILD_UNITTESTS)
set(client_SRCS ${client_SRCS} ${UNITTEST_CLIENT_SRCS})
endif()
list(SORT client_SRCS) list(SORT client_SRCS)
# Server sources # Server sources

@ -34,3 +34,4 @@
#cmakedefine01 CURSES_HAVE_NCURSES_CURSES_H #cmakedefine01 CURSES_HAVE_NCURSES_CURSES_H
#cmakedefine01 CURSES_HAVE_NCURSESW_NCURSES_H #cmakedefine01 CURSES_HAVE_NCURSESW_NCURSES_H
#cmakedefine01 CURSES_HAVE_NCURSESW_CURSES_H #cmakedefine01 CURSES_HAVE_NCURSESW_CURSES_H
#cmakedefine01 BUILD_UNITTESTS

@ -187,7 +187,13 @@ int main(int argc, char *argv[])
#ifndef __ANDROID__ #ifndef __ANDROID__
// Run unit tests // Run unit tests
if (cmd_args.getFlag("run-unittests")) { if (cmd_args.getFlag("run-unittests")) {
#if BUILD_UNITTESTS
return run_tests(); return run_tests();
#else
errorstream << "Unittest support is not enabled in this binary. "
<< "If you want to enable it, compile project with BUILD_UNITTESTS=1 flag."
<< std::endl;
#endif
} }
#endif #endif