cmake_minimum_required(VERSION 3.28) project(CpCtrl) set(CMAKE_CXX_STANDARD 11) include_directories(Main) aux_source_directory(Main MAIN_LIST) include_directories(ComCtrl) aux_source_directory(ComCtrl COM_LIST) include_directories(Udp) aux_source_directory(Udp UDP_LIST) include_directories(Serial) aux_source_directory(Serial SERIAL_LIST) include_directories(Noncanonical) aux_source_directory(Noncanonical NONCAL_LIST) add_executable(CpCtrl main.cpp ${MAIN_LIST} ${COM_LIST} ${UDP_LIST} ${SERIAL_LIST} ${NONCAL_LIST}) if (CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(CpCtrl PRIVATE ws2_32 kernel32) else () target_link_libraries(CpCtrl PRIVATE pthread) endif () #Windows下拷贝配置文件到执行目录 set(INI_FILES CPCtrlConfig.ini) foreach (file ${INI_FILES}) configure_file("${file}" "${CMAKE_CURRENT_BINARY_DIR}/${file}" COPYONLY) endforeach ()