diff options
| -rw-r--r-- | CMakeLists.txt | 10 | ||||
| -rw-r--r-- | bot/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | web/CMakeLists.txt | 8 |
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) |
