aboutsummaryrefslogtreecommitdiff
path: root/ports/autodock-vina/CMakeLists.txt
blob: 2390d9753d318ecc2cf5fa71f21e56f07fc6a58f (plain)
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
cmake_minimum_required(VERSION 3.11)
cmake_policy(VERSION 3.11)

project(autodock-vina)

set(GIT_VERSION v1.2.2)
set(CMAKE_CXX_STANDARD 11)

find_package(Boost REQUIRED COMPONENTS 
    filesystem
    log
    math_tr1
    program_options
    random
    serialization
    thread
    timer
)

file(GLOB SRC_AUTODOCK_VINA_LIBS
     "src/lib/*.cpp"
)

file(GLOB SRC_AUTODOCK_VINA_SPLIT
     "src/split/*.cpp"
)

file(GLOB HEADERS
     "src/lib/*.h"
)

add_library(vina ${SRC_AUTODOCK_VINA_LIBS})
add_library(vina_split ${SRC_AUTODOCK_VINA_SPLIT})

target_include_directories(vina 
     PUBLIC 
          $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/lib/> 
          $<INSTALL_INTERFACE:include>
     PRIVATE 
          $<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
)

target_include_directories(vina_split 
     PUBLIC 
          $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/lib/> 
          $<INSTALL_INTERFACE:include>
     PRIVATE 
          $<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>         
)

target_compile_definitions(vina 
     PUBLIC 
          -DVERSION=\"${GIT_VERSION}\"
)

target_compile_definitions(vina_split 
     PUBLIC 
          -DVERSION=\"${GIT_VERSION}\"
)

target_link_libraries(vina 
     PRIVATE 
        Boost::boost
        Boost::filesystem
        Boost::log
        Boost::math_tr1
        Boost::program_options
        Boost::random
        Boost::serialization
        Boost::thread
        Boost::timer
)

target_link_libraries(vina_split 
     PRIVATE 
        Boost::boost
        Boost::filesystem
        Boost::log
        Boost::math_tr1
        Boost::program_options
        Boost::random
        Boost::serialization
        Boost::thread
        Boost::timer
)

install(TARGETS vina EXPORT autodock-vina-config
            RUNTIME DESTINATION bin
            ARCHIVE DESTINATION lib
            LIBRARY DESTINATION lib
)

install(TARGETS vina_split EXPORT autodock-vina-config
            RUNTIME DESTINATION bin
            ARCHIVE DESTINATION lib
            LIBRARY DESTINATION lib
)

install(FILES ${HEADERS} DESTINATION include/autodock-vina)
install(EXPORT autodock-vina-config NAMESPACE autodock-vina::autodock-vina:: DESTINATION share/autodock-vina)