summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authoriphydf <iphydf@users.noreply.github.com>2018-02-11 00:09:07 +0000
committeriphydf <iphydf@users.noreply.github.com>2018-02-11 12:20:36 +0000
commit2e74db5447f89745f4bdc375230e20a7247670a0 (patch)
treeeea5fc2ab7f8741626b2ace7468ebadbfe01d2a3 /CMakeLists.txt
parent95029f412c173878a066a5d42c16e3f0161fd445 (diff)
Improve gtest finding, support local checkout.
Also fix library dependency order for monolith test.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt48
1 files changed, 16 insertions, 32 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9450ab74..e6d9e2a2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,8 +14,8 @@
14# 14#
15################################################################################ 15################################################################################
16 16
17cmake_minimum_required(VERSION 2.8.6) 17cmake_minimum_required(VERSION 3.1.0)
18cmake_policy(VERSION 2.8.6) 18cmake_policy(VERSION 3.1.0)
19project(toxcore) 19project(toxcore)
20 20
21set(CMAKE_MODULE_PATH ${toxcore_SOURCE_DIR}/cmake) 21set(CMAKE_MODULE_PATH ${toxcore_SOURCE_DIR}/cmake)
@@ -66,11 +66,16 @@ enable_testing()
66 66
67set(CMAKE_MACOSX_RPATH ON) 67set(CMAKE_MACOSX_RPATH ON)
68 68
69if(NOT MSVC) 69# Set standard version for compiler.
70 # Set standard version for compiler. 70set(CMAKE_C_STANDARD 99)
71 add_cflag("-std=c99") 71set(CMAKE_CXX_STANDARD 11)
72 add_cxxflag("-std=c++11") 72set(CMAKE_C_EXTENSIONS OFF)
73set(CMAKE_CXX_EXTENSIONS OFF)
74
75message(STATUS "Supported C compiler features = ${CMAKE_C_COMPILE_FEATURES}")
76message(STATUS "Supported C++ compiler features = ${CMAKE_CXX_COMPILE_FEATURES}")
73 77
78if(NOT MSVC)
74 # Warn on non-ISO C. 79 # Warn on non-ISO C.
75 add_cflag("-pedantic") 80 add_cflag("-pedantic")
76 81
@@ -436,35 +441,13 @@ install_module(toxcore DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tox)
436# 441#
437################################################################################ 442################################################################################
438 443
439# Compile the GTest library. 444include(CompileGTest)
440#
441if(EXISTS "/usr/src/gtest/src/gtest-all.cc")
442 add_library(gtest
443 /usr/src/gtest/src/gtest-all.cc
444 /usr/src/gtest/src/gtest_main.cc)
445 include_directories(/usr/src/gtest/include)
446 target_include_directories(gtest PRIVATE /usr/src/gtest)
447 check_cxx_compiler_flag("-w" HAVE_CXX_W QUIET)
448 check_cxx_compiler_flag("-Wno-global-constructors" HAVE_CXX_W_NO_GLOBAL_CONSTRUCTORS QUIET)
449 check_cxx_compiler_flag("-Wno-zero-as-null-pointer-constant" HAVE_CXX_W_NO_ZERO_AS_NULL_POINTER_CONSTANT QUIET)
450 if(HAVE_CXX_W)
451 set_target_properties(gtest PROPERTIES COMPILE_FLAGS "-w")
452 endif()
453 set(HAVE_GTEST TRUE)
454endif()
455 445
456function(unit_test subdir target) 446function(unit_test subdir target)
457 if(HAVE_GTEST) 447 if(HAVE_GTEST)
458 add_executable(unit_${target}_test ${subdir}/${target}_test.cpp) 448 add_executable(unit_${target}_test ${subdir}/${target}_test.cpp)
459 target_link_modules(unit_${target}_test ${toxcore_SUBLIBS} gtest) 449 target_link_modules(unit_${target}_test ${toxcore_SUBLIBS} gtest)
460 set(gtest_CFLAGS "") 450 set_target_properties(unit_${target}_test PROPERTIES COMPILE_FLAGS "${TEST_CXX_FLAGS}")
461 if(HAVE_CXX_W_NO_GLOBAL_CONSTRUCTORS)
462 set(gtest_CFLAGS "${gtest_CFLAGS} -Wno-global-constructors")
463 endif()
464 if(HAVE_CXX_W_NO_ZERO_AS_NULL_POINTER_CONSTANT)
465 set(gtest_CFLAGS "${gtest_CFLAGS} -Wno-zero-as-null-pointer-constant")
466 endif()
467 set_target_properties(unit_${target}_test PROPERTIES COMPILE_FLAGS "${gtest_CFLAGS}")
468 add_test(NAME ${target} COMMAND ${CROSSCOMPILING_EMULATOR} unit_${target}_test) 451 add_test(NAME ${target} COMMAND ${CROSSCOMPILING_EMULATOR} unit_${target}_test)
469 endif() 452 endif()
470endfunction() 453endfunction()
@@ -518,10 +501,11 @@ if(BUILD_TOXAV)
518 auto_tests/monolith_test.cpp 501 auto_tests/monolith_test.cpp
519 ${ANDROID_CPU_FEATURES}) 502 ${ANDROID_CPU_FEATURES})
520 target_link_modules(auto_monolith_test 503 target_link_modules(auto_monolith_test
521 ${toxcore_PKGCONFIG_LIBS}
522 ${LIBSODIUM_LIBRARIES} 504 ${LIBSODIUM_LIBRARIES}
523 ${OPUS_LIBRARIES} 505 ${OPUS_LIBRARIES}
524 ${VPX_LIBRARIES}) 506 ${VPX_LIBRARIES}
507 ${toxcore_PKGCONFIG_LIBS}
508 )
525 add_test(NAME monolith COMMAND ${CROSSCOMPILING_EMULATOR} auto_monolith_test) 509 add_test(NAME monolith COMMAND ${CROSSCOMPILING_EMULATOR} auto_monolith_test)
526 510
527 if(ANDROID_CPU_FEATURES) 511 if(ANDROID_CPU_FEATURES)