Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 4.64 KB | None | 0 0
  1. cmake_minimum_required(VERSION 3.5)
  2.  
  3. set(APP_NAME TEST)
  4. project (${APP_NAME})
  5.  
  6. add_definitions(-std=c++11)
  7. set(CMAKE_CXX_STANDART 14)
  8. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
  9.  
  10. set(SOURCES
  11.     main.cpp
  12. )
  13.  
  14. option(USE_CHIPMUNK "Use chipmunk for physics library" ON)
  15. option(USE_BOX2D "Use box2d for physics library" OFF)
  16. option(DEBUG_MODE "Debug or release?" ON)
  17.  
  18. if(DEBUG_MODE)
  19.   set(CMAKE_BUILD_TYPE DEBUG)
  20. else(DEBUG_MODE)
  21.   set(CMAKE_BUILD_TYPE RELEASE)
  22. endif(DEBUG_MODE)
  23.  
  24. set(CMAKE_C_FLAGS_DEBUG "-g -Wall -DCOCOS2D_DEBUG=1")
  25. set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
  26.  
  27. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
  28. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  29.  
  30. if(USE_CHIPMUNK)
  31.   message("Using chipmunk ...")
  32.   add_definitions(-DLINUX -DCC_ENABLE_CHIPMUNK_INTEGRATION=1)
  33. elseif(USE_BOX2D)
  34.   message("Using box2d ...")
  35.   add_definitions(-DLINUX -DCC_ENABLE_BOX2D_INTEGRATION=1)
  36. else(USE_CHIPMUNK)
  37.   message(FATAL_ERROR "Must choose a physics library.")
  38. endif(USE_CHIPMUNK)
  39.  
  40. # architecture
  41. if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
  42. set(ARCH_DIR "64-bit")
  43. else()
  44. set(ARCH_DIR "32-bit")
  45. endif()
  46.  
  47.  
  48. set(GAME_SRC
  49.   proj.linux/main.cpp
  50.   Classes/AppDelegate.cpp
  51.   Classes/BaseLayer.cpp
  52.   Classes/MenuScene.cpp
  53.   Classes/GameScene.cpp
  54.   Classes/Wall.cpp
  55.   Classes/Ball.cpp
  56.   Classes/Paddle.cpp
  57.   Classes/Score.cpp
  58.   Classes/ParticleSystemCustom.cpp
  59.   Classes/ParticleManager.cpp
  60.   Classes/StreakManager.cpp
  61.   Classes/CollisionManager.cpp
  62.   Classes/KeyboardManager.cpp
  63.   Classes/TouchManager.cpp
  64.   Classes/VisibleRect.cpp
  65. )
  66.  
  67. set(COCOS2D_ROOT ${CMAKE_SOURCE_DIR}/subs/cocos2d-ext)
  68.  
  69. include_directories(
  70.   /usr/local/include/GLFW
  71.   ${COCOS2D_ROOT}
  72.   ${COCOS2D_ROOT}/cocos
  73.   ${COCOS2D_ROOT}/cocos/audio/include
  74.   ${COCOS2D_ROOT}/cocos/2d
  75.   ${COCOS2D_ROOT}/cocos/2d/renderer
  76.   ${COCOS2D_ROOT}/cocos/2d/platform
  77.   ${COCOS2D_ROOT}/cocos/2d/platform/desktop
  78.   ${COCOS2D_ROOT}/cocos/2d/platform/linux
  79.   ${COCOS2D_ROOT}/cocos/base
  80.   ${COCOS2D_ROOT}/cocos/physics
  81.   ${COCOS2D_ROOT}/cocos/editor-support
  82.   ${COCOS2D_ROOT}/cocos/math/kazmath
  83.   ${COCOS2D_ROOT}/extensions
  84.   ${COCOS2D_ROOT}/external
  85.   ${COCOS2D_ROOT}/external/edtaa3func
  86.   ${COCOS2D_ROOT}/external/jpeg/include/linux
  87.   ${COCOS2D_ROOT}/external/tiff/include/linux
  88.   ${COCOS2D_ROOT}/external/webp/include/linux
  89.   ${COCOS2D_ROOT}/external/tinyxml2
  90.   ${COCOS2D_ROOT}/external/unzip
  91.   ${COCOS2D_ROOT}/external/chipmunk/include/chipmunk
  92.   ${COCOS2D_ROOT}/external/freetype2/include/linux
  93.   ${COCOS2D_ROOT}/external/websockets/include/linux
  94.   ${COCOS2D_ROOT}/external/spidermonkey/include/linux
  95.   ${COCOS2D_ROOT}/external/linux-specific/fmod/include/${ARCH_DIR}
  96. )
  97.  
  98. link_directories(
  99.   /usr/local/lib
  100.   ${COCOS2D_ROOT}/external/jpeg/prebuilt/linux/${ARCH_DIR}
  101.   ${COCOS2D_ROOT}/external/tiff/prebuilt/linux/${ARCH_DIR}
  102.   ${COCOS2D_ROOT}/external/webp/prebuilt/linux/${ARCH_DIR}
  103.   ${COCOS2D_ROOT}/external/freetype2/prebuilt/linux/${ARCH_DIR}
  104.   ${COCOS2D_ROOT}/external/websockets/prebuilt/linux/${ARCH_DIR}
  105.   ${COCOS2D_ROOT}/external/spidermonkey/prebuilt/linux/${ARCH_DIR}
  106.   ${COCOS2D_ROOT}/external/linux-specific/fmod/prebuilt/${ARCH_DIR}
  107. )
  108.  
  109. # kazmath
  110. #add_subdirectory(${COCOS2D_ROOT}/cocos/math/kazmath)
  111.  
  112. # chipmunk library
  113. #add_subdirectory(${COCOS2D_ROOT}/external/chipmunk/src)
  114.  
  115. # box2d library
  116. #add_subdirectory(${COCOS2D_ROOT}/external/Box2D)
  117.  
  118. # unzip library
  119. #add_subdirectory(${COCOS2D_ROOT}/external/unzip)
  120.  
  121. # tinyxml2 library
  122. #add_subdirectory(${COCOS2D_ROOT}/external/tinyxml2)
  123.  
  124. # audio
  125. #add_subdirectory(${COCOS2D_ROOT}/cocos/audio)
  126.  
  127. # cocos base library
  128. #add_subdirectory(${COCOS2D_ROOT}/cocos/base)
  129.  
  130. # cocos 2d library
  131. #add_subdirectory(${COCOS2D_ROOT}/cocos/2d)
  132.  
  133. # cocos storage
  134. #add_subdirectory(${COCOS2D_ROOT}/cocos/storage)
  135.  
  136. # ui
  137. #add_subdirectory(${COCOS2D_ROOT}/cocos/ui)
  138.  
  139. # network
  140. #add_subdirectory(${COCOS2D_ROOT}/cocos/network)
  141.  
  142. # extensions
  143. #add_subdirectory(${COCOS2D_ROOT}/extensions)
  144.  
  145. ## Editor Support
  146.  
  147. # spine
  148. #add_subdirectory(${COCOS2D_ROOT}/cocos/editor-support/spine)
  149.  
  150. # cocosbuilder
  151. #add_subdirectory(${COCOS2D_ROOT}/cocos/editor-support/cocosbuilder)
  152.  
  153. # cocostudio
  154. #add_subdirectory(${COCOS2D_ROOT}/cocos/editor-support/cocostudio)
  155.  
  156. # add the executable
  157. add_executable(${APP_NAME}
  158.   ${SOURCES}
  159. )
  160.  
  161. if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
  162. set(FMOD_LIB "fmodex64")
  163. else()
  164. set(FMOD_LIB "fmodex")
  165. endif()
  166.  
  167. target_link_libraries(${APP_NAME}
  168.   ui
  169.   network
  170.   storage
  171.   spine
  172.   cocostudio
  173.   cocosbuilder
  174.   extensions
  175.   audio
  176.   cocos2d
  177.   )
  178.  
  179. set(APP_BIN_DIR "${CMAKE_BINARY_DIR}/bin")
  180.  
  181. set_target_properties(${APP_NAME} PROPERTIES
  182.      RUNTIME_OUTPUT_DIRECTORY  "${APP_BIN_DIR}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement