Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Windows, macOS, Linux CI (#304) #338

Open
wants to merge 95 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
937e546
Build artifact upload test
athairus Jun 3, 2017
66ed245
Changed upload source folder
athairus Jun 3, 2017
0622191
Place build artifacts in different folders
athairus Jun 3, 2017
98e8032
Reduce number of files uploaded, change working directory
athairus Jun 3, 2017
043cf67
Test
athairus Jun 3, 2017
4581626
Test
athairus Jun 3, 2017
164b5dc
Test
athairus Jun 3, 2017
b3abe38
Test
athairus Jun 3, 2017
78ff2dc
Parameterized versions for Qt, CMake, GCC
athairus Jun 3, 2017
c438de0
Travis: Use Qt 5.9, CMake 3.8.2
athairus Jun 3, 2017
82c7da4
Travis: Overhauled the build system
athairus Jun 4, 2017
9e341df
Fixed S3 URL
athairus Jun 4, 2017
acd4cf5
Debugging
athairus Jun 4, 2017
463a546
Fixed S3 URL for real this time
athairus Jun 4, 2017
35dbac4
Made script executable
athairus Jun 4, 2017
aa6c3c9
Added missing folders
athairus Jun 4, 2017
3c7944e
Print more debugging info during build
athairus Jun 4, 2017
ba07194
Forgot to take into account folder location
athairus Jun 4, 2017
87187cb
Fixed the way CMake is invoked
athairus Jun 4, 2017
150d6ef
WIP
athairus Jun 4, 2017
3a10732
WIP
athairus Jun 10, 2017
019722c
WIP
athairus Jun 10, 2017
6887627
WIP
athairus Jun 10, 2017
5ca6355
WIP
athairus Jun 10, 2017
12cc8ad
WIP
athairus Jun 10, 2017
b574458
WIP
athairus Jun 10, 2017
fd8751a
WIP
athairus Jun 10, 2017
bb87c91
WIP
athairus Jun 10, 2017
41acf08
WIP
athairus Jun 10, 2017
ef79ab2
WIP
athairus Jun 10, 2017
c761cc2
WIP
athairus Jun 10, 2017
9aa4cf8
WIP
athairus Jun 10, 2017
9ef6945
WIP
athairus Jun 10, 2017
63df937
WIP
athairus Jun 11, 2017
ea68c4e
WIP
athairus Jun 11, 2017
f38f14f
WIP
athairus Jun 11, 2017
1757e40
Merge branch 'master' into feature-travis-artifacts
athairus Jun 17, 2017
dc0077f
macOS: Improved deployment, added support for Travis
athairus Jun 24, 2017
13912e9
WIP
athairus Jun 24, 2017
b1ab102
WIP
athairus Jun 24, 2017
cffa630
WIP
athairus Jun 24, 2017
cc14a9b
WIP
athairus Jun 24, 2017
0497f2f
WIP
athairus Jun 24, 2017
f3e1930
WIP
athairus Jun 24, 2017
23d504d
WIP
athairus Jun 25, 2017
393803f
WIP
athairus Jun 25, 2017
8ee9de1
WIP
athairus Jun 25, 2017
2cd8a67
WIP
athairus Jun 25, 2017
797655c
WIP
athairus Jun 25, 2017
89fc26d
Windows: Updated copyright year
athairus Jun 25, 2017
2b4424e
CMake: Mark source files with group names for IDEs
athairus Jun 25, 2017
681ce4a
Windows: Call windeployqt on install
athairus Jun 25, 2017
b2d9b12
CMake: Parentheses
athairus Jun 25, 2017
98331e1
Squashed 'externals/libsamplerate-0.1.9-cmake-patch/' content from co…
athairus Jun 25, 2017
0b26768
Added external library "libsamplerate-0.1.9-cmake-patch"
athairus Jun 25, 2017
5fc4109
externals/libsamplerate-0.1.9-cmake-patch: Fix line endings
athairus Jun 25, 2017
3662e16
Squashed 'externals/sdl-2.0.5/' content from commit 5d7cfcca3
athairus Jun 25, 2017
3ebd854
Added external library "sdl-2.0.5"
athairus Jun 25, 2017
50b063b
externals/sdl-2.0.5: Fix line endings
athairus Jun 25, 2017
b469f38
externals/sdl-2.0.5: CMake include directory patch
athairus Jun 25, 2017
8e5d2b2
Added external library "quazip-0.7.3"
athairus Jun 25, 2017
109f491
externals/quazip-0.7.3: Upstream patch 28
athairus Jun 26, 2017
37344a9
externals/quazip-0.7.3: Add include directories to target
athairus Jun 26, 2017
c4d4c2c
Squashed 'externals/zlib-1.2.11/' content from commit 7085a61bc
athairus Jun 26, 2017
511b7f2
Added external library "zlib-1.2.11"
athairus Jun 26, 2017
264f1e0
externals/zlib-1.2.11: Fix line endings
athairus Jun 26, 2017
0744d6c
externals/zlib-1.2.11: zconf.h.included
athairus Jun 26, 2017
806f563
Use bundled libraries when libraries are not found on system
athairus Jun 26, 2017
a1cbbdd
externals/zlib-1.2.11: Attach include dirs to targets, make headers a…
athairus Jun 26, 2017
7e40c80
Windows: Working build with bundled libraries
athairus Jul 3, 2017
82d73de
zlib: Use whatever lib is found, not just release verison
athairus Jul 3, 2017
d8112c9
Merge remote-tracking branch 'origin/master' into feature-travis-arti…
athairus Jul 3, 2017
5dcfc8e
Ignore CLion project directory
athairus Jul 8, 2017
fc641db
externals/sdl-2.0.5: Fixed line endings, again?
athairus Jul 8, 2017
c1abf33
Updated .gitignore
athairus Jul 9, 2017
3ea527a
Turn portable mode off by default
athairus Sep 2, 2017
c4ef072
Ignore more CLion files
athairus Sep 2, 2017
faa496b
Use the correct exported targets from FindSDL2.cmake, fix linker erro…
athairus Sep 2, 2017
19ee47e
Fixed CRLF for another SDL2 file?
athairus Sep 2, 2017
67a1518
Ignore Clion build directory
athairus Jul 17, 2017
e231643
Include Qt class headers instead of Qt module headers to speed up com…
athairus Jul 21, 2017
9641edd
Sorted includes in frontendcommon.h
athairus Jul 21, 2017
1e4cce9
Use KArchive instead of QuaZIP
athairus Sep 4, 2017
a426cdc
Print something when using bundled version of library instead of syst…
athairus Oct 8, 2017
90732a5
Remove custom user/permissions for log file
athairus Oct 14, 2017
b79e7d1
Don't specify KArchive version
athairus Oct 15, 2017
5fb5c98
Ignore Visual Studio files
athairus Oct 15, 2017
df8f775
FindLibsamplerate.cmake: Provide a static import library target
athairus Oct 15, 2017
80d5c6f
Don't use embedded libraries anymore
athairus Oct 15, 2017
76cbc1c
Travis Ruby error fix attempt #1
athairus Oct 15, 2017
bfe6c87
Travis Ruby error fix attempt #2
athairus Oct 15, 2017
8db0e87
Travis Ruby error fix attempt #3
athairus Oct 15, 2017
d7c2f2f
Travis Ruby error fix attempt #4
athairus Oct 15, 2017
1449b38
Travis Ruby error fix attempt #5
athairus Oct 15, 2017
6cbda73
Travis Ruby error fix attempt #6
athairus Oct 15, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 14 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@

/.qmake.cache
/.qmake.stash
*.pro.user
*.pro.user.*
CMakeLists.txt.user
CMakeLists.txt.user.*
/*.pro.user
/*.pro.user.*
/CMakeLists.txt.user
/CMakeLists.txt.user.*
*.moc
moc_*.cpp
qrc_*.cpp
ui_*.h
Makefile*
*build*/
release/
debug/
/*build*/
/release/
/debug/

# OSX
.DS_Store
Expand All @@ -43,3 +43,10 @@ debug/
*.pyc
*.py~

# CLion
/.idea/
/cmake-build*/

# Visual Studio
/.vs/
/CMakeSettings.json
86 changes: 65 additions & 21 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,72 @@
# Special thanks to MuseScore

language: cpp
sudo: required
dist: trusty
git:
submodules: false
before_install:
- sudo add-apt-repository --yes ppa:beineri/opt-qt571-trusty
- sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test
- sudo apt-get update -qq
- sudo apt-get install -qq g++-4.8 libsamplerate0-dev libquazip0-dev
- sudo apt-get install -qq -y qt57base qt57declarative qt57imageformats qt57location qt57multimedia qt57quickcontrols qt57script qt57svg qt57tools qt57translations libsdl2-dev
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90
- wget https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh
- chmod +x cmake-3.7.2-Linux-x86_64.sh
- mkdir cmake-bin
- ./cmake-3.7.2-Linux-x86_64.sh --skip-license --prefix=`pwd`/cmake-bin
script:
- source /opt/qt57/bin/qt57-env.sh
- mkdir phoenix-build
- cd phoenix-build
- ../cmake-bin/bin/cmake ..
- make -j2
sudo: false

env:
global:
- "ARTIFACTS_AWS_REGION=us-east-1"
- secure: "XMKxvHKgJmvcadiENukV02OG5OnUUF7+LmKOTkQk2Fxa1LMNQqSRncIC9G0qqdFQPqjVXhDM3aBFUTxTkTk7rlsT4LO1+XlgZ6B4QBo22GfhPcgjJaUqVMmjoMNINiO32ED4mi+dhLYr7ewnZCEijYxpA0sqRbUiM1l0fUZwiHk="
- secure: "gLHgwDamFLrBVbb7LIiPgFhKmnNGLFTvsb0Dk146QS9LBtuYHDJRZbt1sv1ZC/704nCPk6zarqersRifcQAW46IaoW6sn+0UP9owUVvrmKjncKKTYzAkleuHx43pWq93T9bh1llhl/8EX1jOrVTsyTKRJkMgntD2vjPeDrZRGjQ="
- secure: "BdRerctcHfM4b3TDWPtkeHTv6WP/GioMO5gw4podQOlEYXMxDhwVrf9wqC+eIDl9KS6+FSvOfrQvTuGKrWWTWoTiP+tBuJaKhfzALXl7PcKlwL3ThVlr+8GSsVA20XHBD2i2Hk0azenzX6cXv+NXtHdkCVoj6sld8tnQ0/8fZbY="

matrix:
fast_finish: true

allow_failures:
- env: "JOB=ubuntu_debug"
- env: "JOB=macOS_debug"

include:
# 1st parallel build job - debug build on Ubuntu
- env: "JOB=ubuntu_debug"
dist: trusty
sudo: required
cache:
directories:
- $HOME/.ccache

before_install:
- "git fetch --unshallow"
install:
- "sudo apt update -qq"
- "sudo apt install libsamplerate0-dev libkf5archive-dev libsdl2-dev p7zip-full"
- "source ./ci/travis/linux-env.sh"
script:
- chmod +x "./ci/travis/linux-build.sh"
- "./ci/travis/linux-build.sh"
after_success:
- chmod +x "./ci/travis/linux-upload.sh"
- "./ci/travis/linux-upload.sh"

# 2nd parallel build job - debug build on macOS
- env: "JOB=macOS_debug"
os: osx
osx_image: xcode8.3
cache:
directories:
- $HOME/.ccache

before_install:
- "git fetch --unshallow"
install:
# https://github.com/travis-ci/travis-ci/issues/6307
- command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
- rvm get stable
- "source ./ci/travis/mac-env.sh"
script:
- chmod +x "./ci/travis/mac-build.sh"
- "./ci/travis/mac-build.sh"
after_success:
- chmod +x "./ci/travis/mac-upload.sh"
- "./ci/travis/mac-upload.sh"

notifications:
irc:
channels:
- "chat.freenode.net#phoenix-dev"
use_notice: true
skip_join: true

git:
submodules: false
4 changes: 3 additions & 1 deletion CMake/DistCommon.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
option( PORTABLE_MODE "Store all data in the same folder as the binary" ON )
option( PORTABLE_MODE "Store all data in the same folder as the binary" OFF )

if( PORTABLE_MODE )
file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/PHOENIX-PORTABLE "" )
Expand All @@ -7,8 +7,10 @@ endif()
# Embed git tag in file
include( externals/cmake-modules/GetGitRevisionDescription.cmake REQUIRED )
git_describe( PHOENIX_VER_STR )
message( "git_describe: " ${PHOENIX_VER_STR} )
string( SUBSTRING ${PHOENIX_VER_STR} 1 -1 PHOENIX_VER_TUPLE )
string( REGEX REPLACE "-[0-9a-z\\-]*" "" PHOENIX_VER_TUPLE ${PHOENIX_VER_TUPLE} )
set( PHOENIX_VER_DOTS ${PHOENIX_VER_TUPLE} )
string( REPLACE "." "," PHOENIX_VER_TUPLE ${PHOENIX_VER_TUPLE} )
configure_file( version.h.in version.h @ONLY )

