Add openal and CMake test to travis
This commit is contained in:
parent
3eff75d56e
commit
bd4c7789cf
3 changed files with 135 additions and 12 deletions
15
.travis.yml
15
.travis.yml
|
@ -8,7 +8,7 @@ git:
|
|||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- sourceline: 'deb https://apt.kitware.com/ubuntu/ xenial main'
|
||||
- sourceline: 'deb https://apt.kitware.com/ubuntu/ bionic main'
|
||||
key_url: 'https://apt.kitware.com/keys/kitware-archive-latest.asc'
|
||||
packages:
|
||||
- libasound2-dev
|
||||
|
@ -23,12 +23,13 @@ addons:
|
|||
- libboost-all-dev
|
||||
- libffms2-dev
|
||||
- libfontconfig1-dev
|
||||
- libalut-dev
|
||||
- libopenal-dev
|
||||
- libuchardet-dev
|
||||
- libwxgtk3.0-dev
|
||||
- portaudio19-dev
|
||||
- libpulse-dev
|
||||
- autopoint
|
||||
- libgtest-dev
|
||||
|
||||
matrix:
|
||||
include:
|
||||
|
@ -45,6 +46,11 @@ install:
|
|||
sudo pip install -U cpp-coveralls;
|
||||
git submodule --quiet init;
|
||||
git submodule --quiet update vendor/googletest;
|
||||
else
|
||||
pushd /usr/src/googletest;
|
||||
sudo cmake .;
|
||||
sudo make install -j2;
|
||||
popd;
|
||||
fi
|
||||
|
||||
script:
|
||||
|
@ -52,7 +58,7 @@ script:
|
|||
export CPPFLAGS="-fprofile-arcs -ftest-coverage";
|
||||
export LIBS="-lgcov";
|
||||
./autogen.sh;
|
||||
./configure --enable-debug || cat config.log;
|
||||
./configure --enable-debug agi_cv_with_openal=yes || cat config.log;
|
||||
make -j2;
|
||||
make test || travis_terminate 1;
|
||||
coveralls --exclude vendor --exclude src --exclude build --exclude tools --exclude libaegisub/windows > /dev/null;
|
||||
|
@ -60,8 +66,9 @@ script:
|
|||
./build/version.sh .;
|
||||
mkdir build-dir;
|
||||
cd build-dir;
|
||||
cmake -DCMAKE_CXX_FLAGS='-Wall -Wextra -Wno-unused-parameter -pedantic' -DCMAKE_C_FLAGS='-Wall' -DWITH_STARTUPLOG=ON ..;
|
||||
cmake -DCMAKE_CXX_FLAGS='-Wall -Wextra -Wno-unused-parameter -pedantic' -DCMAKE_C_FLAGS='-Wall' -DWITH_STARTUPLOG=ON -DWITH_TEST=ON ..;
|
||||
make -j2;
|
||||
make test || travis_terminate 1;
|
||||
fi
|
||||
|
||||
notifications:
|
||||
|
|
78
CMakeLists.test.txt
Normal file
78
CMakeLists.test.txt
Normal file
|
@ -0,0 +1,78 @@
|
|||
if(UNIX)
|
||||
add_executable(aegisub-lua EXCLUDE_FROM_ALL
|
||||
automation/tests/aegisub.cpp
|
||||
)
|
||||
target_include_directories(aegisub-lua PRIVATE ${Boost_INCLUDE_DIRS})
|
||||
target_link_directories(aegisub-lua PRIVATE ${Boost_LIBRARY_DIRS})
|
||||
target_link_libraries(aegisub-lua libaegisub luabins luajit ${Boost_LIBRARIES} ${ICU_LIBRARIES})
|
||||
add_custom_target(test-automation
|
||||
COMMAND sh -c "$(luarocks path); ${PROJECT_BINARY_DIR}/aegisub-lua tests/busted.lua -p moon tests/modules"
|
||||
VERBATIM
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/automation"
|
||||
)
|
||||
add_dependencies(test-automation aegisub-lua)
|
||||
else()
|
||||
add_custom_target(test-automation)
|
||||
endif()
|
||||
|
||||
find_package(GTest)
|
||||
if(GTEST_FOUND)
|
||||
add_executable(gtest-run EXCLUDE_FROM_ALL
|
||||
tests/tests/access.cpp
|
||||
tests/tests/audio.cpp
|
||||
tests/tests/cajun.cpp
|
||||
tests/tests/calltip_provider.cpp
|
||||
tests/tests/character_count.cpp
|
||||
tests/tests/color.cpp
|
||||
tests/tests/dialogue_lexer.cpp
|
||||
tests/tests/format.cpp
|
||||
tests/tests/fs.cpp
|
||||
tests/tests/hotkey.cpp
|
||||
tests/tests/iconv.cpp
|
||||
tests/tests/ifind.cpp
|
||||
tests/tests/karaoke_matcher.cpp
|
||||
tests/tests/keyframe.cpp
|
||||
tests/tests/line_iterator.cpp
|
||||
tests/tests/line_wrap.cpp
|
||||
tests/tests/mru.cpp
|
||||
tests/tests/option.cpp
|
||||
tests/tests/path.cpp
|
||||
tests/tests/signals.cpp
|
||||
tests/tests/split.cpp
|
||||
tests/tests/syntax_highlight.cpp
|
||||
tests/tests/thesaurus.cpp
|
||||
tests/tests/time.cpp
|
||||
tests/tests/type_name.cpp
|
||||
tests/tests/util.cpp
|
||||
tests/tests/uuencode.cpp
|
||||
tests/tests/vfr.cpp
|
||||
tests/tests/word_split.cpp
|
||||
tests/support/main.cpp
|
||||
tests/support/util.cpp
|
||||
)
|
||||
target_compile_definitions(gtest-run PRIVATE CMAKE_BUILD)
|
||||
target_include_directories(gtest-run PRIVATE tests/support ${GTEST_INCLUDE_DIRS})
|
||||
target_link_libraries(gtest-run libaegisub ${Boost_LIBRARIES} ${ICU_LIBRARIES} ${GTEST_LIBRARIES})
|
||||
if(MSVC)
|
||||
set_target_properties(gtest-run PROPERTIES COMPILE_FLAGS "/Yu${PROJECT_SOURCE_DIR}/tests/support/tests_pre.h" COMPILE_FLAGS "/FI${PROJECT_SOURCE_DIR}/tests/support/tests_pre.h")
|
||||
else()
|
||||
target_compile_options(gtest-run PRIVATE -include "${PROJECT_SOURCE_DIR}/tests/support/tests_pre.h")
|
||||
endif()
|
||||
if(WIN32)
|
||||
add_custom_target(test-aegisub
|
||||
COMMAND "${PROJECT_SOURCE_DIR}/tests/setup.bat"
|
||||
COMMAND gtest-run
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/tests"
|
||||
)
|
||||
else()
|
||||
add_custom_target(test-aegisub
|
||||
COMMAND "${PROJECT_SOURCE_DIR}/tests/setup.sh"
|
||||
COMMAND gtest-run
|
||||
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/tests"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
add_custom_target(test-aegisub)
|
||||
endif()
|
||||
|
||||
add_custom_target(test DEPENDS test-automation test-aegisub)
|
|
@ -101,13 +101,15 @@ if(NOT WIN32)
|
|||
endif()
|
||||
if(WIN32)
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
add_custom_target(buildvm_arch
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen/buildvm_arch.h
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen
|
||||
COMMAND luajit-minilua ../dynasm/dynasm.lua -LN -D WIN -D JIT -D FFI -D P64 -o gen/buildvm_arch.h vm_x86.dasc
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
)
|
||||
else()
|
||||
add_custom_target(buildvm_arch
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen/buildvm_arch.h
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen
|
||||
COMMAND luajit-minilua ../dynasm/dynasm.lua -LN -D WIN -D JIT -D FFI -o gen/buildvm_arch.h vm_x86.dasc
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
|
@ -115,13 +117,15 @@ if(WIN32)
|
|||
endif()
|
||||
else()
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
add_custom_target(buildvm_arch
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen/buildvm_arch.h
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen
|
||||
COMMAND luajit-minilua ../dynasm/dynasm.lua -D P64 -D JIT -D FFI -D FPU -D HFABI -D VER= -o gen/buildvm_arch.h vm_x86.dasc
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
)
|
||||
else()
|
||||
add_custom_target(buildvm_arch
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen/buildvm_arch.h
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen
|
||||
COMMAND luajit-minilua ../dynasm/dynasm.lua -D JIT -D FFI -D FPU -D HFABI -D VER= -o gen/buildvm_arch.h vm_x86.dasc
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
|
@ -148,8 +152,9 @@ add_executable(luajit-buildvm
|
|||
vendor/luajit/src/host/buildvm_peobj.c
|
||||
vendor/luajit/src/host/buildvm_lib.c
|
||||
vendor/luajit/src/host/buildvm_fold.c
|
||||
|
||||
vendor/luajit/src/gen/buildvm_arch.h
|
||||
)
|
||||
add_dependencies(luajit-buildvm buildvm_arch)
|
||||
target_compile_definitions(luajit-buildvm PRIVATE LUAJIT_ENABLE_LUA52COMPAT)
|
||||
target_include_directories(luajit-buildvm PRIVATE vendor/luajit/src vendor/luajit/src/gen)
|
||||
if(UNIX)
|
||||
|
@ -165,12 +170,33 @@ elseif(MSVC)
|
|||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
)
|
||||
endif()
|
||||
add_custom_target(luajit_buildvm_headers
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen/lj_ffdef.h
|
||||
COMMAND luajit-buildvm -m ffdef -o gen/lj_ffdef.h lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen/lj_bcdef.h
|
||||
COMMAND luajit-buildvm -m bcdef -o gen/lj_bcdef.h lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen/lj_folddef.h
|
||||
COMMAND luajit-buildvm -m folddef -o gen/lj_folddef.h lj_opt_fold.c
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen/lj_recdef.h
|
||||
COMMAND luajit-buildvm -m recdef -o gen/lj_recdef.h lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/gen/lj_libdef.h
|
||||
COMMAND luajit-buildvm -m libdef -o gen/lj_libdef.h lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_SOURCE_DIR}/vendor/luajit/src/jit/vmdef.lua
|
||||
COMMAND luajit-buildvm -m vmdef -o jit/vmdef.lua lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||
)
|
||||
|
@ -237,8 +263,14 @@ add_library(luajit STATIC
|
|||
vendor/luajit/src/lib_jit.c
|
||||
vendor/luajit/src/lib_ffi.c
|
||||
vendor/luajit/src/lib_init.c
|
||||
|
||||
vendor/luajit/src/gen/lj_ffdef.h
|
||||
vendor/luajit/src/gen/lj_bcdef.h
|
||||
vendor/luajit/src/gen/lj_folddef.h
|
||||
vendor/luajit/src/gen/lj_recdef.h
|
||||
vendor/luajit/src/gen/lj_libdef.h
|
||||
vendor/luajit/src/jit/vmdef.lua
|
||||
)
|
||||
add_dependencies(luajit luajit_buildvm_headers)
|
||||
target_compile_definitions(luajit PRIVATE LUAJIT_ENABLE_LUA52COMPAT)
|
||||
target_include_directories(luajit PRIVATE vendor/luajit/src/gen)
|
||||
if(MSVC)
|
||||
|
@ -246,7 +278,7 @@ if(MSVC)
|
|||
else()
|
||||
target_sources(luajit PRIVATE vendor/luajit/src/lj_vm.s)
|
||||
set_property(SOURCE vendor/luajit/src/lj_vm.s PROPERTY LANGUAGE C)
|
||||
target_link_libraries(luajit dl)
|
||||
target_link_libraries(luajit ${CMAKE_DL_LIBS})
|
||||
endif()
|
||||
|
||||
add_library(resrc STATIC
|
||||
|
@ -733,6 +765,11 @@ if(NOT WIN32)
|
|||
endif()
|
||||
install(TARGETS Aegisub DESTINATION bin)
|
||||
|
||||
set(WITH_TEST OFF CACHE BOOL "Enable unit tests")
|
||||
if(WITH_TEST)
|
||||
include("CMakeLists.test.txt")
|
||||
endif()
|
||||
|
||||
message(STATUS "\n"
|
||||
"Configure settings\n"
|
||||
" Install prefix: ${CMAKE_INSTALL_PREFIX}\n"
|
||||
|
@ -763,5 +800,6 @@ message(STATUS "\n"
|
|||
"Options\n"
|
||||
" Startup log: ${WITH_STARTUPLOG}\n"
|
||||
" Update checker: ${WITH_UPDATE_CHECKER}\n"
|
||||
" Tests: ${WITH_TEST}\n"
|
||||
"\n"
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue