-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCMakeLists.txt
87 lines (76 loc) · 2.49 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
81
82
83
84
85
86
87
cmake_minimum_required(
VERSION 3.26)
project(AdaptationPathways
LANGUAGES NONE
VERSION 0.0.10
DESCRIPTION "Adaptation Pathways TODO"
HOMEPAGE_URL "https://publicwiki.deltares.nl/display/AP/Adaptation+Pathways"
)
set(AP_COPYRIGHT "2025 by TODO")
string(JOIN ", " AP_AUTHORS
# TODO Add everybody, in some order (alphabet?)
"Kor de Jong (Geoneric, NL)"
"Marjolijn Haasnoot (Deltares, NL)"
"Willem van Deursen (Carthago Consultancy, NL)"
)
enable_testing()
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/environment/cmake)
set(AP_BASE_URL "" CACHE STRING
"Base url for web app. Use empty string (the default) for testing locally."
)
find_package(Flet REQUIRED)
find_package(Python3 REQUIRED COMPONENTS Interpreter)
find_package(Quarto)
find_package(Sphinx REQUIRED)
set(AP_PLOT_GRAPHS
"${CMAKE_CURRENT_SOURCE_DIR}/source/script/ap_plot_graphs.py"
)
set(AP_PYTHONPATH
"${PROJECT_SOURCE_DIR}/source/package"
"$ENV{PYTHONPATH}"
)
cmake_path(CONVERT "${AP_PYTHONPATH}" TO_NATIVE_PATH_LIST AP_PYTHONPATH)
string(TOLOWER ${CMAKE_HOST_SYSTEM_NAME} AP_HOST_SYSTEM_NAME_LOWER_CASE)
add_subdirectory(documentation)
if(Quarto_FOUND)
add_subdirectory(presentation)
endif()
add_subdirectory(source)
add_custom_target(package
VERBATIM
COMMAND
${CMAKE_COMMAND} -E env "PYTHONPATH=${AP_PYTHONPATH}"
${Python3_EXECUTABLE}
-m build
--wheel
--outdir ${CMAKE_CURRENT_BINARY_DIR}/dist
${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_target(release
# VERBATIM
COMMAND
${CMAKE_COMMAND} -E rm -rf adaptation_pathways-${CMAKE_PROJECT_VERSION}
COMMAND
${CMAKE_COMMAND} -E make_directory
adaptation_pathways-${CMAKE_PROJECT_VERSION}/dist
adaptation_pathways-${CMAKE_PROJECT_VERSION}/documentation/html
COMMAND
${CMAKE_COMMAND} -E copy
"dist/*-${CMAKE_PROJECT_VERSION}-*.whl"
adaptation_pathways-${CMAKE_PROJECT_VERSION}/dist
COMMAND
${CMAKE_COMMAND} -E copy_directory
documentation/html
adaptation_pathways-${CMAKE_PROJECT_VERSION}/documentation/html
COMMAND
${CMAKE_COMMAND} -E tar "cf"
"adaptation_pathways-${CMAKE_PROJECT_VERSION}.zip" --format=zip --
adaptation_pathways-${CMAKE_PROJECT_VERSION}
COMMAND
${CMAKE_COMMAND} -E rm -rf adaptation_pathways-${CMAKE_PROJECT_VERSION}
)
add_dependencies(release
test
documentation
package
)