Expand Down
7 changes: 7 additions & 0 deletions CMake/DistLinux.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
install( TARGETS Phoenix RUNTIME DESTINATION . )
install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/QML DESTINATION . )
install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Metadata DESTINATION . )

if( PORTABLE_MODE )
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/PHOENIX-PORTABLE DESTINATION . )
endif()
15 changes: 13 additions & 2 deletions CMake/DistOSX.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
set( OSX_ICON_FILES ${CMAKE_CURRENT_SOURCE_DIR}/frontend/phoenix.icns )
set( OSX_ICON_FILES frontend/phoenix.icns )
set_source_files_properties( ${OSX_ICON_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources )
target_sources( ${PROJECT_NAME} PRIVATE ${OSX_ICON_FILES} )

target_sources( ${PROJECT_NAME} PRIVATE ${OSX_ICON_FILES} ${FRONTEND_CONTENT} )

install( TARGETS Phoenix DESTINATION . )

# This tool automatically patches hard-coded dependencies and copies them to the .app bundle
set(QT5_MACDEPLOYQT ${Qt5_DIR}/../../../bin/macdeployqt)
install(CODE "
message(\"Executing macdeployqt...\")
execute_process(COMMAND \"${QT5_MACDEPLOYQT}\" \"${CMAKE_INSTALL_PREFIX}/Phoenix.app\" -no-strip \"-qmldir=${CMAKE_INSTALL_PREFIX}/Phoenix.app/Contents/Resources/QML\")
message(\"macdeployqt finished!\")
")
16 changes: 15 additions & 1 deletion CMake/DistWindows.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,18 @@ install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Metadata DESTINATION . )

if( PORTABLE_MODE )
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/PHOENIX-PORTABLE DESTINATION . )
endif()
endif()

# This tool automatically gathers Qt dependencies and copies them to the install folder
set(QT5_WINDEPLOYQT ${Qt5_DIR}/../../../bin/windeployqt)
#get_filename_component(SDL2_DIR_PARENT "${SDL2_DIR}" DIRECTORY)
#--pdb
install(CODE "
message(\"Executing windeployqt...\")
execute_process(COMMAND \"${QT5_WINDEPLOYQT}\"
--compiler-runtime
--qmldir \"${CMAKE_INSTALL_PREFIX}/QML\"
\"${CMAKE_INSTALL_PREFIX}/Phoenix.exe\"
)
message(\"windeployqt finished!\")
")
7 changes: 7 additions & 0 deletions CMake/FindLibsamplerate.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ find_path(LIBSAMPLERATE_INCLUDE_DIR samplerate.h
if(LIBSAMPLERATE_LIBRARY AND LIBSAMPLERATE_INCLUDE_DIR)
set(LIBSAMPLERATE_FOUND TRUE)
message(STATUS "Found libsamplerate ${LIBSAMPLERATE_LIBRARY}")
add_library(SRC::samplerate STATIC IMPORTED)
set_target_properties(SRC::samplerate PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${LIBSAMPLERATE_INCLUDE_DIR}"
)
set_target_properties(SRC::samplerate PROPERTIES
IMPORTED_LOCATION ${LIBSAMPLERATE_LIBRARY}
)
else(LIBSAMPLERATE_LIBRARY AND LIBSAMPLERATE_PLUGIN_PATH)
message(STATUS "Could not find libsamplerate, get it http://www.mega-nerd.com/SRC/")
endif(LIBSAMPLERATE_LIBRARY AND LIBSAMPLERATE_INCLUDE_DIR)
92 changes: 48 additions & 44 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,77 +1,81 @@
cmake_minimum_required( VERSION 3.6.0 FATAL_ERROR )
list( APPEND CMAKE_MODULE_PATH
cmake_minimum_required(VERSION 3.6.0 FATAL_ERROR)
list(APPEND CMAKE_MODULE_PATH
${CMAKE_CURRENT_LIST_DIR}/CMake
${CMAKE_CURRENT_LIST_DIR}/externals/cmake-modules
${CMAKE_CURRENT_LIST_DIR}/frontend
)

project( Phoenix )
add_executable( ${PROJECT_NAME} "" )
# A fix for Windows
if(WIN32)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${OUTPUT_DIRECTORY}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${OUTPUT_DIRECTORY}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${OUTPUT_DIRECTORY}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${OUTPUT_DIRECTORY}")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${OUTPUT_DIRECTORY}")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${OUTPUT_DIRECTORY}")
endif()

##
## Phoenix source
## Phoenix executable
##

include( frontend/CMakeLists.txt )
include( backend/CMakeLists.txt )
project(Phoenix)
add_executable(${PROJECT_NAME} MACOSX_BUNDLE "")

##
## Externals
## Phoenix source
##

find_package( Libsamplerate REQUIRED )
if( LIBSAMPLERATE_FOUND )
include_directories( ${LIBSAMPLERATE_INCLUDE_DIR} )
target_link_libraries( ${PROJECT_NAME} ${LIBSAMPLERATE_LIBRARY} )
endif()

find_package( Quazip REQUIRED )
if( QUAZIP_FOUND )
include_directories( ${QUAZIP_INCLUDE_DIR} )
target_link_libraries( ${PROJECT_NAME} ${QUAZIP_LIBRARIES} )
endif()
include(frontend/CMakeLists.txt)
include(backend/CMakeLists.txt)

find_package( SDL2 REQUIRED )
if( SDL2_FOUND )
include_directories( ${SDL2_INCLUDE_DIR} )
target_link_libraries( ${PROJECT_NAME} ${SDL2_LIBRARY} ${SDL2_SDLMAIN_LIBRARY} )
endif()

find_package( ZLIB REQUIRED )
if( ZLIB_FOUND )
include_directories( ${ZLIB_INCLUDE_DIR} )
target_link_libraries( ${PROJECT_NAME} ${ZLIB_LIBRARY_RELEASE} )
endif()

set( CMAKE_INCLUDE_CURRENT_DIR ON )
set_target_properties( ${PROJECT_NAME} PROPERTIES AUTOMOC ON AUTORCC ON )
##
## Externals
##

find_package( Qt5 REQUIRED COMPONENTS Concurrent Core Multimedia Network Qml Quick Sql Svg )
target_link_libraries( ${PROJECT_NAME} Qt5::Concurrent Qt5::Core Qt5::Multimedia Qt5::Network Qt5::Qml Qt5::Quick Qt5::Sql Qt5::Svg )
find_package(Qt5 REQUIRED COMPONENTS Concurrent Core Multimedia Network Qml Quick Sql Svg)
target_link_libraries(${PROJECT_NAME} Qt5::Concurrent Qt5::Core Qt5::Multimedia Qt5::Network Qt5::Qml Qt5::Quick Qt5::Sql Qt5::Svg)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set_target_properties(${PROJECT_NAME} PROPERTIES AUTOMOC ON AUTORCC ON)

# On macOS, we must use QtPlatformHeaders to grab the pointer to the main window's native OpenGL context (NSOpenGLContext)
# http://doc.qt.io/qt-5/qtplatformheaders-index.html
if( APPLE )
if(APPLE)
# QtPlatformHeaders is a header-only module, leaving us with no choice but to get its location in this hacky way
# FIXME: This is not necessary when using qmake, but is when using CMake?
set( _qt5_platform_headers ${_qt5_root_dir}/../../include )
get_filename_component( _qt5_platform_headers ${_qt5_platform_headers} ABSOLUTE )
message( "Found QtPlatformHeaders: " ${_qt5_platform_headers} )
target_include_directories( ${PROJECT_NAME} PUBLIC ${_qt5_platform_headers} )
set(_qt5_platform_headers ${_qt5_root_dir}/../../include)
get_filename_component(_qt5_platform_headers ${_qt5_platform_headers} ABSOLUTE)
message("Found QtPlatformHeaders: " ${_qt5_platform_headers})
target_include_directories(${PROJECT_NAME} PUBLIC ${_qt5_platform_headers})

# FIXME: For some reason this is necessary on macOS?
find_library( FOUNDATION Foundation REQUIRED )
target_link_libraries( ${PROJECT_NAME} ${FOUNDATION} )
find_library(FOUNDATION Foundation REQUIRED)
target_link_libraries(${PROJECT_NAME} ${FOUNDATION})
endif()

find_package(libsamplerate REQUIRED)
target_link_libraries(Phoenix SRC::samplerate)

find_package(ZLIB REQUIRED)
target_link_libraries(Phoenix ZLIB::ZLIB)

find_package(KF5Archive REQUIRED)
target_link_libraries(Phoenix KF5::Archive)

find_package(SDL2 REQUIRED)
target_link_libraries(${PROJECT_NAME} SDL2::SDL2 SDL2::SDL2main)
if(WIN32)
target_link_libraries(${PROJECT_NAME} user32 gdi32 winmm imm32 ole32 oleaut32 version uuid)
endif()

##
## Compiler
##

set_target_properties( ${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED 11 )
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED 11)

##
## Distribution
##

include( CMake/DistCommon.cmake )
include(CMake/DistCommon.cmake)
27 changes: 15 additions & 12 deletions backend/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,22 @@
## Source files
##

include( ${CMAKE_CURRENT_LIST_DIR}/consumer/CMakeLists.txt )
include( ${CMAKE_CURRENT_LIST_DIR}/control/CMakeLists.txt )
include( ${CMAKE_CURRENT_LIST_DIR}/core/CMakeLists.txt )
include( ${CMAKE_CURRENT_LIST_DIR}/input/CMakeLists.txt )
include( ${CMAKE_CURRENT_LIST_DIR}/pipeline/CMakeLists.txt )
include( ${CMAKE_CURRENT_LIST_DIR}/util/CMakeLists.txt )
include(${CMAKE_CURRENT_LIST_DIR}/consumer/CMakeLists.txt)
include(${CMAKE_CURRENT_LIST_DIR}/control/CMakeLists.txt)
include(${CMAKE_CURRENT_LIST_DIR}/core/CMakeLists.txt)
include(${CMAKE_CURRENT_LIST_DIR}/input/CMakeLists.txt)
include(${CMAKE_CURRENT_LIST_DIR}/pipeline/CMakeLists.txt)
include(${CMAKE_CURRENT_LIST_DIR}/util/CMakeLists.txt)

target_sources( ${PROJECT_NAME}
PRIVATE
${CMAKE_CURRENT_LIST_DIR}/backendplugin.cpp
set(SOURCES_PRIVATE
${CMAKE_CURRENT_LIST_DIR}/backendplugin.cpp
)

PUBLIC
${CMAKE_CURRENT_LIST_DIR}/backendplugin.h
set(SOURCES_PUBLIC
${CMAKE_CURRENT_LIST_DIR}/backendplugin.h
)

target_include_directories( ${PROJECT_NAME} PUBLIC "${CMAKE_CURRENT_LIST_DIR}" )
target_sources(${PROJECT_NAME} PRIVATE ${SOURCES_PRIVATE} PUBLIC ${SOURCES_PUBLIC})
source_group(TREE "${CMAKE_SOURCE_DIR}" FILES ${SOURCES_PRIVATE} ${SOURCES_PUBLIC})

target_include_directories(${PROJECT_NAME} PUBLIC "${CMAKE_CURRENT_LIST_DIR}")
Loading