summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt10
-rw-r--r--bot/CMakeLists.txt5
-rw-r--r--web/CMakeLists.txt8
3 files changed, 17 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b60cb18..268e50d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,16 @@ project(
DESCRIPTION "a silly twitch chat bot"
)
+function(create_symlink_if_exists source target)
+ if(EXISTS "${source}")
+ message(STATUS "Creating symlink ${source} -> ${target}")
+ execute_process(COMMAND ${CMAKE_COMMAND} -E remove -f "${target}")
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${source}" "${target}")
+ else()
+ message(WARNING "Source '${source}' does not exist. Skipping symlink creation.")
+ endif()
+endfunction()
+
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
diff --git a/bot/CMakeLists.txt b/bot/CMakeLists.txt
index 4f02d17..1806c03 100644
--- a/bot/CMakeLists.txt
+++ b/bot/CMakeLists.txt
@@ -2,9 +2,10 @@ cmake_minimum_required(VERSION 3.10)
include(FetchContent)
# Creating symbolic links
-file(CREATE_LINK "${CMAKE_SOURCE_DIR}/localization" "${CMAKE_CURRENT_BINARY_DIR}/localization" SYMBOLIC)
+create_symlink_if_exists("${CMAKE_SOURCE_DIR}/localization" "${CMAKE_CURRENT_BINARY_DIR}/localization")
+create_symlink_if_exists("${CMAKE_SOURCE_DIR}/luamods" "${CMAKE_CURRENT_BINARY_DIR}/luamods")
if (EXISTS "${CMAKE_SOURCE_DIR}/.env")
- file(CREATE_LINK "${CMAKE_SOURCE_DIR}/.env" "${CMAKE_CURRENT_BINARY_DIR}/.env" SYMBOLIC)
+ create_symlink_if_exists("${CMAKE_SOURCE_DIR}/.env" "${CMAKE_CURRENT_BINARY_DIR}/.env")
endif()
add_executable(Bot)
diff --git a/web/CMakeLists.txt b/web/CMakeLists.txt
index 11a11bf..5583ab7 100644
--- a/web/CMakeLists.txt
+++ b/web/CMakeLists.txt
@@ -2,11 +2,11 @@ cmake_minimum_required(VERSION 3.10)
include(FetchContent)
# Creating symbolic links
-file(CREATE_LINK "${CMAKE_SOURCE_DIR}/static" "${CMAKE_CURRENT_BINARY_DIR}/static" SYMBOLIC)
-file(CREATE_LINK "${CMAKE_SOURCE_DIR}/templates" "${CMAKE_CURRENT_BINARY_DIR}/templates" SYMBOLIC)
-file(CREATE_LINK "${CMAKE_SOURCE_DIR}/docs" "${CMAKE_CURRENT_BINARY_DIR}/docs" SYMBOLIC)
+create_symlink_if_exists("${CMAKE_SOURCE_DIR}/static" "${CMAKE_CURRENT_BINARY_DIR}/static")
+create_symlink_if_exists("${CMAKE_SOURCE_DIR}/templates" "${CMAKE_CURRENT_BINARY_DIR}/templates")
+create_symlink_if_exists("${CMAKE_SOURCE_DIR}/docs" "${CMAKE_CURRENT_BINARY_DIR}/docs")
if (EXISTS "${CMAKE_SOURCE_DIR}/.env")
- file(CREATE_LINK "${CMAKE_SOURCE_DIR}/.env" "${CMAKE_CURRENT_BINARY_DIR}/.env" SYMBOLIC)
+ create_symlink_if_exists("${CMAKE_SOURCE_DIR}/.env" "${CMAKE_CURRENT_BINARY_DIR}/.env")
endif()
add_executable(Web)