diff options
author | Kargatum <dowlandtop@yandex.com> | 2022-05-31 17:05:39 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-31 17:05:39 +0700 |
commit | 4fbec972a8fe55d73744205322298791ded0c204 (patch) | |
tree | 9b183311815b3a25c46ea11e99c73c548460a0fb /src/cmake/macros/ConfigInstall.cmake | |
parent | 40a5eef152addba3949016938519fa61d9776f82 (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.cmake | 44 |
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() |