-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSamplesHelper.cmake
More file actions
64 lines (52 loc) · 2.27 KB
/
Copy pathSamplesHelper.cmake
File metadata and controls
64 lines (52 loc) · 2.27 KB
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
# SamplesHelper - A project that will make creating samples easier.
#
# Copyright (C) 2023 vp817
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
set(SAMPLES_HELPER_PATH "")
set(SAMPLES_DIRECTORY_PATH "")
macro(initialize_samples_helper samples_helper_path samples_directory_path)
message(STATUS "Initializing SamplesHelper...")
if(NOT IS_DIRECTORY ${samples_directory_path})
message(FATAL_ERROR "The samples helper path is not a directory or is not found.")
endif()
if(NOT IS_DIRECTORY ${samples_directory_path})
message(FATAL_ERROR "The samples directory path is not a directory or is not found.")
endif()
set(SAMPLES_HELPER_PATH ${samples_helper_path})
set(SAMPLES_DIRECTORY_PATH ${samples_directory_path})
message(STATUS "Successfully initialized SamplesHelper...")
endmacro()
macro(add_sub_dir_if_exists path)
if(NOT IS_DIRECTORY ${path})
message(SEND_ERROR "The path ${path} is not found to be added as a subdirectory.")
endif()
add_subdirectory(${path})
endmacro()
macro(add_sample sample_name default_value)
if(NOT ${sample_name} STREQUAL ${default_value})
add_sub_dir_if_exists(${SAMPLES_DIRECTORY_PATH}/${sample_name})
endif()
endmacro()
macro(inject_sample_helper target)
message(STATUS "Injecting sample helper ${target} to the current project.")
target_include_directories(${target} PRIVATE ${SAMPLES_HELPER_PATH}/src)
message(STATUS "Successfully injected sample helper to ${target}")
endmacro()
macro(add_all_samples)
file(GLOB sample_directories "${SAMPLES_DIRECTORY_PATH}/*")
foreach(sample_directory ${sample_directories})
add_sub_dir_if_exists(${sample_directory})
endforeach()
endmacro()