cmake_minimum_required(VERSION 3.16) project( WireRouting VERSION 1.0 LANGUAGES CXX ) set(CMAKE_CXX_STANDARD 17 CACHE STRING "The C++ standard to use") set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) configure_file(config.h.in config.h) # 复制DLL文件到可执行文件目录 file(COPY ${CMAKE_SOURCE_DIR}/lib/WireRouting_DLL.dll DESTINATION ${PROJECT_BINARY_DIR}/Debug) aux_source_directory(src SRC_DIR) add_executable( ${PROJECT_NAME} ${SRC_DIR} ) target_link_libraries( ${PROJECT_NAME} PUBLIC ${CMAKE_SOURCE_DIR}/lib/tinyxml.lib ${CMAKE_SOURCE_DIR}/lib/WireRouting_DLL.lib ) # 为目标添加了一个目录,源码中的 #include "config.h" 将会被解析为 ${PROJECT_BINARY_DIR}/config.h target_include_directories( ${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR} # config.h.in 会生成配置在 build 目录 ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/lib/include )