cmake_minimum_required(VERSION 3.10) project(compiler-bin) # 收集所有的cpp源文件 file(GLOB SOURCES_LL "LL1/*.cpp") file(GLOB SOURCES_NFA "nfa/*.cpp") file(GLOB SOURCES_MAIN "main/*.cpp") # 设置输出目录为 bin set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) # 创建静态链接库 add_library(LL STATIC ${SOURCES_LL}) add_library(nfa STATIC ${SOURCES_NFA}) # 添加头文件目录 target_include_directories(LL PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/LL) target_include_directories(nfa PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/nfa) # 添加可执行文件 add_executable(main ${SOURCES_MAIN}) # 链接静态库 target_link_libraries(main PRIVATE LL nfa)