62 lines
2.0 KiB
CMake
Executable File
62 lines
2.0 KiB
CMake
Executable File
# This is an alternative CMakeLists.txt to the experimental one
|
|
# shipped with the original package. It builds only the essential
|
|
# for our tests.
|
|
|
|
set(GTEST_DIR "${THIRDPARTY_DIR}/gtest")
|
|
|
|
set(GTEST_INCLUDE_DIRECTORIES
|
|
"${GTEST_DIR}"
|
|
"${GTEST_DIR}/include"
|
|
)
|
|
|
|
set(GTEST_SOURCES
|
|
${GTEST_DIR}/src/gtest.cc
|
|
${GTEST_DIR}/src/gtest-death-test.cc
|
|
${GTEST_DIR}/src/gtest-filepath.cc
|
|
${GTEST_DIR}/src/gtest_main.cc
|
|
${GTEST_DIR}/src/gtest-matchers.cc
|
|
${GTEST_DIR}/src/gtest-port.cc
|
|
${GTEST_DIR}/src/gtest-printers.cc
|
|
${GTEST_DIR}/src/gtest-test-part.cc
|
|
${GTEST_DIR}/src/gtest-typed-test.cc
|
|
)
|
|
|
|
set(gtest_DEFINITIONS GTEST_HAS_RTTI=0)
|
|
|
|
# Additional gtest configuration can be added in the port's cmake file
|
|
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
|
|
|
|
# By default use a shared library
|
|
if (NOT DEFINED gtest_LIBRARY_TYPE)
|
|
set(gtest_LIBRARY_TYPE SHARED)
|
|
endif ()
|
|
|
|
if (gtest_LIBRARY_TYPE MATCHES SHARED)
|
|
list(APPEND gtest_DEFINITIONS GTEST_CREATE_SHARED_LIBRARY=1)
|
|
add_library(gtest SHARED ${GTEST_SOURCES})
|
|
else ()
|
|
list(APPEND gtest_DEFINITIONS GTEST_CREATE_SHARED_LIBRARY=0)
|
|
add_library(gtest STATIC ${GTEST_SOURCES})
|
|
endif ()
|
|
|
|
target_include_directories(gtest PRIVATE ${GTEST_INCLUDE_DIRECTORIES})
|
|
|
|
WEBKIT_ADD_TARGET_CXX_FLAGS(gtest -Wno-undef
|
|
-Wno-stringop-truncation
|
|
-Wno-suggest-attribute=format)
|
|
|
|
if (CMAKE_USE_PTHREADS_INIT)
|
|
target_link_libraries(gtest PRIVATE ${CMAKE_THREAD_LIBS_INIT})
|
|
list(APPEND gtest_DEFINITIONS GTEST_HAS_PTHREAD=1)
|
|
else ()
|
|
list(APPEND gtest_DEFINITIONS GTEST_HAS_PTHREAD=0)
|
|
endif ()
|
|
target_compile_definitions(gtest PRIVATE ${gtest_DEFINITIONS})
|
|
|
|
add_library(gtestFramework INTERFACE)
|
|
target_link_libraries(gtestFramework INTERFACE gtest)
|
|
target_include_directories(gtestFramework INTERFACE "${GTEST_DIR}/include")
|
|
target_compile_definitions(gtestFramework INTERFACE ${gtest_DEFINITIONS})
|
|
|
|
add_library(WebKit::gtest ALIAS gtestFramework)
|