tahoma2d/toonz/sources/toonz/CMakeLists.txt

745 lines
20 KiB
CMake
Raw Normal View History

2022-12-09 02:06:20 +13:00
set(VERSION 1.3.1)
2016-03-19 06:57:51 +13:00
set(MOC_HEADERS
aboutpopup.h
2016-03-19 06:57:51 +13:00
addfilmstripframespopup.h
adjustlevelspopup.h
adjustthicknesspopup.h
antialiaspopup.h
audiorecordingpopup.h
autoinputcellnumberpopup.h
2016-03-19 06:57:51 +13:00
batches.h
batchserversviewer.h
binarizepopup.h
boardsettingspopup.h
2016-03-19 06:57:51 +13:00
brightnessandcontrastpopup.h
cachefxcommand.h
camerasettingspopup.h
canvassizepopup.h
castviewer.h
2020-05-27 18:38:36 +12:00
cleanuppaletteviewer.h
cleanuppopup.h
cleanuppreview.h
cleanupsettingsmodel.h
cleanupsettingspane.h
cleanupsettingspopup.h
cleanupswatch.h
colormodelbehaviorpopup.h
2016-03-19 06:57:51 +13:00
colormodelviewer.h
2020-05-27 18:38:36 +12:00
comboviewerpane.h
commandbar.h
commandbarpopup.h
2016-03-19 06:57:51 +13:00
convertpopup.h
duplicatepopup.h
dvdirtreeview.h
dvitemview.h
dvwidgets.h
exportlevelpopup.h
exportpanel.h
exportscenepopup.h
2016-03-19 06:57:51 +13:00
filebrowser.h
filebrowsermodel.h
filebrowserpopup.h
fileinfopopup.h
filmstrip.h
flipbook.h
formatsettingspopups.h
frameheadgadget.h
fxparameditorpopup.h
histogrampopup.h
historypane.h
2016-03-19 06:57:51 +13:00
imageviewer.h
insertfxpopup.h
layerfooterpanel.h
layerheaderpanel.h
2016-03-19 06:57:51 +13:00
levelcreatepopup.h
levelsettingspopup.h
linesfadepopup.h
lipsyncpopup.h
2016-03-19 06:57:51 +13:00
loadfolderpopup.h
locatorpopup.h
2016-03-19 06:57:51 +13:00
magpiefileimportpopup.h
mainwindow.h
matchline.h
menubar.h
meshifypopup.h
messagepanel.h
onionskinmaskgui.h
outputsettingspopup.h
overwritepopup.h
pane.h
pltgizmopopup.h
preferencespopup.h
previewer.h
previewfxmanager.h
projectpopup.h
psdsettingspopup.h
reframepopup.h
2016-03-19 06:57:51 +13:00
renumberpopup.h
reslist.h
ruler.h
savepresetpopup.h
scenebrowser.h
2016-03-19 06:57:51 +13:00
scenesettingspopup.h
sceneviewer.h
sceneviewercontextmenu.h
scriptconsolepanel.h
separatecolorspopup.h
separatecolorsswatch.h
2016-03-19 06:57:51 +13:00
shortcutpopup.h
soundtrackexport.h
startuppopup.h
statusbar.h
styleshortcutswitchablepanel.h
2016-03-19 06:57:51 +13:00
svncleanupdialog.h
svncommitdialog.h
svndeletedialog.h
svnlockdialog.h
svnlockframerangedialog.h
svnpurgedialog.h
2016-03-19 06:57:51 +13:00
svnrevertdialog.h
svnupdateandlockdialog.h
svnupdatedialog.h
tapp.h
tasksviewer.h
testpanel.h
timestretchpopup.h
toolbar.h
tpanels.h
trackerpopup.h
vectorguideddrawingpane.h
2016-03-19 06:57:51 +13:00
vectorizerpopup.h
vectorizerswatch.h
versioncontrol.h
versioncontroltimeline.h
versioncontrolwidget.h
viewerpane.h
xshcellviewer.h
xshcolumnviewer.h
xsheetviewer.h
xshnoteviewer.h
xshrowviewer.h
quicktoolbar.h
xdtsimportpopup.h
2020-04-17 19:02:53 +12:00
expressionreferencemanager.h
2021-04-22 19:44:18 +12:00
tooloptionsshortcutinvoker.h
2021-08-16 11:19:37 +12:00
exportxsheetpdf.h
2022-05-11 13:41:50 +12:00
custompanelmanager.h
custompaneleditorpopup.h
2022-10-13 20:11:59 +13:00
convertfolderpopup.h
motionpathpanel.h
graphwidget.h
../stopmotion/stopmotion.h
../stopmotion/stopmotioncontroller.h
2020-04-27 16:15:39 +12:00
../stopmotion/webcam.h
../stopmotion/jpgconverter.h
../stopmotion/canon.h
../stopmotion/stopmotionserial.h
../stopmotion/stopmotionlight.h
2022-08-14 08:13:21 +12:00
../stopmotion/gphotocam.h
2020-01-31 21:30:00 +13:00
cameracapturelevelcontrol.h
2022-04-01 02:32:28 +13:00
navtageditorpopup.h
2020-01-31 21:30:00 +13:00
)
set(HEADERS
${MOC_HEADERS}
celldata.h
cellkeyframedata.h
cellkeyframeselection.h
cellselection.h
columncommand.h
columnselection.h
curveio.h
drawingdata.h
exportlevelcommand.h
filedata.h
fileselection.h
filmstripcommand.h
filmstripselection.h
floatingpanelcommand.h
history.h
iocommand.h
keyframedata.h
keyframemover.h
keyframeselection.h
kis_tablet_support_win8.h
menubarcommandids.h
moviegenerator.h
2020-05-27 18:38:36 +12:00
scanlist.h
sceneviewerevents.h
selectionutils.h
subcameramanager.h
subscenecommand.h
tfarmstuff.h
versioncontrolgui.h
versioncontrolxmlreader.h
viewerdraw.h
viewerpopup.h
xshcellmover.h
xsheetdragtool.h
castselection.h
../include/cellposition.h
../include/orientation.h
../include/saveloadqsettings.h
xdtsio.h
2022-07-25 09:43:28 +12:00
ocaio.h
2021-03-04 20:57:24 +13:00
levelcommand.h
2016-03-19 06:57:51 +13:00
# Tracker file
ObjectTracker.h
2016-03-19 06:57:51 +13:00
dummyprocessor.h
metnum.h
processor.h
predict3d.h
2021-06-28 18:26:19 +12:00
tvpjson_io.h
)
2016-03-19 06:57:51 +13:00
set(SOURCES
floatingpanelcommand.cpp
canvassizepopup.cpp
commandbar.cpp
commandbarpopup.cpp
2016-03-19 06:57:51 +13:00
history.cpp
loadfoldercommand.cpp
loadfolderpopup.cpp
main.cpp
mainwindow.cpp
matchline.cpp
menubar.cpp
mergecolumns.cpp
moviegenerator.cpp
pane.cpp
previewer.cpp
previewfxmanager.cpp
ruler.cpp
2020-05-27 18:38:36 +12:00
scanlist.cpp
2016-03-19 06:57:51 +13:00
tapp.cpp
toolbar.cpp
batchserversviewer.cpp
castviewer.cpp
exportlevelpopup.cpp
exportscenepopup.cpp
colormodelviewer.cpp
exportpanel.cpp
filebrowser.cpp
filebrowserversioncontrol.cpp
filmstrip.cpp
matchlinecommand.cpp
messagepanel.cpp
tasksviewer.cpp
testpanel.cpp
tpanels.cpp
xshcellmover.cpp
xshcellviewer.cpp
xshcolumnviewer.cpp
xsheetdragtool.cpp
xsheetviewer.cpp
xshnoteviewer.cpp
xshrowviewer.cpp
quicktoolbar.cpp
2016-03-19 06:57:51 +13:00
sceneviewer.cpp
sceneviewerevents.cpp
viewerdraw.cpp
viewerpane.cpp
castselection.cpp
cellselection.cpp
columnselection.cpp
fileselection.cpp
filmstripselection.cpp
keyframeselection.cpp
aboutpopup.cpp
2016-03-19 06:57:51 +13:00
addfilmstripframespopup.cpp
camerasettingspopup.cpp
convertpopup.cpp
duplicatepopup.cpp
dvdirtreeview.cpp
filebrowserpopup.cpp
formatsettingspopups.cpp
fxparameditorpopup.cpp
histogrampopup.cpp
insertfxpopup.cpp
layerfooterpanel.cpp
layerheaderpanel.cpp
2016-03-19 06:57:51 +13:00
levelcreatepopup.cpp
levelsettingspopup.cpp
lipsyncpopup.cpp
2016-03-19 06:57:51 +13:00
magpiefileimportpopup.cpp
outputsettingspopup.cpp
overwritepopup.cpp
pltgizmopopup.cpp
preferencespopup.cpp
projectpopup.cpp
psdsettingspopup.cpp
renumberpopup.cpp
runscriptcommand.cpp
savepresetpopup.cpp
scenebrowser.cpp
scenebrowserversioncontrol.cpp
2016-03-19 06:57:51 +13:00
sceneviewercontextmenu.cpp
scenesettingspopup.cpp
scriptconsolepanel.cpp
shortcutpopup.cpp
soundtrackexport.cpp
startuppopup.cpp
statusbar.cpp
2016-03-19 06:57:51 +13:00
subcameramanager.cpp
kis_tablet_support_win8.cpp
2016-03-19 06:57:51 +13:00
timestretchpopup.cpp
trackerpopup.cpp
vectorguideddrawingpane.cpp
2016-03-19 06:57:51 +13:00
vectorizerpopup.cpp
vectorizerswatch.cpp
versioncontrol.cpp
versioncontroltimeline.cpp
versioncontrolxmlreader.cpp
versioncontrolwidget.cpp
viewerpopup.cpp
cellselectioncommand.cpp
columncommand.cpp
filmstripcommand.cpp
iocommand.cpp
levelcommand.cpp
print.cpp
subscenecommand.cpp
svncleanupdialog.cpp
svncommitdialog.cpp
svndeletedialog.cpp
svnlockdialog.cpp
svnlockframerangedialog.cpp
svnrevertdialog.cpp
svnupdateandlockdialog.cpp
svnupdatedialog.cpp
svnpurgedialog.cpp
vcrcommand.cpp
xsheetcmd.cpp
celldata.cpp
drawingdata.cpp
filedata.cpp
imageviewer.cpp
keyframedata.cpp
dvitemview.cpp
dvwidgets.cpp
flipbook.cpp
frameheadgadget.cpp
onionskinmaskgui.cpp
batches.cpp
tfarmstuff.cpp
2020-05-27 18:38:36 +12:00
cleanuppaletteviewer.cpp
cleanuppopup.cpp
cleanuppreview.cpp
cleanupsettingsmodel.cpp
cleanupsettingspopup.cpp
cleanupswatch.cpp
2016-03-19 06:57:51 +13:00
cellkeyframedata.cpp
cellkeyframeselection.cpp
keyframemover.cpp
cachefxcommand.cpp
exportlevelcommand.cpp
adjustlevelspopup.cpp
adjustthicknesspopup.cpp
binarizepopup.cpp
brightnessandcontrastpopup.cpp
linesfadepopup.cpp
rendercommand.cpp
curveio.cpp
meshifypopup.cpp
selectionutils.cpp
antialiaspopup.cpp
mergecmapped.cpp
2020-05-27 18:38:36 +12:00
comboviewerpane.cpp
historypane.cpp
2020-05-27 18:38:36 +12:00
cleanupsettingspane.cpp
audiorecordingpopup.cpp
locatorpopup.cpp
styleshortcutswitchablepanel.cpp
reframepopup.cpp
autoinputcellnumberpopup.cpp
2018-05-21 18:11:35 +12:00
colormodelbehaviorpopup.cpp
boardsettingspopup.cpp
separatecolorsswatch.cpp
separatecolorspopup.cpp
xdtsio.cpp
2022-07-25 09:43:28 +12:00
ocaio.cpp
xdtsimportpopup.cpp
2020-04-17 19:02:53 +12:00
expressionreferencemanager.cpp
2021-04-22 19:44:18 +12:00
tooloptionsshortcutinvoker.cpp
2021-06-28 18:26:19 +12:00
tvpjson_io.cpp
2021-08-16 11:19:37 +12:00
exportxsheetpdf.cpp
2022-05-11 13:41:50 +12:00
custompanelmanager.cpp
custompaneleditorpopup.cpp
2022-10-13 20:11:59 +13:00
convertfolderpopup.cpp
2016-03-19 06:57:51 +13:00
# Tracker file
dummyprocessor.cpp
metnum.cpp
ObjectTracker.cpp
predict3d.cpp
motionpathpanel.cpp
graphwidget.cpp
../stopmotion/stopmotion.cpp
../stopmotion/stopmotioncontroller.cpp
2020-04-27 16:15:39 +12:00
../stopmotion/webcam.cpp
../stopmotion/jpgconverter.cpp
../stopmotion/canon.cpp
../stopmotion/stopmotionserial.cpp
../stopmotion/stopmotionlight.cpp
2022-08-14 08:13:21 +12:00
../stopmotion/gphotocam.cpp
2020-01-31 21:30:00 +13:00
cameracapturelevelcontrol.cpp
2022-04-01 02:32:28 +13:00
navtageditorpopup.cpp
2020-01-31 21:30:00 +13:00
)
2020-12-23 18:22:58 +13:00
if(WITH_TRANSLATION)
add_translation(toonz ${HEADERS} ${SOURCES})
endif()
2016-03-19 06:57:51 +13:00
set(OBJCSOURCES filebrowsermodel.cpp)
# Resource file(s)
set(RESOURCES toonz.qrc)
if(BUILD_ENV_MSVC)
2016-03-19 06:57:51 +13:00
set(RC_FILE toonz.rc)
endif()
2016-03-19 06:57:51 +13:00
qt5_add_resources(SOURCES ${RESOURCES})
if(BUILD_ENV_APPLE)
2016-03-19 06:57:51 +13:00
#set_source_files_properties(${OBJCSOURCES} PROPERTIES LANGUAGE OBJCXX)
set_source_files_properties(${OBJCSOURCES} PROPERTIES COMPILE_FLAGS "-x objective-c++")
endif()
qt5_wrap_cpp(SOURCES ${MOC_HEADERS})
if(BUILD_ENV_MSVC)
2020-10-02 19:20:33 +13:00
add_executable(Tahoma2D WIN32 ${HEADERS} ${SOURCES} ${OBJCSOURCES} ${RESOURCES} ${RC_FILE})
2016-03-19 06:57:51 +13:00
else()
2020-10-04 04:45:41 +13:00
set(MACOSX_BUNDLE_ICON_FILE "Tahoma2D.icns")
set_source_files_properties(Tahoma2D.icns PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
add_executable(Tahoma2D MACOSX_BUNDLE Tahoma2D.icns ${HEADERS} ${SOURCES} ${OBJCSOURCES} ${RESOURCES})
#add_definitions(
# -DTNZBASE_EXPORTS
# -DTPARAM_EXPORTS
# -DTXSHEET_EXPORTS
# -DTFX_EXPORTS
# -DTAPPTOOLS_EXPORTS
# -DTTEST_EXPORTS
#)
2016-03-19 06:57:51 +13:00
endif()
if(BUILD_TARGET_WIN)
add_definitions(
-DUNICODE
-D_UNICODE
)
2016-03-19 06:57:51 +13:00
endif()
message("subdir: toonz")
message("Bin: " ${CMAKE_CURRENT_BINARY_DIR})
#message("Lib: " ${LIBRARY_OUTPUT_PATH})
#message("Exe: " ${EXECUTABLE_OUTPUT_PATH})
#message("Sources:" ${SOURCES})
include_directories(
../../sources/toonzfarm/include
../../sources/toonzqt
2020-04-10 11:06:47 +12:00
../../sources/stopmotion
)
2020-04-10 11:06:47 +12:00
if (WITH_CANON)
add_definitions(-DWITH_CANON)
endif()
if (WITH_WINTAB AND BUILD_TARGET_WIN AND (PLATFORM EQUAL 64))
add_definitions(-DWITH_WINTAB)
endif()
if(BUILD_ENV_APPLE)
include_directories(
../../sources/mousedragfilter
${TURBOJPEG_INCLUDE_DIRS}
)
endif()
if(BUILD_TARGET_WIN)
2016-03-19 06:57:51 +13:00
if(PLATFORM EQUAL 32)
include_directories(
SYSTEM
)
2016-03-19 06:57:51 +13:00
endif()
endif()
2021-02-12 00:41:40 +13:00
if(BUILD_ENV_MSVC)
if(WITH_CANON)
2021-02-15 21:44:29 +13:00
set(EXTRA_LIBS ${EXTRA_LIBS} ${CANON_LIB})
endif()
2022-08-14 08:13:21 +12:00
if(WITH_GPHOTO2)
set(EXTRA_LIBS ${EXTRA_LIBS} ${GPHOTO2_LIB} ${GPHOTO2_PORT_LIB} ${GPHOTO2_COMPAT_LIB})
endif()
2021-02-15 21:44:29 +13:00
target_link_libraries(Tahoma2D
Qt5::WinMain Qt5::Core Qt5::Gui Qt5::Network Qt5::OpenGL Qt5::Svg Qt5::Xml
2022-05-11 13:41:50 +12:00
Qt5::Script Qt5::Widgets Qt5::PrintSupport Qt5::Multimedia Qt5::SerialPort Qt5::UiTools
2021-02-15 21:44:29 +13:00
${GL_LIB} ${GLUT_LIB} ${TURBOJPEG_LIB} ${OpenCV_LIBS} ${EXTRA_LIBS} strmiids
tnzcore tnzbase toonzlib colorfx tnzext image sound toonzqt tnztools tnzstdfx tfarm
)
elseif(BUILD_ENV_APPLE AND WITH_CANON)
2016-03-19 06:57:51 +13:00
find_library(COCOA_LIB Cocoa)
_find_toonz_library(EXTRA_LIBS "tnzcore;tnzbase;toonzlib;colorfx;tnzext;image;sound;toonzqt;tnztools")
# 変なところにライブラリ生成するカスども
set(EXTRA_LIBS ${EXTRA_LIBS} "$<TARGET_FILE:tnzstdfx>" "$<TARGET_FILE:tfarm>")
2016-03-19 06:57:51 +13:00
2022-08-14 08:13:21 +12:00
if(WITH_GPHOTO2)
set(EXTRA_LIBS ${EXTRA_LIBS} ${GPHOTO2_LIB} ${GPHOTO2_PORT_LIB})
endif()
2021-02-15 21:44:29 +13:00
add_dependencies(Tahoma2D tnzcore tnzbase toonzlib colorfx tnzext image sound toonzqt tnztools tnzstdfx tfarm)
target_link_libraries(Tahoma2D
Qt5::Core Qt5::Gui Qt5::Network Qt5::OpenGL Qt5::Svg Qt5::Xml
2022-05-11 13:41:50 +12:00
Qt5::Script Qt5::Widgets Qt5::PrintSupport Qt5::Multimedia Qt5::MultimediaWidgets Qt5::SerialPort Qt5::UiTools
2021-02-15 21:44:29 +13:00
${GL_LIB} ${GLUT_LIB} ${CANON_LIB} ${TURBOJPEG_LIB} ${OpenCV_LIBS}
${COCOA_LIB} ${EXTRA_LIBS} mousedragfilter
)
elseif(BUILD_ENV_APPLE)
find_library(COCOA_LIB Cocoa)
_find_toonz_library(EXTRA_LIBS "tnzcore;tnzbase;toonzlib;colorfx;tnzext;image;sound;toonzqt;tnztools")
# 変なところにライブラリ生成するカスども
set(EXTRA_LIBS ${EXTRA_LIBS} "$<TARGET_FILE:tnzstdfx>" "$<TARGET_FILE:tfarm>")
2021-02-12 00:41:40 +13:00
2022-08-14 08:13:21 +12:00
if(WITH_GPHOTO2)
set(EXTRA_LIBS ${EXTRA_LIBS} ${GPHOTO2_LIB} ${GPHOTO2_PORT_LIB})
endif()
2020-10-02 19:20:33 +13:00
add_dependencies(Tahoma2D tnzcore tnzbase toonzlib colorfx tnzext image sound toonzqt tnztools tnzstdfx tfarm)
2020-10-02 19:20:33 +13:00
target_link_libraries(Tahoma2D
Qt5::Core Qt5::Gui Qt5::Network Qt5::OpenGL Qt5::Svg Qt5::Xml
2022-05-11 13:41:50 +12:00
Qt5::Script Qt5::Widgets Qt5::PrintSupport Qt5::Multimedia Qt5::MultimediaWidgets Qt5::SerialPort Qt5::UiTools
2020-04-10 11:06:47 +12:00
${GL_LIB} ${GLUT_LIB} ${TURBOJPEG_LIB} ${OpenCV_LIBS}
${COCOA_LIB} ${EXTRA_LIBS} mousedragfilter
)
elseif(BUILD_ENV_UNIXLIKE)
_find_toonz_library(EXTRA_LIBS "tnzcore;tnzbase;toonzlib;colorfx;tnzext;image;sound;toonzqt;tnztools")
# 変なところにライブラリ生成するカスども
set(EXTRA_LIBS ${EXTRA_LIBS} "$<TARGET_FILE:tnzstdfx>" "$<TARGET_FILE:tfarm>")
set(EXTRA_LIBS ${EXTRA_LIBS} ${Boost_LIBRARIES} ${OPENBLAS_LIB})
2016-03-19 06:57:51 +13:00
2022-08-14 08:13:21 +12:00
if(WITH_GPHOTO2)
set(EXTRA_LIBS ${EXTRA_LIBS} ${GPHOTO2_LIB} ${GPHOTO2_PORT_LIB})
endif()
if(BUILD_TARGET_WIN)
set(EXTRA_LIBS ${EXTRA_LIBS} Qt5::WinMain -lstrmiids -mwindows)
endif()
target_link_libraries(
2020-10-02 19:20:33 +13:00
Tahoma2D Qt5::Core Qt5::Gui Qt5::Network Qt5::OpenGL Qt5::Svg Qt5::Xml
2022-05-11 13:41:50 +12:00
Qt5::Script Qt5::Widgets Qt5::PrintSupport Qt5::Multimedia Qt5::SerialPort Qt5::UiTools
2020-04-10 11:06:47 +12:00
${GL_LIB} ${GLUT_LIB} ${GLU_LIB} ${TURBOJPEG_LIB} ${OpenCV_LIBS}
${EXTRA_LIBS}
)
2016-03-19 06:57:51 +13:00
endif()
if(BUILD_ENV_APPLE)
# CMAKE_RUNTIME_OUTPUT_DIRECTORY should be equivalent to usage on windows despite empty
# OSX だと CMAKE_RUNTIME_OUTPUT_DIRECTORY が空だが Windows 版と同じ使い方ができるようにしておく
2020-10-02 19:20:33 +13:00
get_target_property(bin Tahoma2D LOCATION)
2016-03-19 06:57:51 +13:00
get_filename_component(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${bin} DIRECTORY)
# show CMAKE_RUNTIME_OUTPUT_DIRECTORY
message("CMAKE_RUNTIME_OUTPUT_DIRECTORY:" ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
2016-03-19 06:57:51 +13:00
endif()
# copy utility executables onto the directory after build
2016-04-20 01:51:34 +12:00
if(LZODRIVER_FOUND)
2020-10-02 19:20:33 +13:00
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:lzocompress> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS lzocompress)
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:lzodecompress> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS lzodecompress)
endif()
2016-03-19 06:57:51 +13:00
if(BUILD_ENV_APPLE)
2020-10-02 19:20:33 +13:00
get_target_property(loc Tahoma2D MACOSX_BUNDLE_NAME)
2016-03-19 06:57:51 +13:00
message(" ==> App Bundle: " ${loc})
message(" ==> Mach-o: " ${bin})
2016-10-28 21:09:35 +13:00
foreach(lib ${EXTRA_LIBS})
2019-04-21 14:54:44 +12:00
message(" copy:" ${lib} "==>" ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
2020-10-02 19:20:33 +13:00
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND cp ${lib} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
2016-10-28 21:09:35 +13:00
endforeach()
2016-03-19 06:57:51 +13:00
2020-10-02 19:20:33 +13:00
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tcomposer> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tcomposer)
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tcleanup> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tcleanup)
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tconverter> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tconverter)
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tfarmcontroller> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tfarmcontroller)
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tfarmserver> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DEPENDS tfarmserver)
2019-04-21 14:54:44 +12:00
2020-10-02 19:20:33 +13:00
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/../Resources)
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../install/SystemVar.ini ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/../Resources)
2019-04-21 14:54:44 +12:00
2020-10-02 19:20:33 +13:00
add_custom_command(TARGET Tahoma2D POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/../../../qss)
2019-04-21 14:54:44 +12:00
2020-10-02 19:20:33 +13:00
add_custom_command(TARGET Tahoma2D
POST_BUILD COMMAND
2019-04-21 14:54:44 +12:00
${CMAKE_INSTALL_NAME_TOOL} -add_rpath @executable_path/. ${bin} || true
)
2020-10-02 19:20:33 +13:00
add_custom_command(TARGET Tahoma2D
POST_BUILD COMMAND
2019-04-21 14:54:44 +12:00
${CMAKE_INSTALL_NAME_TOOL} -add_rpath ${CMAKE_INSTALL_RPATH} ${bin} || true
)
elseif(BUILD_ENV_UNIXLIKE AND BUILD_TARGET_WIN)
# Setup files on Windows platform while cross compilation.
install(
TARGETS
2020-10-02 19:20:33 +13:00
Tahoma2D
DESTINATION bin
)
install(
PROGRAMS
2020-05-27 18:38:36 +12:00
"$<TARGET_FILE:tcleanup>"
"$<TARGET_FILE:tcomposer>"
"$<TARGET_FILE:tconverter>"
"$<TARGET_FILE:tfarmcontroller>"
"$<TARGET_FILE:tfarmserver>"
DESTINATION bin
)
if(LZODRIVER_FOUND)
install(
PROGRAMS
"$<TARGET_FILE:lzocompress>"
"$<TARGET_FILE:lzodecompress>"
DESTINATION bin
)
endif()
install(
FILES
"$<TARGET_FILE:tnzcore>"
"$<TARGET_FILE:tnzbase>"
"$<TARGET_FILE:toonzlib>"
"$<TARGET_FILE:colorfx>"
"$<TARGET_FILE:tnzext>"
"$<TARGET_FILE:image>"
"$<TARGET_FILE:sound>"
"$<TARGET_FILE:toonzqt>"
"$<TARGET_FILE:tnztools>"
"$<TARGET_FILE:tnzstdfx>"
"$<TARGET_FILE:tfarm>"
DESTINATION bin
)
install(
DIRECTORY
${CMAKE_SOURCE_DIR}/../../stuff
2020-10-02 19:20:33 +13:00
DESTINATION share/tahoma2d
)
elseif(BUILD_ENV_UNIXLIKE AND NOT BUILD_TARGET_WIN)
# Setup files on Linux/Unix platform.
# not essential since the binary can run in-place,
# but useful for package managers.
#
# Note that its assumed the destination can be either
2020-10-02 19:20:33 +13:00
# - /opt/tahoma2d
# - /usr
install(
TARGETS
2020-10-02 19:20:33 +13:00
Tahoma2D
DESTINATION bin
)
# Shell script that copies files to the home directory as needed
# and sets the library preload path.
2020-10-02 19:20:33 +13:00
file(WRITE ${CMAKE_BINARY_DIR}/bin/tahoma2d
"#!/bin/sh
2020-10-02 19:20:33 +13:00
TAHOMA2D_BASE=\$(dirname \"\$0\")/..
2020-10-02 19:20:33 +13:00
if [ ! -d \$HOME/.config/Tahoma2D ]; then
mkdir -p \$HOME/.config/Tahoma2D
fi
2020-10-02 19:20:33 +13:00
if [ ! -d \$HOME/.config/Tahoma2D/stuff ]; then
cp -r \$TAHOMA2D_BASE/share/tahoma2d/stuff \$HOME/.config/Tahoma2D
fi
2020-10-02 19:20:33 +13:00
if [ ! -d \$HOME/.config/Tahoma2D/stuff/projects/library ]; then
mkdir -p \$HOME/.config/Tahoma2D/stuff/projects/library
fi
2020-10-02 19:20:33 +13:00
if [ ! -d \$HOME/.config/Tahoma2D/stuff/projects/fxs ]; then
mkdir -p \$HOME/.config/Tahoma2D/stuff/projects/fxs
fi
2020-10-02 19:20:33 +13:00
if [ ! -e \$HOME/.config/Tahoma2D/SystemVar.ini ]; then
cat << EOF > $HOME/.config/Tahoma2D/SystemVar.ini
[General]
2020-10-04 04:45:41 +13:00
TAHOMA2DROOT=\"\$HOME/.config/Tahoma2D/stuff\"
TAHOMA2DPROFILES=\"\$HOME/.config/Tahoma2D/stuff/profiles\"
TAHOMA2DCACHEROOT=\"\$HOME/.config/Tahoma2D/stuff/cache\"
TAHOMA2DCONFIG=\"\$HOME/.config/Tahoma2D/stuff/config\"
TAHOMA2DFXPRESETS=\"\$HOME/.config/Tahoma2D/stuff/fxs\"
TAHOMA2DLIBRARY=\"\$HOME/.config/Tahoma2D/stuff/library\"
TAHOMA2DPROJECTS=\"$HOME/.config/Tahoma2D/stuff/projects\"
TAHOMA2DROOT=\"\$HOME/.config/Tahoma2D/stuff\"
TAHOMA2DSTUDIOPALETTE=\"\$HOME/.config/Tahoma2D/stuff/studiopalette\"
EOF
fi
2020-10-02 19:20:33 +13:00
export LD_LIBRARY_PATH=\${TAHOMA2D_BASE}/lib/tahoma2d:\${LD_LIBRARY_PATH}
2020-10-02 19:20:33 +13:00
exec \$TAHOMA2D_BASE/bin/Tahoma2D \"\$@\"
")
# only needed for executing without installing
2020-10-02 19:20:33 +13:00
execute_process(COMMAND chmod +x ${CMAKE_BINARY_DIR}/bin/tahoma2d)
install(
PROGRAMS
2020-10-02 19:20:33 +13:00
${CMAKE_BINARY_DIR}/bin/tahoma2d
2020-05-27 18:38:36 +12:00
"$<TARGET_FILE:tcleanup>"
"$<TARGET_FILE:tcomposer>"
"$<TARGET_FILE:tconverter>"
"$<TARGET_FILE:tfarmcontroller>"
"$<TARGET_FILE:tfarmserver>"
DESTINATION bin
)
if(LZODRIVER_FOUND)
install(
PROGRAMS
"$<TARGET_FILE:lzocompress>"
"$<TARGET_FILE:lzodecompress>"
DESTINATION bin
)
endif()
install(
FILES
"$<TARGET_FILE:tnzcore>"
"$<TARGET_FILE:tnzbase>"
"$<TARGET_FILE:toonzlib>"
"$<TARGET_FILE:colorfx>"
"$<TARGET_FILE:tnzext>"
"$<TARGET_FILE:image>"
"$<TARGET_FILE:sound>"
"$<TARGET_FILE:toonzqt>"
"$<TARGET_FILE:tnztools>"
"$<TARGET_FILE:tnzstdfx>"
"$<TARGET_FILE:tfarm>"
2020-10-02 19:20:33 +13:00
DESTINATION lib/tahoma2d
)
install(
DIRECTORY
${CMAKE_SOURCE_DIR}/../../stuff
2020-10-02 19:20:33 +13:00
DESTINATION share/tahoma2d
)
endif()