Fix PR #1600
This commit is contained in:
parent
3ebe42c400
commit
7fe60279de
7 changed files with 56 additions and 38 deletions
|
@ -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()
|
||||
|
|
|
@ -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
38
tests/CMakeLists.txt
Normal 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})
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue