Warning, /education/marble/src/apps/behaim/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 set(marble_SRCS main.cpp)
0002 qt5_add_resources(marble_QRCS MarbleBehaim.qrc)
0003 
0004 include_directories(${CMAKE_CURRENT_BINARY_DIR})
0005 
0006 if (ANDROID)
0007     set(TARGET MarbleBehaim)
0008 
0009     find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS AndroidExtras)
0010 
0011     add_library (${TARGET} SHARED ${marble_SRCS} ${marble_QRCS})
0012 
0013     # while not directly linked, need to be listed here to have deployqt pick up those libs
0014     target_link_libraries (
0015         ${TARGET}
0016         marblewidget
0017         astro
0018         Qt5::Concurrent
0019         Qt5::Xml
0020         Qt5::Widgets
0021         Qt5::PrintSupport
0022         Qt5::Network
0023         Qt5::Sql
0024         Qt5::Svg
0025         Qt5::Positioning
0026         Qt5::AndroidExtras
0027         Qt5::Multimedia
0028     )
0029 
0030     if (TARGET Qt5::WebEngineWidgets)
0031         target_link_libraries(${TARGET} Qt5::WebEngineWidgets Qt5::WebEngine)
0032     endif()
0033 else()
0034     set(TARGET marble-behaim)
0035     add_executable (${TARGET} ${marble_SRCS} ${marble_QRCS})
0036 endif()
0037 
0038 target_link_libraries (
0039     ${TARGET}
0040     marbledeclarative
0041 )
0042 
0043 FILE(GLOB QML_FILES *.qml)
0044 add_custom_target(marble-behaim_resources ALL SOURCES ${QML_FILES} package/AndroidManifest.xml)
0045 
0046 if (ANDROID)
0047     install(DIRECTORY "../../../data/android/" DESTINATION "${CMAKE_INSTALL_PREFIX}/res")
0048     set(ABSOLUTE_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}")
0049     if(NOT IS_ABSOLUTE "${ABSOLUTE_INSTALL_PATH}")
0050         set(ABSOLUTE_INSTALL_PATH "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_PREFIX}")
0051     endif()
0052     get_filename_component(ABSOLUTE_INSTALL_PATH "${ABSOLUTE_INSTALL_PATH}" ABSOLUTE)
0053     get_filename_component(QT_ANDROID_QT_ROOT "${Qt5Core_DIR}/../../.." ABSOLUTE)
0054     set(ANDROID_SDK_ROOT $ENV{ANDROID_SDK_ROOT})
0055     set(ANDROID_NDK_ROOT $ENV{ANDROID_NDK_ROOT})
0056     set(QT_ANDROID_APP_PATH "${ABSOLUTE_INSTALL_PATH}/libs/${ANDROID_ABI}/libMarbleBehaim.so")
0057     set(QT_ANDROID_APP_EXTRA_LIBS "${ABSOLUTE_INSTALL_PATH}/lib/libastro.so,${ABSOLUTE_INSTALL_PATH}/lib/libmarblewidget-qt5.so,${ABSOLUTE_INSTALL_PATH}/lib/libmarbledeclarative.so")
0058     set(QML_ROOT_PATH "${ABSOLUTE_INSTALL_PATH}/")
0059     set(QT_ANDROID_APP_EXTRA_PLUGINS "${ABSOLUTE_INSTALL_PATH}//share,${ABSOLUTE_INSTALL_PATH}//lib/qml")
0060     set(QT_ANDROID_APP_PACKAGE_SOURCE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/package")
0061     set(QT_ANDROID_APP_PACKAGE_NAME "org.kde.marble.behaim")
0062     set(QT_ANDROID_APP_NAME "Marble Globe: Behaim's Erdapfel")
0063     configure_file(package/deploy-behaim.json.in ${CMAKE_CURRENT_BINARY_DIR}/deploy-behaim.json @ONLY)
0064     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/deploy-behaim.json DESTINATION "${CMAKE_INSTALL_PREFIX}/share")
0065     install(TARGETS ${TARGET} LIBRARY DESTINATION libs/${ANDROID_ABI})
0066     if (TARGET create-apk-MarbleBehaim)
0067         set(PACKAGE_DIR "${CMAKE_BINARY_DIR}/MarbleBehaim_projects/")
0068         set_target_properties(create-apk-MarbleBehaim PROPERTIES ANDROID_APK_DIR "${PACKAGE_DIR}")
0069         add_custom_target(marblebehaim-move-metadata ALL
0070             COMMAND cmake -E echo "Moving MarbleBehaim shared Android resources"
0071             COMMAND cmake -E remove_directory "${PACKAGE_DIR}"
0072             COMMAND cmake -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/package" "${PACKAGE_DIR}"
0073             COMMAND cmake -E copy_directory "${CMAKE_SOURCE_DIR}/data/android/" "${PACKAGE_DIR}/res"
0074         )
0075         add_dependencies(create-apk-MarbleBehaim marblebehaim-move-metadata)
0076     endif()
0077 else()
0078     if(MARBLE_INSTALL_ANDROID_APPS)
0079         install(TARGETS ${TARGET} RUNTIME DESTINATION bin)
0080     endif()
0081 endif()