cmake_minimum_required(VERSION 3.8) project(chatterino) include_directories(src) set(chatterino_SOURCES src/common/NetworkRequest.cpp src/common/NetworkResult.cpp src/common/NetworkPrivate.cpp src/common/NetworkManager.cpp src/common/QLogging.cpp src/common/Modes.cpp src/common/ChatterinoSetting.cpp src/util/DebugCount.cpp src/singletons/Paths.cpp src/BaseSettings.cpp src/common/UsernameSet.cpp src/controllers/highlights/HighlightPhrase.cpp src/providers/emoji/Emojis.cpp src/messages/Emote.cpp src/messages/Image.cpp src/messages/ImageSet.cpp src/util/RapidjsonHelpers.cpp ${CMAKE_CURRENT_LIST_DIR}/resources/resources.qrc ${CMAKE_CURRENT_LIST_DIR}/resources/resources_autogenerated.qrc ) find_package(Qt5 5.9.0 REQUIRED COMPONENTS Core Widgets Network Concurrent ) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) if (BUILD_TESTS) set(BUILD_TESTS OFF) message("++ Tests enabled") find_package(GTest) enable_testing() add_executable(chatterino-test ${chatterino_SOURCES} tests/src/main.cpp tests/src/Emojis.cpp tests/src/NetworkRequest.cpp tests/src/UsernameSet.cpp tests/src/HighlightPhrase.cpp ) target_compile_definitions(chatterino-test PRIVATE CHATTERINO_GIT_HASH="test" AB_CUSTOM_SETTINGS CHATTERINO_TEST) target_link_libraries(chatterino-test Qt5::Core Qt5::Widgets Qt5::Network Qt5::Concurrent) target_link_libraries(chatterino-test gtest gtest_main) add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/lib/settings) target_link_libraries(chatterino-test PajladaSettings) target_include_directories(chatterino-test PUBLIC PajladaSettings) find_package(Threads) target_link_libraries(chatterino-test Threads::Threads) add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/lib/serialize PajladaSerialize) target_link_libraries(chatterino-test PajladaSerialize) set_property(TARGET chatterino-test PROPERTY CXX_STANDARD 17) set_property(TARGET chatterino-test PROPERTY CXX_STANDARD_REQUIRED ON) # gtest_discover_tests(chatterino-test) else() message(FATAL_ERROR "This cmake file is only intended for tests right now. Use qmake to build chatterino2") endif()