Add CI to test Ubuntu build

+ Refactor CMakeLists
This commit is contained in:
Shaun Reed 2022-07-16 20:11:07 -04:00
parent 3497b97f6e
commit 82b06c247d
3 changed files with 31 additions and 10 deletions

26
.github/workflows/build-test.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: Build Test
on:
push:
pull_request:
workflow_dispatch:
jobs:
Ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '6.2.3'
- name: Install Assimp
run: |
sudo apt install libassimp-dev -y
- name: Build Qtk
run: |
mkdir build && cd build
cmake .. -DCMAKE_PREFIX_PATH=/home/runner/work/qtk/Qt/6.2.3/gcc_64/ && cmake --build .

3
.gitignore vendored
View File

@ -3,6 +3,7 @@
# CMake build files
**/cmake-build-debug/**
**/build/**
# C++ objects and libs
*.slo
@ -35,7 +36,7 @@ ui_*.h
*.qmlc
*.jsc
Makefile*
*build-*
/*build-*
*.qm
*.prl

View File

@ -19,8 +19,9 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#find_package(QT NAMES Qt6 COMPONENTS Widgets REQUIRED)
find_package(Qt6 COMPONENTS Widgets OpenGLWidgets OpenGL REQUIRED)
# For CLion builds, point CMAKE_PREFIX_PATH to Qt6 install directory
list(APPEND CMAKE_PREFIX_PATH $ENV{HOME}/Code/Clones/Qt6.2/6.2.3/gcc_64/)
find_package(Qt6 COMPONENTS OpenGLWidgets REQUIRED)
# Add our Qt resources.qrc file to our application
set(SOURCES app/main.cpp)
@ -35,10 +36,6 @@ add_executable(
# External Libraries
################################################################################
# Find and link OpenGL package; Otherwise show an error
set(OpenGL_GL_PREFERENCE LEGACY)
find_package(OpenGL REQUIRED)
# https://github.com/assimp/assimp/commit/6ac8279977c3a54118551e549d77329497116f66
find_package(assimp REQUIRED)
@ -65,10 +62,7 @@ add_library(main-widget SHARED
)
target_include_directories(main-widget PUBLIC src/)
target_include_directories(main-widget PRIVATE ${OPENGL_INCLUDE_DIR})
target_link_libraries(main-widget PRIVATE ${OPENGL_LIBRARIES})
target_link_libraries(main-widget PRIVATE assimp)
target_link_libraries(main-widget PUBLIC Qt${QT_VERSION_MAJOR}::Widgets)
target_link_libraries(main-widget PUBLIC Qt${QT_VERSION_MAJOR}::OpenGLWidgets)
################################################################################