cmake_minimum_required(VERSION 3.10) project(dna LANGUAGES CXX) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) if(CMAKE_BUILD_TYPE STREQUAL Release) Message("It's in [Release] mode") else() Message("It's in [Debug] mode") endif() set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_subdirectory(pybind11) include_directories(src/tools) if(MSVC) add_compile_options(/openmp:llvm) else() add_compile_options(-fopenmp) add_link_options(-fopenmp) endif() file(GLOB_RECURSE SRC CONFIGURE_DEPENDS src/*.cpp src/*.h src/*.hpp) add_executable(${PROJECT_NAME}_bin ${SRC}) pybind11_add_module(${PROJECT_NAME} ${SRC}) target_compile_definitions(${PROJECT_NAME} PRIVATE DNA_IS_PYBIND) # add_custom_command( # POST_BUILD # TARGET ${PROJECT_NAME} # COMMAND ${CMAKE_COMMAND} copy # ) file(GLOB ASSETS *.p*) set(COPY_COMMANDS) foreach(ASSET ${ASSETS}) get_filename_component(FILENAME ${ASSET} NAME) list( APPEND COPY_COMMANDS COMMAND ${CMAKE_COMMAND} -E copy ${ASSET} # 源文件路径 "$/${FILENAME}" ) # 目标文件路径 Message("Copying ${ASSET} to the build directory") endforeach() add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD ${COPY_COMMANDS} )