-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
80 lines (69 loc) · 2.9 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
project (Colate)
cmake_minimum_required (VERSION 3.1)
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "-O3") ## Optimize
endif()
set (CMAKE_CXX_STANDARD 14)
#set(CMAKE_OSX_ARCHITECTURES "x86_64")
#add_definitions(-static)
#add_definitions(-static-libgcc)
#set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -static -static-libgcc")
#set(OPENSSL_USE_STATIC_LIBS TRUE)
find_package( ZLIB REQUIRED )
if ( ZLIB_FOUND )
message(STATUS "zlib Found: ${ZLIB_VERSION}")
message(STATUS "zlib Include: ${ZLIB_INCLUDE_DIR}")
message(STATUS "zlib Libraries: ${ZLIB_LIBRARIES}")
include_directories( ${ZLIB_INCLUDE_DIRS} )
endif( ZLIB_FOUND )
# Search OpenSSL
if(APPLE)
set(OPENSSL_ROOT_DIR /opt/homebrew/Cellar/[email protected]/1.1.1t)
find_package(OpenSSL REQUIRED)
include_directories(/opt/homebrew/Cellar/[email protected]/1.1.1t/include)
list(APPEND LIB_LIST /opt/homebrew/Cellar/[email protected]/1.1.1t/lib/libssl.dylib)
list(APPEND LIB_LIST /opt/homebrew/Cellar/[email protected]/1.1.1t/lib/libcrypto.dylib)
message(STATUS "OpenSSL Version: ${OPENSSL_VERSION} ${OPENSSL_INCLUDE_DIR} ${OPENSSL_LIBRARIES}")
else()
find_package(OpenSSL REQUIRED)
include_directories(${OPENSSL_INCLUDE_DIR})
list(APPEND LIB_LIST ${OPENSSL_LIBRARIES})
message(STATUS "OpenSSL Version: ${OPENSSL_VERSION} ${OPENSSL_INCLUDE_DIR} ${OPENSSL_LIBRARIES}")
endif()
find_package( LibLZMA REQUIRED )
if ( LibLZMA_FOUND )
message(STATUS "zlib Found: ${LibLZMA_VERSION}")
message(STATUS "zlib Include: ${LibLZMA_INCLUDE_DIR}")
message(STATUS "zlib Libraries: ${LibLZMA_LibRARIES}")
include_directories( ${LibLZMA_INCLUDE_DIRS} )
endif( LibLZMA_FOUND )
# Set dir
set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(PROJECT_SOURCE_DIR ${CMAKE_SOURCE_DIR}/include/src)
set(GZSTREAM_DIR ${CMAKE_SOURCE_DIR}/include/src/gzstream)
set(TSKIT_DIR ${CMAKE_SOURCE_DIR}/include/src/tskit)
set(HTSLIB_DIR ${CMAKE_SOURCE_DIR}/include/vcf)
set(COLATE_DIR ${CMAKE_SOURCE_DIR}/include/coal)
set(TEST_DIR ${CMAKE_SOURCE_DIR}/include/test)
link_directories(${HTSLIB_DIR})
set(HTSLIB hts)
# Add subdirectories
include_directories(${PROJECT_SOURCE_DIR})
include_directories(${GZSTREAM_DIR})
include_directories(${TEST_DIR})
include_directories(${TSKIT_DIR})
include_directories(${HTSLIB_DIR})
include_directories(${COLATE_DIR})
add_subdirectory(${PROJECT_SOURCE_DIR})
add_subdirectory(${GZSTREAM_DIR})
add_subdirectory(${TSKIT_DIR})
add_subdirectory(${TEST_DIR})
add_subdirectory(${HTSLIB_DIR})
add_subdirectory(${COLATE_DIR})
# tests
add_executable(Tests ${TEST_DIR}/Tests.cpp ${COLATE_DIR}/coal_EM.hpp ${COLATE_DIR}/coal_EM.cpp ${COLATE_DIR}/coal_EM_old.hpp ${COLATE_DIR}/coal_EM_old.cpp)
target_link_libraries(Tests relateStatic UnitTest)
enable_testing()
add_test(UnitTest ${CMAKE_BINARY_DIR}/Tests)
add_custom_command(TARGET Tests COMMENT "Run tests" POST_BUILD WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND Tests)