tfarm binaries into .app folder by damies13 #1141 (modified) (#1993)

* Issue #1130 - tfarm binaries into .app folder

set CMAKE_RUNTIME_OUTPUT_DIRECTORY path for OSX so that when
add_subdirectory() calls add_executable(), the binaries know where they
need to be written so they are bundled into the mac .app folder

* copy tfarm binaries
This commit is contained in:
shun-iwasawa 2018-05-24 16:30:13 +09:00 committed by masafumi-inoue
parent 009b00c9ed
commit 4ea5e5034a

View file

@ -456,6 +456,8 @@ if(BUILD_ENV_APPLE)
# OSX CMAKE_RUNTIME_OUTPUT_DIRECTORY Windows 使
get_target_property(bin OpenToonz_${VERSION} LOCATION)
get_filename_component(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${bin} DIRECTORY)
# show CMAKE_RUNTIME_OUTPUT_DIRECTORY
message("CMAKE_RUNTIME_OUTPUT_DIRECTORY:" ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
endif()
# copy utilty executables onto the directory after build
@ -486,6 +488,13 @@ if(BUILD_ENV_APPLE)
add_custom_command(TARGET OpenToonz_${VERSION} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/OpenToonz_${VERSION}.app/Contents/Resources)
add_custom_command(TARGET OpenToonz_${VERSION} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/qss)
add_custom_command(TARGET OpenToonz_${VERSION} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../install/SystemVar.ini ${CMAKE_CURRENT_BINARY_DIR}/OpenToonz_${VERSION}.app/Contents/Resources)
add_custom_command(TARGET OpenToonz_${VERSION} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tcomposer> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tcomposer)
add_custom_command(TARGET OpenToonz_${VERSION} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tcleanup> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tcleanup)
add_custom_command(TARGET OpenToonz_${VERSION} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tconverter> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tconverter)
add_custom_command(TARGET OpenToonz_${VERSION} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tfarmcontroller> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tfarmcontroller)
add_custom_command(TARGET OpenToonz_${VERSION} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tfarmserver> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tfarmserver)
elseif(BUILD_ENV_UNIXLIKE AND BUILD_TARGET_WIN)
# Setup files on Windows platform while cross compilation.
install(