1
1
cmake_minimum_required (VERSION 3.20 FATAL_ERROR )
2
2
project (
3
- ViennaCS
4
- LANGUAGES CXX
5
- VERSION 1.0 .0 )
3
+ ViennaCS
4
+ LANGUAGES CXX
5
+ VERSION 1.1 .0 )
6
6
7
7
# --------------------------------------------------------------------------------------------------------
8
8
# Library options
9
9
# --------------------------------------------------------------------------------------------------------
10
10
11
- option (VIENNACS_BUILD_PYTHON "Build python bindings" ON )
11
+ option (VIENNACS_BUILD_PYTHON "Build python bindings" OFF )
12
12
13
- option (VIENNACS_BUILD_EXAMPLES "Build examples" ON )
14
- option (VIENNACS_BUILD_TESTS "Build tests" ON )
13
+ option (VIENNACS_BUILD_EXAMPLES "Build examples" OFF )
14
+ option (VIENNACS_BUILD_TESTS "Build tests" OFF )
15
15
16
16
set (VIENNACS_LOOKUP_DIRS
17
- ""
18
- CACHE STRING "Directories to account for when searching installed dependencies" )
17
+ ""
18
+ CACHE STRING "Directories to account for when searching installed dependencies" )
19
19
20
20
list (APPEND CMAKE_PREFIX_PATH ${VIENNACS_LOOKUP_DIRS} )
21
21
@@ -28,24 +28,24 @@ add_library(ViennaTools::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
28
28
29
29
target_compile_features (${PROJECT_NAME} INTERFACE cxx_std_17 )
30
30
set_target_properties (
31
- ${PROJECT_NAME}
32
- PROPERTIES CXX_STANDARD 17
33
- CXX_EXTENSIONS OFF
34
- CXX_STANDARD_REQUIRED ON )
31
+ ${PROJECT_NAME}
32
+ PROPERTIES CXX_STANDARD 17
33
+ CXX_EXTENSIONS OFF
34
+ CXX_STANDARD_REQUIRED ON )
35
35
36
- if (MSVC )
37
- # https://learn.microsoft.com/cpp/c-runtime-library/math-constants
38
- # TODO: In case C++20 is adpoted any time soon: https://cppreference.com/w/cpp/numeric/constants
39
- target_compile_definitions (${PROJECT_NAME} INTERFACE _USE_MATH_DEFINES=1 )
40
- endif ()
36
+ if (MSVC )
37
+ # https://learn.microsoft.com/cpp/c-runtime-library/math-constants
38
+ # TODO: In case C++20 is adpoted any time soon: https://cppreference.com/w/cpp/numeric/constants
39
+ target_compile_definitions (${PROJECT_NAME} INTERFACE _USE_MATH_DEFINES=1 )
40
+ endif ()
41
41
42
42
# --------------------------------------------------------------------------------------------------------
43
43
# Include directories
44
44
# --------------------------------------------------------------------------------------------------------
45
45
46
46
target_include_directories (
47
- ${PROJECT_NAME} INTERFACE $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /include/viennacs>
48
- $< INSTALL_INTERFACE:include/viennacs-${PROJECT_VERSION} > )
47
+ ${PROJECT_NAME} INTERFACE $< BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /include/viennacs>
48
+ $< INSTALL_INTERFACE:include/viennacs-${PROJECT_VERSION} > )
49
49
50
50
# --------------------------------------------------------------------------------------------------------
51
51
# Check whether or not dependencies are installed on the system
@@ -58,12 +58,12 @@ find_package(ViennaRay QUIET)
58
58
find_package (ViennaLS QUIET )
59
59
60
60
set (VIENNACS_SYSTEM_VIENNARAY
61
- ${ViennaRay_FOUND}
62
- CACHE INTERNAL "" )
61
+ ${ViennaRay_FOUND}
62
+ CACHE INTERNAL "" )
63
63
64
64
set (VIENNACS_SYSTEM_VIENNALS
65
- ${ViennaLS_FOUND}
66
- CACHE INTERNAL "" )
65
+ ${ViennaLS_FOUND}
66
+ CACHE INTERNAL "" )
67
67
68
68
# --------------------------------------------------------------------------------------------------------
69
69
# Setup Dependencies
@@ -72,71 +72,70 @@ set(VIENNACS_SYSTEM_VIENNALS
72
72
include ("cmake/cpm.cmake" )
73
73
74
74
CPMAddPackage (
75
- NAME ViennaCore
76
- VERSION 1.3.0
77
- GIT_REPOSITORY "https://github.com/ViennaTools/ViennaCore"
78
- OPTIONS "VIENNACORE_FORMAT_EXCLUDE docs/" )
75
+ NAME ViennaCore
76
+ VERSION 1.4.0
77
+ GIT_REPOSITORY "https://github.com/ViennaTools/ViennaCore" )
79
78
80
79
CPMAddPackage (
81
- NAME PackageProject
82
- VERSION 1.13.0
83
- GIT_REPOSITORY "https://github.com/TheLartians/PackageProject.cmake"
84
- EXCLUDE_FROM_ALL ${VIENNACS_BUILD_PYTHON} )
80
+ NAME PackageProject
81
+ VERSION 1.13.0
82
+ GIT_REPOSITORY "https://github.com/TheLartians/PackageProject.cmake"
83
+ EXCLUDE_FROM_ALL ${VIENNACS_BUILD_PYTHON} )
85
84
86
85
CPMFindPackage (
87
- NAME ViennaRay
88
- VERSION 3.3 .0
89
- GIT_REPOSITORY "https://github.com/ViennaTools/ViennaRay"
90
- EXCLUDE_FROM_ALL ${VIENNACS_BUILD_PYTHON} )
86
+ NAME ViennaRay
87
+ VERSION 3.4 .0
88
+ GIT_REPOSITORY "https://github.com/ViennaTools/ViennaRay"
89
+ EXCLUDE_FROM_ALL ${VIENNACS_BUILD_PYTHON} )
91
90
92
91
CPMFindPackage (
93
- NAME ViennaLS
94
- VERSION 4.2.2
95
- GIT_REPOSITORY "https://github.com/ViennaTools/ViennaLS"
96
- EXCLUDE_FROM_ALL ${VIENNACS_BUILD_PYTHON} )
92
+ NAME ViennaLS
93
+ VERSION 4.3.0
94
+ GIT_REPOSITORY "https://github.com/ViennaTools/ViennaLS"
95
+ EXCLUDE_FROM_ALL ${VIENNACS_BUILD_PYTHON} )
97
96
98
97
target_link_libraries (${PROJECT_NAME} INTERFACE ViennaTools::ViennaCore ViennaTools::ViennaLS
99
- ViennaTools::ViennaRay )
98
+ ViennaTools::ViennaRay )
100
99
101
100
# --------------------------------------------------------------------------------------------------------
102
101
# Setup Examples
103
102
# --------------------------------------------------------------------------------------------------------
104
103
105
- if (VIENNACS_BUILD_EXAMPLES )
106
- message (STATUS "[ViennaCS] Building Examples" )
107
- add_subdirectory (examples )
108
- endif ()
104
+ if (VIENNACS_BUILD_EXAMPLES )
105
+ message (STATUS "[ViennaCS] Building Examples" )
106
+ add_subdirectory (examples )
107
+ endif ()
109
108
110
109
# --------------------------------------------------------------------------------------------------------
111
110
# Setup Tests
112
111
# --------------------------------------------------------------------------------------------------------
113
112
114
- if (VIENNACS_BUILD_TESTS )
115
- message (STATUS "[ViennaCS] Building Tests" )
113
+ if (VIENNACS_BUILD_TESTS )
114
+ message (STATUS "[ViennaCS] Building Tests" )
116
115
117
- enable_testing ()
118
- add_subdirectory (tests )
119
- endif ()
116
+ enable_testing ()
117
+ add_subdirectory (tests )
118
+ endif ()
120
119
121
120
# --------------------------------------------------------------------------------------------------------
122
121
# Setup Python Bindings
123
122
# --------------------------------------------------------------------------------------------------------
124
123
125
- if (VIENNACS_BUILD_PYTHON )
126
- message (STATUS "[ViennaPS ] Building Python Bindings" )
127
- add_subdirectory (python )
128
- return ()
129
- endif ()
124
+ if (VIENNACS_BUILD_PYTHON )
125
+ message (STATUS "[ViennaCS ] Building Python Bindings" )
126
+ add_subdirectory (python )
127
+ return ()
128
+ endif ()
130
129
131
130
# --------------------------------------------------------------------------------------------------------
132
131
# Install Target
133
132
# --------------------------------------------------------------------------------------------------------
134
133
135
134
packageProject (
136
- NAME ${PROJECT_NAME} NAMESPACE ViennaTools
137
- VERSION ${PROJECT_VERSION}
138
- BINARY_DIR ${PROJECT_BINARY_DIR}
139
- INCLUDE_DIR ${PROJECT_SOURCE_DIR} /include/viennacs
140
- INCLUDE_DESTINATION include /viennacs-${PROJECT_VERSION}
141
- COMPATIBILITY SameMajorVersion
142
- DEPENDENCIES "ViennaCore;ViennaLS;ViennaRay" )
135
+ NAME ${PROJECT_NAME} NAMESPACE ViennaTools
136
+ VERSION ${PROJECT_VERSION}
137
+ BINARY_DIR ${PROJECT_BINARY_DIR}
138
+ INCLUDE_DIR ${PROJECT_SOURCE_DIR} /include/viennacs
139
+ INCLUDE_DESTINATION include /viennacs-${PROJECT_VERSION}
140
+ COMPATIBILITY SameMajorVersion
141
+ DEPENDENCIES "ViennaCore;ViennaLS;ViennaRay" )
0 commit comments