summaryrefslogtreecommitdiff
path: root/src/cmake/macros/ConfigInstall.cmake
diff options
context:
space:
mode:
authorKargatum <dowlandtop@yandex.com>2022-05-31 17:05:39 +0700
committerGitHub <noreply@github.com>2022-05-31 17:05:39 +0700
commit4fbec972a8fe55d73744205322298791ded0c204 (patch)
tree9b183311815b3a25c46ea11e99c73c548460a0fb /src/cmake/macros/ConfigInstall.cmake
parent40a5eef152addba3949016938519fa61d9776f82 (diff)
refactor(Cmake): add support build selected applications and tools (#11836)
Diffstat (limited to 'src/cmake/macros/ConfigInstall.cmake')
-rw-r--r--src/cmake/macros/ConfigInstall.cmake44
1 files changed, 37 insertions, 7 deletions
diff --git a/src/cmake/macros/ConfigInstall.cmake b/src/cmake/macros/ConfigInstall.cmake
index 8dc97a8e6a..836ec610c8 100644
--- a/src/cmake/macros/ConfigInstall.cmake
+++ b/src/cmake/macros/ConfigInstall.cmake
@@ -12,32 +12,62 @@
#
# Use it like:
-# CopyDefaultConfig(worldserver)
+# CopyApplicationConfig(${APP_PROJECT_NAME} ${APPLICATION_NAME})
#
-function(CopyDefaultConfig servertype)
+function(CopyApplicationConfig projectName appName)
+ GetPathToApplication(${appName} SOURCE_APP_PATH)
+
if(WIN32)
if("${CMAKE_MAKE_PROGRAM}" MATCHES "MSBuild")
- add_custom_command(TARGET ${servertype}
+ add_custom_command(TARGET ${projectName}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/configs")
+ add_custom_command(TARGET ${projectName}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${SOURCE_APP_PATH}/${appName}.conf.dist" "${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/configs")
+ elseif(MINGW)
add_custom_command(TARGET ${servertype}
POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${servertype}.conf.dist" "${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/configs")
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/bin/configs")
+ add_custom_command(TARGET ${servertype}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${SOURCE_APP_PATH}/${appName}.conf.dist ${CMAKE_BINARY_DIR}/bin/configs")
+ endif()
+ endif()
+
+ if(UNIX)
+ install(FILES "${SOURCE_APP_PATH}/${appName}.conf.dist" DESTINATION "${CONF_DIR}")
+ elseif(WIN32)
+ install(FILES "${SOURCE_APP_PATH}/${appName}.conf.dist" DESTINATION "${CMAKE_INSTALL_PREFIX}/configs")
+ endif()
+endfunction()
+
+function(CopyToolConfig projectName appName)
+ GetPathToTool(${appName} SOURCE_APP_PATH)
+
+ if(WIN32)
+ if("${CMAKE_MAKE_PROGRAM}" MATCHES "MSBuild")
+ add_custom_command(TARGET ${projectName}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/configs")
+ add_custom_command(TARGET ${projectName}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${SOURCE_APP_PATH}/${appName}.conf.dist" "${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/configs")
elseif(MINGW)
add_custom_command(TARGET ${servertype}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/bin/configs")
add_custom_command(TARGET ${servertype}
POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${servertype}.conf.dist ${CMAKE_BINARY_DIR}/bin/configs")
+ COMMAND ${CMAKE_COMMAND} -E copy "${SOURCE_APP_PATH}/${appName}.conf.dist ${CMAKE_BINARY_DIR}/bin/configs")
endif()
endif()
if(UNIX)
- install(FILES "${servertype}.conf.dist" DESTINATION "${CONF_DIR}")
+ install(FILES "${SOURCE_APP_PATH}/${appName}.conf.dist" DESTINATION "${CONF_DIR}")
elseif(WIN32)
- install(FILES "${servertype}.conf.dist" DESTINATION "${CMAKE_INSTALL_PREFIX}/configs")
+ install(FILES "${SOURCE_APP_PATH}/${appName}.conf.dist" DESTINATION "${CMAKE_INSTALL_PREFIX}/configs")
endif()
endfunction()