CMakeLists.txt 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. # Include directories.
  2. include_directories(
  3. ${VGears_INCLUDE_DIRS}
  4. ${VGears_SOURCE_DIR}/V-Gears/include
  5. ${VGears_SOURCE_DIR}/SupportedGames/FinalFantasy7/include
  6. ${CMAKE_CURRENT_SOURCE_DIR}/include
  7. ${CMAKE_CURRENT_SOURCE_DIR}
  8. ${ZLIB_INCLUDE_DIRS}
  9. )
  10. # Define headers and source files for the installer.
  11. set(HEADER_FILES
  12. include/common/FontFile.h
  13. include/VGearsUtility.h
  14. include/common/Logger.h
  15. include/common/Surface.h
  16. include/common/TimToVram.h
  17. include/common/BinGZipFile.h
  18. include/common/OgreBase.h
  19. include/common/OgreGenUtilites.h
  20. include/common/Vram.h
  21. include/common/DrawSkeleton.h
  22. include/common/Logger.h
  23. include/decompiler/sudm.h
  24. include/decompiler/decompiler_codegen.h
  25. include/decompiler/control_flow.h
  26. include/decompiler/decompiler_disassembler.h
  27. include/decompiler/decompiler_engine.h
  28. include/decompiler/graph.h
  29. include/decompiler/instruction.h
  30. include/decompiler/objectFactory.h
  31. include/decompiler/refcounted.h
  32. include/decompiler/simple_disassembler.h
  33. include/decompiler/stack.h
  34. include/decompiler/unknown_opcode_exception.h
  35. include/decompiler/value.h
  36. include/decompiler/wrongtype.h
  37. include/decompiler/scummv6/codegen.h
  38. include/decompiler/scummv6/disassembler.h
  39. include/decompiler/scummv6/engine.h
  40. include/decompiler/field/ff7_field_disassembler.h
  41. include/decompiler/field/ff7_field_engine.h
  42. include/decompiler/field/ff7_field_codegen.h
  43. include/common/algorithm.h
  44. include/common/noncopyable.h
  45. include/common/scummsys.h
  46. include/common/str.h
  47. include/common/util.h
  48. include/common/binaryreader.h
  49. include/common/lzs.h
  50. include/common/make_unique.h
  51. )
  52. set(SOURCE_FILES
  53. src/common/Logger.cpp
  54. src/common/BinGZipFile.cpp
  55. src/common/DrawSkeleton.cpp
  56. src/common/Surface.cpp
  57. src/common/OgreGenUtilites.cpp
  58. src/common/FontFile.cpp
  59. src/common/TimToVram.cpp
  60. src/common/Vram.cpp
  61. src/common/OgreBase.cpp
  62. src/VGearsUtility.cpp
  63. src/decompiler/sudm.cpp
  64. src/decompiler/decompiler_codegen.cpp
  65. src/decompiler/control_flow.cpp
  66. src/decompiler/decompiler_disassembler.cpp
  67. src/decompiler/graph.cpp
  68. src/decompiler/instruction.cpp
  69. src/decompiler/simple_disassembler.cpp
  70. src/decompiler/unknown_opcode_exception.cpp
  71. src/decompiler/value.cpp
  72. src/decompiler/scummv6/codegen.cpp
  73. src/decompiler/scummv6/disassembler.cpp
  74. src/decompiler/scummv6/engine.cpp
  75. src/decompiler/field/ff7_field_disassembler.cpp
  76. src/decompiler/field/ff7_field_engine.cpp
  77. src/decompiler/field/ff7_field_codegen.cpp
  78. src/common/str.cpp
  79. )
  80. # For SUDM. TODO: Add elses.
  81. if (UNIX)
  82. add_definitions(-DPOSIX)
  83. endif()
  84. add_library(Utility STATIC
  85. ${HEADER_FILES}
  86. ${SOURCE_FILES}
  87. )
  88. target_link_libraries(Utility
  89. ${OGRE_LIBRARIES}
  90. ${OIS_LIBRARIES}
  91. ${ZLIB_LIBRARIES}
  92. )
  93. SET_PROPERTY(TARGET Utility PROPERTY FOLDER "utilities")
  94. # DEBUG, no optimizations
  95. #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -rdynamic -O0")
  96. find_package ( Qt5Widgets REQUIRED )
  97. include_directories (
  98. ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
  99. ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR}
  100. )
  101. set ( v-gears-launcher_HDRS
  102. include/mainwindow.h
  103. include/ff7DataInstaller.h
  104. include/ff7FieldTextWriter.h
  105. )
  106. set(v-gears-launcher_SRCS
  107. src/main.cpp
  108. src/mainwindow.cpp
  109. src/ff7DataInstaller.cpp
  110. src/ff7FieldTextWriter.cpp
  111. )
  112. set(v-gears-launcher_UIS
  113. src/mainwindow.ui
  114. )
  115. QT5_WRAP_UI(UIS ${v-gears-launcher_UIS})
  116. message(UIS: ${UIS})
  117. set(v-gears-launcher_MOCS
  118. include/mainwindow.h
  119. )
  120. QT5_WRAP_CPP(MOCS ${v-gears-launcher_MOCS})
  121. add_definitions(-DVGEARS_ADD_MANAGERS)
  122. add_executable (v-gears-launcher ${v-gears-launcher_SRCS} ${UIS} ${RSCS} ${TRS} ${MOCS})
  123. SET_PROPERTY(TARGET v-gears-launcher PROPERTY FOLDER "utilities")
  124. if (APPLE)
  125. target_link_libraries(v-gears-launcher "-framework CoreFoundation -framework Cocoa -framework IOKit")
  126. endif()
  127. if(WIN32)
  128. set_target_properties(v-gears-launcher PROPERTIES WIN32_EXECUTABLE ON)
  129. if (MSVC)
  130. set_target_properties(v-gears-launcher PROPERTIES LINK_FLAGS "/SUBSYSTEM:CONSOLE")
  131. endif()
  132. endif()
  133. set(LIBRARIES
  134. Utility
  135. V-Gears
  136. v-gears-data
  137. #Sudm_Lib
  138. )
  139. find_package(Qt5 COMPONENTS Widgets REQUIRED)
  140. find_package(Qt5 COMPONENTS Core REQUIRED)
  141. target_link_libraries ( v-gears-launcher Qt5::Widgets Qt5::Core ${LIBRARIES} )
  142. if(WIN32 OR APPLE)
  143. install(TARGETS v-gears-launcher DESTINATION .)
  144. else()
  145. install(TARGETS v-gears-launcher RUNTIME DESTINATION bin)
  146. endif()