cmake_minimum_required(VERSION 3.12) set(loaclExeName "SecurePlayAuxServer") #包含源文件 file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/common/LHLog/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/communication/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/GlobalInfo/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Application/*.cpp ${CMAKE_SOURCE_DIR}/External/common/Thread/*.cpp ${CMAKE_SOURCE_DIR}/External/module/CurlHttp/*.cpp ${CMAKE_SOURCE_DIR}/External/module/ThreadPool/*.cpp ${CMAKE_SOURCE_DIR}/External/module/mqtt/*.cpp ${LHQLog_SOURCE_DIRS}/*.cpp ${LHHTTPAPI_SOURCE_DIRS}/*.cpp ${SM_SOURCE_DIR}/*.cpp ) #生成可执行程序 add_executable(${loaclExeName} ${LOCAL_SRC}) #添加头文件 target_include_directories(${loaclExeName} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/common/LHLog ${CMAKE_CURRENT_SOURCE_DIR}/communication ${CMAKE_CURRENT_SOURCE_DIR}/GlobalInfo ${CMAKE_CURRENT_SOURCE_DIR}/Application ${CMAKE_SOURCE_DIR}/External/common ${CMAKE_SOURCE_DIR}/External/common/Thread ${CMAKE_SOURCE_DIR}/External/module ${CMAKE_SOURCE_DIR}/External/module/FmtLog ${CMAKE_SOURCE_DIR}/External/module/CurlHttp ${CMAKE_SOURCE_DIR}/External/module/RingQueue ${CMAKE_SOURCE_DIR}/External/module/ThreadPool ${CMAKE_SOURCE_DIR}/External/module/mqtt ${LHQLog_INCLUDE_DIRS} ${LHHTTPAPI_SOURCE_DIRS} ${SM_INCLUDE_DIR} ${CURL_INCLUDE_DIR} ${spdlog_INCLUDE_DIR} ${hiredis_INCLUDE_DIR} ${qmqtt_INCLUDE_DIR} ) #链接Qt库 target_link_libraries(${loaclExeName} PRIVATE # Qt5::Widgets Qt5::Core Qt5::Network # Qt5::Sql ) #链接外部库 target_link_libraries(${loaclExeName} PRIVATE ${spdlog_LIBRARY} ${SM_LIBRARY} ${hiredis_LIBRARY} ${CURL_LIBRARY} ${spdlog_LIBRARY} ${qmqtt_LIBRARY} ) #连接stdc++fs库,如果编译器版本低于GCC9.0,则需要连接这个库 #GCC9.0以上包含进了标准库 if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0) target_link_libraries(${loaclExeName} PRIVATE stdc++fs) endif() endif()