cmake_minimum_required(VERSION 3.10) project(sparkle) include(GoogleTest) set(SOURCE sources/main.cpp) set(LIBS ${CMAKE_SOURCE_DIR}/libs/) set(INCLUDE ${CMAKE_SOURCE_DIR}/include/) set(TESTS ${CMAKE_SOURCE_DIR}/tests) set(CMAKE_C_COMPILER "clang") set(CMAKE_CXX_COMPILER "clang++") find_program(CMAKE_C_COMPILER clang) find_program(CLANG_CXX_COMPILER clang++) find_package(CURL REQUIRED) find_path(IXWEBSOCKET_INCLUDE_DIR ixwebsocket) find_library(IXWEBSOCKET_LIBRARIES ixwebsocket) if(NOT CMAKE_C_COMPILER OR NOT CLANG_CXX_COMPILER) message(STATUS "clang not found") set(CMAKE_C_COMPILER "gcc") set(CMAKE_CXX_COMPILER "g++") find_program(CMAKE_C_COMPILER clang) find_program(CLANG_CXX_COMPILER clang++) if(NOT CMAKE_C_COMPILER OR NOT CLANG_CXX_COMPILER) message(FATAL_ERROR "gcc not found") endif() endif() message(STATUS "current compiler: ${CMAKE_C_COMPILER}") if(NOT IXWEBSOCKET_INCLUDE_DIR OR NOT IXWEBSOCKET_LIBRARIES) message(FATAL_ERROR "ixwebsocket not found") endif() if(NOT CURL_INCLUDE_DIRS OR NOT CURL_LIBRARIES) message(FATAL_ERROR "curl not found") endif() add_executable(${PROJECT_NAME} ${SOURCE}) #add_library(sparkles STATIC ${SOURCE}) #add_executable(tests ${TESTS}/tests.cpp) #enable_testing() add_test(NAME network COMMAND tests) #target_include_directories(sparkles PRIVATE ${LIBS} ${INCLUDE} ${IXWEBSOCKET_INCLUDE_DIR} ${CURL_INCLUDE_DIRS}) #target_link_libraries(sparkles PRIVATE ${IXWEBSOCKET_LIBRARIES} ${CURL_LIBRARIES}) target_include_directories(${PROJECT_NAME} PRIVATE ${LIBS} ${INCLUDE} ${IXWEBSOCKET_INCLUDE_DIR} ${CURL_INCLUDE_DIRS} ) target_link_libraries(${PROJECT_NAME} PRIVATE ${IXWEBSOCKET_LIBRARIES} ${CURL_LIBRARIES} ) #target_include_directories(tests PRIVATE # ${LIBS} # ${INCLUDE} # ${IXWEBSOCKET_INCLUDE_DIR} # ${CURL_INCLUDE_DIRS} #) #target_link_libraries(tests gtest # ${IXWEBSOCKET_LIBRARIES} # ${CURL_LIBRARIES} # gtest_main #) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_FLAGS "-march=native -O2 -pipe")