picard_cpp/src/CMakeLists.txt

35 lines
1.2 KiB
CMake
Raw Normal View History

2023-10-23 23:07:00 +08:00
# 生成程序的位置
SET(EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}/bin")
# 源码目录
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src MAIN_SRC)
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src/common COMMON)
2023-10-23 23:07:00 +08:00
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src/sam SAM_SRC)
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src/sam/markdups SAM_MARKDUPS_SRC)
# 头文件目录
INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/src")
INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/lib")
INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/lib/htslib")
# 链接库位置
LINK_DIRECTORIES("${PROJECT_SOURCE_DIR}/lib/htslib")
# 编译生成的程序名称
set(PG_NAME "picard_cpp")
# 为程序添加依赖关系
ADD_EXECUTABLE(${PG_NAME} ${MAIN_SRC} ${COMMON} ${SAM_SRC} ${SAM_MARKDUPS_SRC})
2023-10-23 23:07:00 +08:00
# 链接库
TARGET_LINK_LIBRARIES(${PG_NAME} libhts.a)
# 检测系统是否包含必需的库
find_package(Threads REQUIRED)
if(THREADS_HAVE_PTHREAD_ARG)
set_property(TARGET ${PG_NAME} PROPERTY COMPILE_OPTIONS "-pthread")
set_property(TARGET ${PG_NAME} PROPERTY INTERFACE_COMPILE_OPTIONS "-pthread")
endif()
if(CMAKE_THREAD_LIBS_INIT)
TARGET_LINK_LIBRARIES(${PG_NAME} "${CMAKE_THREAD_LIBS_INIT}")
endif()