DNASequence/CMakeLists.txt
2024-09-27 23:48:57 +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(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} # 源文件路径
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/${FILENAME}"
) # 目标文件路径
Message("Copying ${ASSET} to the build directory")
endforeach()
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
${COPY_COMMANDS}
)