This commit is contained in:
Fabio Bas 2015-10-08 21:33:24 +02:00
parent 3ebe42c400
commit 7fe60279de
7 changed files with 56 additions and 38 deletions

View file

@ -233,27 +233,9 @@ if(WITH_ORACLE)
SET(CPACK_INSTALL_CMAKE_PROJECTS "release/oracle.app;oracle;ALL;/" ${CPACK_INSTALL_CMAKE_PROJECTS})
endif()
if(test)
find_package(Gtest REQUIRED)
if(GTEST_FOUND)
include_directories(${GTEST_INCLUDE_DIRS})
else()
message(STATUS "Downloading googletest")
configure_file(gtest-CMakeLists.txt gtest-download/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/gtest-download )
execute_process(COMMAND ${CMAKE_COMMAND} --build .
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/gtest-download )
# Add gtest directly to our build
add_subdirectory(${CMAKE_BINARY_DIR}/gtest-src
${CMAKE_BINARY_DIR}/gtest-build
EXCLUDE_FROM_ALL )
# Add the gtest include directory, since gtest
# doesn't add that dependency to its gtest target
target_include_directories(gtest INTERFACE
"${CMAKE_BINARY_DIR}/gtest-src/include" )
endif()
enable_testing()
# Compile tests (default off)
option(WITH_TESTS "build tests" OFF)
if(WITH_TESTS)
include(CTest)
add_subdirectory(tests)
endif()

View file

@ -341,11 +341,3 @@ option(PORTABLE "portable build" OFF)
IF(PORTABLE)
add_definitions(-DPORTABLE_BUILD)
endif()
if(test)
enable_testing()
message(STATUS "Adding tests")
add_executable(cockatrice_test test/dummy_test.cpp)
target_link_libraries(cockatrice_test gtest_main)
add_test(NAME cockatrice_test COMMAND cockatrice_test)
endif()

38
tests/CMakeLists.txt Normal file
View file

@ -0,0 +1,38 @@
enable_testing()
add_test(NAME dummy_test COMMAND dummy_test)
# Find GTest
add_executable(dummy_test dummy_test.cpp)
find_package(GTest)
if(NOT GTEST_FOUND)
IF(NOT EXISTS "${CMAKE_BINARY_DIR}/gtest-build")
message(STATUS "Downloading googletest")
configure_file("${CMAKE_SOURCE_DIR}/cmake/gtest-CMakeLists.txt.in" "${CMAKE_BINARY_DIR}/gtest-download/CMakeLists.txt")
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/gtest-download )
execute_process(COMMAND ${CMAKE_COMMAND} --build .
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/gtest-download )
ELSE()
message(STATUS "GoogleTest directory exists")
ENDIF()
# Add gtest directly to our build
add_subdirectory(${CMAKE_BINARY_DIR}/gtest-src
${CMAKE_BINARY_DIR}/gtest-build
EXCLUDE_FROM_ALL )
# Add the gtest include directory, since gtest
# doesn't add that dependency to its gtest target
target_include_directories(gtest INTERFACE
"${CMAKE_BINARY_DIR}/gtest-src/include" )
SET(GTEST_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/gtest-src/include")
SET(GTEST_BOTH_LIBRARIES gtest)
add_dependencies(dummy_test gtest)
endif()
include_directories(${GTEST_INCLUDE_DIRS})
target_link_libraries(dummy_test ${GTEST_BOTH_LIBRARIES})

View file

@ -9,11 +9,11 @@ if [[ $TRAVIS_OS_NAME == "osx" && $QT4 == 0 ]]; then
prefix="-DCMAKE_PREFIX_PATH=`echo /usr/local/Cellar/qt5/5.*/`"
fi
if [[ $TRAVIS_OS_NAME == "linux" && $QT4 == 0 ]]; then
prefix="-DCMAKE_PREFIX_PATH=/opt/qt52/lib/cmake/"
prefix="-DCMAKE_PREFIX_PATH=`echo /opt/qt5*/lib/cmake/`"
fi
if [[ $BUILDTYPE == "Debug" ]]; then
cmake .. -DWITH_SERVER=1 -DCMAKE_BUILD_TYPE=$BUILDTYPE -Dtest=ON -DWITH_QT4=$QT4 $prefix
cmake .. -DWITH_SERVER=1 -DWITH_TESTS=1 -DCMAKE_BUILD_TYPE=$BUILDTYPE -DWITH_QT4=$QT4 $prefix
make -j2
make test
else

View file

@ -10,16 +10,22 @@ if [[ $TRAVIS_OS_NAME == "osx" ]] ; then
brew unlink cmake
brew upgrade cmake
else
sudo add-apt-repository -y ppa:george-edison55/precise-backports
if (( QT4 )); then
sudo apt-get update -qq
sudo apt-get install -y qtmobility-dev libqt4-dev
else
sudo add-apt-repository -y ppa:george-edison55/precise-backports
sudo add-apt-repository -y ppa:beineri/opt-qt521
sudo add-apt-repository -y ppa:beineri/opt-qt541
sudo apt-get update -qq
sudo apt-get install -y libsqlite3-dev\
qt52base qt52webkit qt52tools qt52svg qt52multimedia
qt54base qt54webkit qt54tools qt54svg qt54multimedia
fi
sudo apt-get install -y cmake libgtest-dev libprotobuf-dev protobuf-compiler
cd /usr/src/gtest && sudo cmake . && sudo cmake --build . && sudo mv libg* /usr/local/lib/ ; cd -
sudo apt-get install -y cmake cmake-data libgtest-dev libprotobuf-dev protobuf-compiler
sudo mkdir /usr/src/gtest/build
cd /usr/src/gtest/build
sudo cmake .. -DBUILD_SHARED_LIBS=1
sudo make -j2
sudo ln -s /usr/src/gtest/build/libgtest.so /usr/lib/libgtest.so
sudo ln -s /usr/src/gtest/build/libgtest_main.so /usr/lib/libgtest_main.so
cd -
fi