Skip to content

Instantly share code, notes, and snippets.

@skrat
Last active May 26, 2020 22:20
Show Gist options
  • Save skrat/c5b20d6753e6476a4a0d60227cb73cda to your computer and use it in GitHub Desktop.
Save skrat/c5b20d6753e6476a4a0d60227cb73cda to your computer and use it in GitHub Desktop.
cmake_minimum_required(VERSION 3.5)
project(jumper-qt LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/modules/" ${CMAKE_MODULE_PATH})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(ANDROID)
set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
if (ANDROID_ABI STREQUAL "armeabi-v7a")
set(ANDROID_EXTRA_LIBS
${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so
${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)
endif()
endif()
add_subdirectory(src)
find_package(Qt5 COMPONENTS Core Quick REQUIRED)
find_package(Corrade REQUIRED Main)
find_package(Magnum REQUIRED
GL
MeshTools
Primitives
SceneGraph
Shaders)
if(MAGNUM_TARGET_GLES AND NOT MAGNUM_TARGET_DESKTOP_GLES)
find_package(Magnum REQUIRED EglContext)
elseif(CORRADE_TARGET_WINDOWS)
find_package(Magnum REQUIRED WglContext)
elseif(CORRADE_TARGET_APPLE)
find_package(Magnum REQUIRED CglContext)
elseif(CORRADE_TARGET_UNIX)
find_package(Magnum REQUIRED GlxContext)
else()
message(FATAL_ERROR "Magnum context creation is not supported on this platform")
endif()
set_directory_properties(PROPERTIES CORRADE_USE_PEDANTIC_FLAGS ON)
if(ANDROID)
add_library(jumper-qt SHARED
main.cpp
qml/main.qrc )
else()
add_executable(jumper-qt
main.cpp
qml/main.qrc
magnum_item.cpp )
endif()
target_compile_definitions(jumper-qt
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(jumper-qt PRIVATE
Corrade::Main
Magnum::GL
Magnum::Magnum
Magnum::MeshTools
Magnum::Primitives
Magnum::SceneGraph
Magnum::Shaders
Qt5::Core
Qt5::Quick)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment