Advertisement
Guest User

Untitled

a guest
Sep 13th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 5.99 KB | None | 0 0
  1. cmake_minimum_required(VERSION 3.4.1)
  2.  
  3. #set(MSVERSION "MUSICSHEET")
  4.  
  5. if(NOT DEFINED ${MSVERSION})
  6.     set(MSVERSION "TAB")
  7. endif()
  8.  
  9. if(NOT DEFINED ${ENABLE_DEBUG})
  10.     set(ENABLE_DEBUG "FALSE")
  11. endif()
  12.  
  13. if(${ENABLE_DEBUG} MATCHES "TRUE")
  14.     add_compile_options(-O0)
  15.     add_definitions(-DDEBUG -D_DEBUG)
  16. else()
  17.     add_compile_options(-Ofast -fno-rtti)
  18.     add_definitions(-DNDEBUG -D_NDEBUG -DQT_NO_DEBUG)
  19. endif()
  20.  
  21. add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-std=c++1z> $<$<COMPILE_LANGUAGE:C>:-std=c99>)
  22. add_compile_options(-Wno-missing-braces -Wno-inconsistent-missing-override -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden)
  23. add_compile_options(-fno-stack-protector -D_FORTIFY_SOURCE=0 -fno-sanitize=memory)
  24. #add_compile_options(-flto -fuse-linker-plugin)
  25.  
  26. add_definitions(-DPLATFORM_ANDROID)
  27.  
  28. #set(CMAKE_MODULE_LINKER_FLAGS "-flto -fuse-linker-plugin ${CMAKE_MODULE_LINKER_FLAGS}")
  29. #set(CMAKE_SHARED_LINKER_FLAGS "-flto -fuse-linker-plugin ${CMAKE_SHARED_LINKER_FLAGS}")
  30. #set(CMAKE_STATIC_LINKER_FLAGS "-flto -fuse-linker-plugin ${CMAKE_STATIC_LINKER_FLAGS}")
  31.  
  32. #set(CMAKE_MODULE_LINKER_FLAGS --Wl,--no-fix-cortex-a8 ${CMAKE_MODULE_LINKER_FLAGS})
  33. #set(CMAKE_SHARED_LINKER_FLAGS --Wl,--no-fix-cortex-a8 ${CMAKE_SHARED_LINKER_FLAGS})
  34. #set(CMAKE_STATIC_LINKER_FLAGS --Wl,--no-fix-cortex-a8 ${CMAKE_STATIC_LINKER_FLAGS})
  35.  
  36. file(GLOB CPP_FILES1 "../../Extasy/*.cpp")
  37. file(GLOB CPP_FILES6 "src/main/cpp/*.cpp")
  38. file(GLOB CPP_FILES7 "../../External/libpng/*.c")
  39. file(GLOB CPP_FILES8 "../../External/libpng/arm/*.c")
  40. file(GLOB CPP_FILES9 "../../MusicSheet/*.cpp")
  41. file(GLOB CPP_FILES10 "../../External/Msdfgen/core/*.cpp")
  42. file(GLOB CPP_FILES11 "../../External/Msdfgen/ext/*.cpp")
  43. file(GLOB CPP_FILES12 "../../External/lodepng/*.cpp")
  44.  
  45. if(${MSVERSION} MATCHES "TAB")
  46.     add_definitions(-DMUSESCORE_TAB)
  47.  
  48.     set(MUSESCORE_INCLUDES "../../mscorelib/")
  49.  
  50.     file(GLOB CPP_FILES2 "../../mscorelib/*.cpp")
  51.     file(GLOB CPP_FILES3 "../../mscorelib/*/*.cpp")
  52.     file(GLOB CPP_FILES4 "../../mscorelib/thirdparty/qzip/*.cpp")
  53.     file(GLOB CPP_FILES5 "../../mscorelib/thirdparty/tinyxml/*.cpp")
  54. else()
  55.     add_definitions(-DMUSESCORE_MUSICSHEET)
  56.  
  57.     set(MUSESCORE_INCLUDES "../../mscorelib_sm/")
  58.  
  59.     file(GLOB CPP_FILES2 "../../mscorelib_sm/*.cpp")
  60.     file(GLOB CPP_FILES3 "../../mscorelib_sm/*/*.cpp")
  61.     file(GLOB CPP_FILES4 "../../mscorelib_sm/thirdparty/qzip/*.cpp")
  62.     file(GLOB CPP_FILES5 "../../mscorelib_sm/thirdparty/tinyxml/*.cpp")
  63. endif()
  64.  
  65. foreach(item ${CPP_FILES1})
  66.   if(${item} MATCHES "Win_.*cpp")
  67.     list(REMOVE_ITEM CPP_FILES1 ${item})
  68.   endif()
  69.  
  70.   if(${item} MATCHES "Web_.*cpp")
  71.     LIST(REMOVE_ITEM CPP_FILES1 ${item})
  72.   endif()
  73. endforeach()
  74.  
  75. foreach(item ${CPP_FILES9})
  76.   if(${item} MATCHES "Web_.*cpp")
  77.     list(REMOVE_ITEM CPP_FILES9 ${item})
  78.   endif()
  79. endforeach()
  80.  
  81. set(FREETYPE_DIR "../../External/freetype")
  82.  
  83. add_library(
  84.     Extasy
  85.     SHARED
  86.     ${FREETYPE_DIR}/src/autofit/autofit.c
  87.     ${FREETYPE_DIR}/src/base/ftbase.c
  88.     ${FREETYPE_DIR}/src/base/ftbbox.c
  89.     ${FREETYPE_DIR}/src/base/ftbdf.c
  90.     ${FREETYPE_DIR}/src/base/ftbitmap.c
  91.     ${FREETYPE_DIR}/src/base/ftcid.c
  92.     ${FREETYPE_DIR}/src/base/ftfntfmt.c
  93.     ${FREETYPE_DIR}/src/base/ftfstype.c
  94.     ${FREETYPE_DIR}/src/base/ftgasp.c
  95.     ${FREETYPE_DIR}/src/base/ftglyph.c
  96.     ${FREETYPE_DIR}/src/base/ftgxval.c
  97.     ${FREETYPE_DIR}/src/base/ftinit.c
  98.     ${FREETYPE_DIR}/src/base/ftlcdfil.c
  99.     ${FREETYPE_DIR}/src/base/ftmm.c
  100.     ${FREETYPE_DIR}/src/base/ftotval.c
  101.     ${FREETYPE_DIR}/src/base/ftpatent.c
  102.     ${FREETYPE_DIR}/src/base/ftpfr.c
  103.     ${FREETYPE_DIR}/src/base/ftstroke.c
  104.     ${FREETYPE_DIR}/src/base/ftsynth.c
  105.     ${FREETYPE_DIR}/src/base/ftsystem.c
  106.     ${FREETYPE_DIR}/src/base/fttype1.c
  107.     ${FREETYPE_DIR}/src/base/ftwinfnt.c
  108.     ${FREETYPE_DIR}/src/bdf/bdf.c
  109.     ${FREETYPE_DIR}/src/cache/ftcache.c
  110.     ${FREETYPE_DIR}/src/cff/cff.c
  111.     ${FREETYPE_DIR}/src/cid/type1cid.c
  112.     ${FREETYPE_DIR}/src/gzip/ftgzip.c
  113.     ${FREETYPE_DIR}/src/lzw/ftlzw.c
  114.     ${FREETYPE_DIR}/src/pcf/pcf.c
  115.     ${FREETYPE_DIR}/src/pfr/pfr.c
  116.     ${FREETYPE_DIR}/src/psaux/psaux.c
  117.     ${FREETYPE_DIR}/src/pshinter/pshinter.c
  118.     ${FREETYPE_DIR}/src/psnames/psmodule.c
  119.     ${FREETYPE_DIR}/src/raster/raster.c
  120.     ${FREETYPE_DIR}/src/sfnt/sfnt.c
  121.     ${FREETYPE_DIR}/src/smooth/smooth.c
  122.     ${FREETYPE_DIR}/src/truetype/truetype.c
  123.     ${FREETYPE_DIR}/src/type1/type1.c
  124.     ${FREETYPE_DIR}/src/type42/type42.c
  125.     ${FREETYPE_DIR}/src/winfonts/winfnt.c
  126.     ${FREETYPE_DIR}/src/base/ftdebug.c
  127.     ${CPP_FILES1}
  128.     ${CPP_FILES2}
  129.     ${CPP_FILES3}
  130.     ${CPP_FILES4}
  131.     ${CPP_FILES5}
  132.     ${CPP_FILES6}
  133.     ${CPP_FILES7}
  134.     ${CPP_FILES8}
  135.     ${CPP_FILES9}
  136.     ${CPP_FILES10}
  137.     ${CPP_FILES11}
  138.     ${CPP_FILES12}
  139. )
  140.  
  141. set_target_properties(Extasy PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)
  142.  
  143. add_library(lib_audio SHARED IMPORTED)
  144. set_target_properties(lib_audio PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../extasyengine-data/src/main/jniLibs/${ANDROID_ABI}/libsndl.so)
  145.  
  146. add_library(lib_audio_midi SHARED IMPORTED)
  147. set_target_properties(lib_audio_midi PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../extasyengine-data/src/main/jniLibs/${ANDROID_ABI}/libsndlmidi.so)
  148.  
  149. #add_library(lib_audio_effects SHARED IMPORTED)
  150. #set_target_properties(lib_audio_effects PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../extasyengine-data/src/main/jniLibs/${ANDROID_ABI}/libsndl_ef.so)
  151.  
  152. include_directories(
  153.      ${FREETYPE_DIR}/
  154.      ${FREETYPE_DIR}/include/
  155.      ../../Extasy/
  156.      ../../MusicSheet/
  157.      ${MUSESCORE_INCLUDES}
  158.      ../../External/libpng/
  159.      ../../External/lodepng/
  160.      ../../External/bassmidi/
  161.      ../../External/Crashlytics/
  162.      ../../External/Msdfgen/
  163.      ../../External/Msdfgen/core/
  164.      ../../External/Msdfgen/ext/
  165.      src/main/cpp/
  166. )
  167.  
  168. target_link_libraries(
  169.     Extasy
  170.     lib_audio
  171.     lib_audio_midi
  172.     #lib_audio_effects
  173.     z
  174.     log
  175.     android
  176.     EGL
  177.     GLESv2
  178.     dl
  179.     )
  180.  
  181. #target_link_libraries(Extasy SHARED -use-gold-plugin -flto)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement