DNASequence/CMakeLists.txt
2024-10-01 19:25:18 +08:00

59 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(dna LANGUAGES CXX)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
message("It's in [${CMAKE_BUILD_TYPE}] mode")
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
find_package(OpenMP REQUIRED)
if(MSVC)
add_compile_options(-openmp:llvm)
else()
add_compile_options(-fopenmp)
link_libraries(OpenMP::OpenMP_CXX)
endif()
add_subdirectory(pybind11)
include_directories(src/tools)
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} # 源文件路径
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/${FILENAME}"
) # 目标文件路径
Message("Copying ${ASSET} to the build directory")
endforeach()
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
${COPY_COMMANDS}
)