Advertisement
Guest User

Untitled

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