Commit e00eb8d1 authored by Max Lyon's avatar Max Lyon

Merge branch 'master' into CMakeSimplification

# Conflicts:
#	OpenFlipper
parents 28ce5640 f99a7a71
Pipeline #9290 passed with stages
in 48 minutes and 19 seconds
......@@ -6,41 +6,58 @@ stages:
variables:
GET_SOURCES_ATTEMPTS: 3
gcc-c++11-Qt5:
gcc-c++11-Qt5.11.2:
stage: Build
variables:
COMPILER: "gcc"
LANGUAGE: "C++11"
QTVERSION: "QT5.11.2"
GIT_SUBMODULE_STRATEGY: recursive
script: "CI/ci-linux-build.sh"
tags:
- Linux
- stretch
artifacts:
expire_in: 1 week
paths:
- artifacts
gcc-c++11-Qt5.11.2-nopython:
stage: Build
variables:
COMPILER: "gcc"
LANGUAGE: "C++11"
QTVERSION: "QT5"
QTVERSION: "QT5.11.2"
PYTHON: "no"
GIT_SUBMODULE_STRATEGY: recursive
script: "CI/ci-linux-build.sh"
tags:
- Linux
- stretch
artifacts:
expire_in: 1 week
paths:
- artifacts
test-gcc-c++11-Qt5:
test-gcc-c++11-Qt5.11.2:
stage: Test
variables:
COMPILER: "gcc"
LANGUAGE: "C++11"
QTVERSION: "QT5"
QTVERSION: "QT5.11.2"
GIT_STRATEGY: none
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- stretch
dependencies:
- gcc-c++11-Qt5
- gcc-c++11-Qt5.11.2
artifacts:
paths:
- build-Release-gcc-cpp11-qt5/Testing/Temporary/LastTest.log
gcc-c++11-Qt5.9.0:
stage: Build
variables:
......@@ -51,6 +68,7 @@ gcc-c++11-Qt5.9.0:
script: "CI/ci-linux-build.sh"
tags:
- Linux
- stretch
artifacts:
expire_in: 1 week
paths:
......@@ -66,6 +84,7 @@ test-gcc-c++11-Qt5.9.0:
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- stretch
dependencies:
- gcc-c++11-Qt5.9.0
artifacts:
......@@ -85,6 +104,7 @@ debug-gcc-c++11-Qt5.9.0:
script: "CI/ci-linux-build.sh"
tags:
- Linux
- stretch
artifacts:
expire_in: 1 week
paths:
......@@ -101,6 +121,7 @@ debug-test-gcc-c++11-Qt5.9.0:
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- stretch
dependencies:
- debug-gcc-c++11-Qt5.9.0
artifacts:
......@@ -118,6 +139,7 @@ gcc-c++11-Qt5.11.2:
script: "CI/ci-linux-build.sh"
tags:
- Linux
- stretch
artifacts:
expire_in: 1 week
paths:
......@@ -133,6 +155,7 @@ test-gcc-c++11-Qt5.11.2:
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- stretch
dependencies:
- gcc-c++11-Qt5.11.2
artifacts:
......@@ -151,6 +174,7 @@ debug-gcc-c++11-Qt5.11.2:
script: "CI/ci-linux-build.sh"
tags:
- Linux
- stretch
artifacts:
expire_in: 1 week
paths:
......@@ -167,6 +191,7 @@ debug-test-gcc-c++11-Qt5.11.2:
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- stretch
dependencies:
- debug-gcc-c++11-Qt5.11.2
artifacts:
......@@ -175,16 +200,17 @@ debug-test-gcc-c++11-Qt5.11.2:
clang-c++11-Qt5:
clang-c++11-Qt5.11.2:
stage: Build
variables:
COMPILER: "clang"
LANGUAGE: "C++11"
QTVERSION: "QT5"
QTVERSION: "QT5.11.2"
GIT_SUBMODULE_STRATEGY: recursive
script: "CI/ci-linux-build.sh"
tags:
- Linux
- stretch
- MultiThreads
artifacts:
expire_in: 1 week
......@@ -201,6 +227,7 @@ clang-c++11-Qt5.9.0:
script: "CI/ci-linux-build.sh"
tags:
- Linux
- stretch
- MultiThreads
artifacts:
expire_in: 1 week
......@@ -218,25 +245,27 @@ debug-clang-c++11-Qt5.9.0:
script: "CI/ci-linux-build.sh"
tags:
- Linux
- stretch
- MultiThreads
artifacts:
expire_in: 1 week
paths:
- artifacts
test-clang-c++11-Qt5:
test-clang-c++11-Qt5.11.2:
stage: Test
variables:
COMPILER: "clang"
LANGUAGE: "C++11"
QTVERSION: "QT5"
QTVERSION: "QT5.11.2"
GIT_STRATEGY: none
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- stretch
- MultiThreads
dependencies:
- clang-c++11-Qt5
- clang-c++11-Qt5.11.2
artifacts:
paths:
- build-Release-clang-cpp11-qt5/Testing/Temporary/LastTest.log
......@@ -251,6 +280,7 @@ test-clang-c++11-Qt5.9.0:
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- stretch
- MultiThreads
dependencies:
- clang-c++11-Qt5.9.0
......@@ -269,6 +299,7 @@ debug-test-clang-c++11-Qt5.9.0:
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- stretch
- MultiThreads
dependencies:
- debug-clang-c++11-Qt5.9.0
......@@ -277,15 +308,14 @@ debug-test-clang-c++11-Qt5.9.0:
- build-Debug-clang-cpp11-qt5.9.0/Testing/Temporary/LastTest.log
cppcheck:
stage: Test
script: "artifacts/CI/ci-cppcheck.sh"
stage: Build
script: "CI/ci-cppcheck.sh"
variables:
GIT_SUBMODULE_STRATEGY: recursive
tags:
- Linux
- stretch
- MultiThreads
dependencies:
- gcc-c++11-Qt5
artifacts:
paths:
- cppcheck.log
......@@ -322,22 +352,6 @@ VS2017-Qt-5.10.1:
paths:
- artifacts
VS2013-Qt-5.10.1-x64:
stage: Build
script: "CI\\ci-windows-build.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
ARCHITECTURE: "x64"
QT_VERSION: "Qt5.10.1"
COMPILER: "VS2013"
tags:
- VS2013
- Qt5101
artifacts:
expire_in: 1 week
paths:
- artifacts
Test:VS2015-Qt-5.10.1-x64:
stage: Test
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
......@@ -374,24 +388,6 @@ Test:VS2017-Qt-5.10.1:
paths:
- rel/Testing/Temporary/LastTest.log
Test:VS2013-Qt-5.10.1-x64:
stage: Test
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_STRATEGY: none
ARCHITECTURE: "x64"
QT_VERSION: "Qt5.10.1"
COMPILER: "VS2013"
STAGE2SCRIPT: ci-windows-test.bat
tags:
- VS2013
- Qt5101
dependencies:
- VS2013-Qt-5.10.1-x64
artifacts:
paths:
- rel/Testing/Temporary/LastTest.log
Deploy:VS2015-Qt-5.10.1-x64:
stage: Deploy
only:
......@@ -434,27 +430,6 @@ Deploy:VS2017-Qt-5.10.1:
paths:
- rel/*.exe
Deploy:VS2013-Qt-5.10.1-x64:
stage: Deploy
only:
- master
- unstable
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_STRATEGY: none
ARCHITECTURE: "x64"
QT_VERSION: "Qt5.10.1"
COMPILER: "VS2013"
STAGE2SCRIPT: ci-windows-deploy.bat
tags:
- VS2013
- Qt5101
dependencies:
- VS2013-Qt-5.10.1-x64
artifacts:
paths:
- rel/*.exe
Mac-Cpp11:
stage: Build
script: "CI/ci-mac-build.sh"
......@@ -462,6 +437,7 @@ Mac-Cpp11:
GIT_SUBMODULE_STRATEGY: recursive
tags:
- Apple
- qt5113
artifacts:
expire_in: 1 week
paths:
......@@ -474,6 +450,7 @@ Test:Mac-Cpp11:
GIT_STRATEGY: none
tags:
- Apple
- qt5113
dependencies:
- Mac-Cpp11
artifacts:
......@@ -490,6 +467,7 @@ Deploy:Mac-Cpp11:
GIT_STRATEGY: none
tags:
- Apple
- qt5113
dependencies:
- Mac-Cpp11
artifacts:
......@@ -504,6 +482,7 @@ Doc-publish:
script: "CI/ci-doc.sh"
tags:
- Linux
- stretch
dependencies: []
variables:
GIT_SUBMODULE_STRATEGY: recursive
......@@ -512,6 +491,22 @@ Doc-publish:
- build-release/Doxygen-warning.log
- build-release/Doxygen-error.log
Sources:
stage: Deploy
only:
- master
script: "CI/ci-source.sh"
tags:
- Linux
- stretch
dependencies: []
variables:
GIT_SUBMODULE_STRATEGY: recursive
artifacts:
paths:
- OpenFlipper*.zip
- OpenFlipper*.tar.bz2
- OpenFlipper*.tar.gz
......@@ -3,9 +3,6 @@
# Exit script on any error
set -e
#remove artifacts ... they are copied even since they shouldnt be see https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/1917
rm -rf artifacts
#=====================================
# Color Settings:
#=====================================
......@@ -26,6 +23,7 @@ cppcheck --enable=all \
-j4 \
--quiet \
-i OpenFlipper/libs_required/OpenMesh \
-i OpenFlipper/libs_required/glew-cmake \
-i build-release \
-i build-debug \
-i .svn \
......@@ -62,7 +60,7 @@ echo "CPPCHECK Summary"
echo "=============================================================================="
echo -e "${NC}"
MAX_ERROR=100
MAX_ERROR=80
if [ $COUNT -gt $MAX_ERROR ]; then
echo -e ${WARNING}
......
......@@ -6,7 +6,7 @@ set -e
# Expected Settings via environment variables:
# COMPILER= gcc/clang
# LANGUAGE= C++98 / C++11
# QTVERSION= QT4/QT5
# QTVERSION= QT5
# BUILDTYPE= Debug / Release
......
......@@ -47,17 +47,16 @@ elif [ "$LANGUAGE" == "C++11" ]; then
BUILDPATH="$BUILDPATH-cpp11"
fi
if [ "$QTVERSION" == "QT5" ]; then
echo "Using QT5";
BUILDPATH="$BUILDPATH-qt5"
OPTIONS="$OPTIONS =FALSE -DQWT6_INCLUDE_DIR=~/sw/qwt-6.1.2-qt5/include -DQWT6_LIBRARY_DIR=~/sw/qwt-6.1.2-qt5/lib -DQWT6_LIBRARY=~/sw/qwt-6.1.2-qt5/lib/libqwt-qt5.so -DQT5_INSTALL_PATH=~/sw/qt-5.5.1/5.5/gcc_64"
export LD_LIBRARY_PATH=~/sw/qt-5.5.1/5.5/gcc_64/lib:$LD_LIBRARY_PATH
elif [ "$QTVERSION" == "QT5.11.2" ]; then
if [ "$QTVERSION" == "QT5.11.2" ]; then
echo "Using QT5.11.2";
BUILDPATH="$BUILDPATH-qt5.11.2"
OPTIONS="$OPTIONS -DQWT6_INCLUDE_DIR=~/sw/qwt-6.1.3-qt5.11.2/include -DQWT6_LIBRARY_DIR=~/sw/qwt-6.1.3-qt5.11.2/lib -DQWT6_LIBRARY=~/sw/qwt-6.1.3-qt5.11.2/lib/libqwt.so -DQT5_INSTALL_PATH=~/sw/Qt/5.11.2/gcc_64"
elif [ "$QTVERSION" == "QT5.9.0" ]; then
echo "Using QT5.9.0";
BUILDPATH="$BUILDPATH-qt5.9.0"
OPTIONS="$OPTIONS -DFORCE_QT4=FALSE -DQWT6_INCLUDE_DIR=~/sw/qwt-6.1.3-qt5.9.0/include -DQWT6_LIBRARY_DIR=~/sw/qwt-6.1.3-qt5.9.0/lib -DQWT6_LIBRARY=~/sw/qwt-6.1.3-qt5.9.0/lib/libqwt.so -DQT5_INSTALL_PATH=~/sw/Qt/5.9/gcc_64"
OPTIONS="$OPTIONS -DQWT6_INCLUDE_DIR=~/sw/qwt-6.1.3-qt5.9.0/include -DQWT6_LIBRARY_DIR=~/sw/qwt-6.1.3-qt5.9.0/lib -DQWT6_LIBRARY=~/sw/qwt-6.1.3-qt5.9.0/lib/libqwt.so -DQT5_INSTALL_PATH=~/sw/Qt/5.9/gcc_64"
fi
if [ "$PYTHON" == "no" ]; then
OPTIONS="$OPTIONS -DDISABLE_OPENFLIPPER_PYTHON_SYSTEM=TRUE"
fi
......@@ -6,7 +6,7 @@ set -e
# Expected Settings via environment variables:
# COMPILER= gcc/clang
# LANGUAGE= C++98 / C++11
# QTVERSION= QT4/QT5
# QTVERSION= QT5
# BUILDTYPE= Debug / Release
#include ci options script
......@@ -55,4 +55,4 @@ export LD_LIBRARY_PATH=$(pwd)/Build/systemlib:$LD_LIBRARY_PATH
cd tests
bash run_tests.sh
cd ..
\ No newline at end of file
cd ..
......@@ -15,9 +15,9 @@ fi
cd build-release
# Build without ports to avoid qt4 collision
/opt/local/bin/cmake ../ -DCMAKE_CXX_FLAGS='-std=c++11' -DQWT6_INCLUDE_DIR=/Users/jenkins/sw/qwt-6.1.2-Qt5-installed/lib/qwt.framework/Headers -DQWT6_LIBRARY=/Users/jenkins/sw/qwt-6.1.2-Qt5-installed/lib/qwt.framework -DQT5_INSTALL_PATH=/Qt/Qt5.5.1/5.5/clang_64 -DGLEW_INCLUDE_DIR=/Users/jenkins/sw/glew-1.10.0-installed/include/ -DGLEW_LIBRARY=/Users/jenkins/sw/glew-1.10.0-installed/lib/libGLEW.dylib
/opt/local/bin/cmake ../ -DCMAKE_CXX_FLAGS='-std=c++11' -DQWT6_INCLUDE_DIR=/Users/jenkins/sw/qwt-6.1.3-qt5.11.3/lib/qwt.framework/Headers -DQWT6_LIBRARY=/Users/jenkins/sw/qwt-6.1.3-qt5.11.3/lib/qwt.framework -DQT5_INSTALL_PATH=/Users/jenkins/sw/Qt/5.11.3/clang_64/
make
make -j2
# Required for the tests to build, if a package was generated
make fixbundle
......@@ -30,4 +30,4 @@ if [ ! -d artifacts ]; then
fi
#cp -R * artifacts
rsync -a --exclude=artifacts --exclude=.git . ./artifacts
\ No newline at end of file
rsync -a --exclude=artifacts --exclude=.git . ./artifacts
......@@ -27,10 +27,10 @@ fi
# Build without ports to avoid qt4 collision
# fix pathes if run on a different machine
/opt/local/bin/cmake ../ -DCMAKE_CXX_FLAGS='-std=c++11' -DQWT6_INCLUDE_DIR=/Users/jenkins/sw/qwt-6.1.2-Qt5-installed/lib/qwt.framework/Headers -DQWT6_LIBRARY=/Users/jenkins/sw/qwt-6.1.2-Qt5-installed/lib/qwt.framework -DQT5_INSTALL_PATH=/Qt/Qt5.5.1/5.5/clang_64 -DGLEW_INCLUDE_DIR=/Users/jenkins/sw/glew-1.10.0-installed/include/ -DGLEW_LIBRARY=/Users/jenkins/sw/glew-1.10.0-installed/lib/libGLEW.dylib
/opt/local/bin/cmake ../ -DCMAKE_CXX_FLAGS='-std=c++11' -DQWT6_INCLUDE_DIR=/Users/jenkins/sw/qwt-6.1.3-qt5.11.3/lib/qwt.framework/Headers -DQWT6_LIBRARY=/Users/jenkins/sw/qwt-6.1.3-qt5.11.3/lib/qwt.framework -DQT5_INSTALL_PATH=/Users/jenkins/sw/Qt/5.11.3/clang_64/
rm -f *.dmg
make OpenFlipper_package
mv *.dmg OpenFlipper-Free-GIT-$CI_BUILD_REF-QT5.5.1-CPP11.dmg
\ No newline at end of file
mv *.dmg OpenFlipper-Free-GIT-$CI_BUILD_REF-QT5.11.3-CPP11.dmg
......@@ -27,7 +27,7 @@ fi
# Build without ports to avoid qt4 collision
# run this prior testing to fix paths
/opt/local/bin/cmake ../ -DCMAKE_CXX_FLAGS='-std=c++11' -DQWT6_INCLUDE_DIR=/Users/jenkins/sw/qwt-6.1.2-Qt5-installed/lib/qwt.framework/Headers -DQWT6_LIBRARY=/Users/jenkins/sw/qwt-6.1.2-Qt5-installed/lib/qwt.framework -DQT5_INSTALL_PATH=/Qt/Qt5.5.1/5.5/clang_64 -DGLEW_INCLUDE_DIR=/Users/jenkins/sw/glew-1.10.0-installed/include/ -DGLEW_LIBRARY=/Users/jenkins/sw/glew-1.10.0-installed/lib/libGLEW.dylib
/opt/local/bin/cmake ../ -DCMAKE_CXX_FLAGS='-std=c++11' -DQWT6_INCLUDE_DIR=/Users/jenkins/sw/qwt-6.1.3-qt5.11.3/lib/qwt.framework/Headers -DQWT6_LIBRARY=/Users/jenkins/sw/qwt-6.1.3-qt5.11.3/lib/qwt.framework -DQT5_INSTALL_PATH=/Users/jenkins/sw/Qt/5.11.3/clang_64/
########################################
......@@ -36,4 +36,4 @@ fi
# Run tests
cd tests
bash run_tests.sh
\ No newline at end of file
bash run_tests.sh
# This script just creates compressed files of OpenFlipper sources
# Create Build directory and Build documentation
mkdir build-doc
cd build-doc
cmake ..
make doc
cd ..
# Extract Version Information
VERSION=OpenFlipper-$(cat OpenFlipper/VERSION | grep VERSION | tr -d "VERSION=")
# Create Publishing directory
mkdir $VERSION
# Move all files into Publishing directory
mv OpenFlipper $VERSION/
mv Plugin-* $VERSION/
mv PluginCollection* $VERSION/
mv Type* $VERSION/
mv CMakeLists.txt $VERSION/
mv COPYING $VERSION/
mv Readme.md $VERSION/
cd $VERSION
find . -name "*git*" | xargs rm -rf
cd ..
mkdir $VERSION/Documentation
mv build-doc/Build/share/OpenFlipper/Doc/DeveloperHTML/ $VERSION/Documentation/DeveloperHTML
mv build-doc/Build/share/OpenFlipper/Doc/UserHTML/ $VERSION/Documentation/UserHTML
tar cjf $VERSION.tar.bz2 $VERSION
tar czf $VERSION.tar.gz $VERSION
zip -9 -q -r $VERSION.zip $VERSION
......@@ -2,20 +2,6 @@
set CL=/MP4
:: determine VS version and set variables
if "%COMPILER%" == "VS2012" (
set QT_COMPILERPREFIX=msvc2012
set VS_COMPILERVERSION_LONG=11.0
set VS_COMPILERVERSION_SHORT=11
set VS_EDITION_YEAR=2012
set VS_EDITION_PATH= 11.0
)
if "%COMPILER%" == "VS2013" (
set QT_COMPILERPREFIX=msvc2013
set VS_COMPILERVERSION_LONG=12.0
set VS_COMPILERVERSION_SHORT=12
set VS_EDITION_YEAR=2013
set VS_EDITION_PATH= 12.0
)
if "%COMPILER%" == "VS2015" (
set QT_COMPILERPREFIX=msvc2015
set VS_COMPILERVERSION_LONG=14.0
......@@ -81,20 +67,6 @@ set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\%QT_VERSION%\%QT_REV%\%QT_COMPILERPR
set LIBPATH_BASE=E:\libs\%COMPILER%
set CMAKE_WINDOWS_LIBS_DIR=E:\libs
:: freeglut assume we use freeglut 3.0.0 if not try 2.8.1 if not sanitize the libs folder
if exist %LIBPATH_BASE%\%ARCHITECTURE%\freeglut-3.0.0\include (
set GLUT_INCLUDE_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\freeglut-3.0.0\include
set GLUT_GLUT_LIBRARY=%LIBPATH_BASE%\%ARCHITECTURE%\freeglut-3.0.0\lib\freeglut.lib
) else (
if exist %LIBPATH_BASE%\%ARCHITECTURE%\freeglut-2.8.1\include (
set GLUT_INCLUDE_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\freeglut-2.8.1\include
set GLUT_GLUT_LIBRARY=%LIBPATH_BASE%\%ARCHITECTURE%\freeglut-2.8.1\lib\freeglut.lib
) else (
echo "Error: No suitable version of freeglut found!"
exit
)
)
:: check for gtest version 1.6 or 1.7 use the highest found version
for /l %%x in (6, 1, 7) do (
if exist %LIBPATH_BASE%\%ARCHITECTURE%\gtest-1.%%x.0 (
......@@ -102,20 +74,6 @@ for /l %%x in (6, 1, 7) do (
)
)
:: check for glew version 1.1 to 1.3 use the highest found version
for /l %%x in (0, 1, 3) do (
if exist %LIBPATH_BASE%\%ARCHITECTURE%\glew-1.1%%x.0\include (
set GLEW_INCLUDE_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\glew-1.1%%x.0\include
set GLEW_LIBRARY_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\glew-1.1%%x.0\lib\glew32.lib
)
)
:: check for glew version 2.0
if exist %LIBPATH_BASE%\%ARCHITECTURE%\glew-2.0.0\include (
set GLEW_INCLUDE_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\glew-2.0.0\include
set GLEW_LIBRARY_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\glew-2.0.0\lib\glew32.lib
)
:: check for qwt version 6.1.1 to 6.1.3 use the highest found version
for /l %%x in (0, 1, 3) do (
if exist %LIBPATH_BASE%\%ARCHITECTURE%\qwt-6.1.%%x-qt%QT_REV_LONG%\include (
......@@ -132,4 +90,4 @@ for /l %%x in (0, 1, 3) do (
)
set CMAKE_CONFIGURATION=%QT_BASE_CONFIG% -DGLUT_INCLUDE_DIR="%GLUT_INCLUDE_DIR%" -DGLUT_glut_LIBRARY="%GLUT_GLUT_LIBRARY%" -DGLEW_INCLUDE_DIR="%GLEW_INCLUDE_DIR%" -DGLEW_LIBRARY="%GLEW_LIBRARY_DIR%" -DQWT6_INCLUDE_DIR=%QWT6_INCLUDE_DIR% -DQWT6_LIBRARY=%QWT6_LIBRARY% -DQWT6_LIBRARY_DIR=%QWT6_LIBRARY_DIR% -DCMAKE_WINDOWS_LIBS_DIR=%CMAKE_WINDOWS_LIBS_DIR%
set CMAKE_CONFIGURATION=%QT_BASE_CONFIG% -DQWT6_INCLUDE_DIR=%QWT6_INCLUDE_DIR% -DQWT6_LIBRARY=%QWT6_LIBRARY% -DQWT6_LIBRARY_DIR=%QWT6_LIBRARY_DIR% -DCMAKE_WINDOWS_LIBS_DIR=%CMAKE_WINDOWS_LIBS_DIR%
# Force minimal cmake version
# Required 3.1 to set C++11
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
# Required 3.8 to use source_group TREE
# Required 3.12 to use findPython3
cmake_minimum_required(VERSION 3.12.0 FATAL_ERROR)
file(SHA512 ${CMAKE_SOURCE_DIR}/CMakeLists.txt HASH_TOPLEVEL_CMAKEFILE)
file(SHA512 ${CMAKE_SOURCE_DIR}/OpenFlipper/cmake/CMakeLists.txt HASH_LATEST_CMAKEFILE)
......@@ -37,9 +38,11 @@ endif()
IF ( APPLE )
IF(CMAKE_BUILD_TYPE MATCHES Debug)
message(WARNING "WARNING: Mac Debug mode might mix debug and release libraries (Webkit, ...), which causes strange errors. If you use ports to provide qt, you might want to disable Qt debug libraries to make sure only release qt libraries are linked to OpenFlippers debug build.")
ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
set(CMAKE_MACOSX_RPATH 0)
IF(CMAKE_BUILD_TYPE MATCHES Debug)
message(WARNING "WARNING: Mac Debug mode might mix debug and release libraries (Webkit, ...), which causes strange errors. If you use ports to provide qt, you might want to disable Qt debug libraries to make sure only release qt libraries are linked to OpenFlippers debug build.")
ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
endif()
......@@ -56,6 +59,15 @@ endif()
# add our macro directory to cmake search path
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/OpenFlipper/cmake)
# Enable automoc, autouic and auto rcc
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
#This finder takes very long, so call it once here to avoid calling it multiple times in the subprojects
FIND_PACKAGE(Doxygen)
# Include some of our OpenFlipper cmake macros
include(OpenFlipper_common)
......@@ -66,6 +78,24 @@ file (
)
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${_more_macro_directories})
# ========================================================================
# Python support
# ========================================================================
if (NOT DISABLE_OPENFLIPPER_PYTHON_SYSTEM)
set(DISABLE_OPENFLIPPER_PYTHON_SYSTEM "FALSE" CACHE BOOL "Choose if OpenFlippers integrated Python system should be build" FORCE)
endif()
if (NOT DISABLE_OPENFLIPPER_PYTHON_SYSTEM)
find_package(Python3 COMPONENTS Development)
if (NOT TARGET pybind11::module OR NOT TARGET pybind11::embed)
add_subdirectory(OpenFlipper/libs_required/pybind11)
endif()
endif()
# ========================================================================
# QT Setup
# ========================================================================
......@@ -172,22 +202,12 @@ include (ACGOutput)
acg_openmp ()
# check for OpenGL, GLEW and GLUT as our required dependencies
# check for OpenGL, GLEW as our required dependencies
find_package (OpenGL)
if (NOT OPENGL_FOUND)
message (FATAL_ERROR "OpengGL not found!")
endif ()
find_package (GLEW)
if (NOT GLEW_FOUND)
message (FATAL_ERROR "GLEW not found!")
endif ()
find_package (GLUT)
if (NOT GLUT_FOUND)
message (FATAL_ERROR "GLUT not found!")
endif ()
# using the internal openmesh delivered by the svn repo (default) or use some external installation
set (USE_INTERNAL_OPENMESH ON CACHE BOOL "Use and build internal version of OpenMesh found in libs_required")
......@@ -224,6 +244,7 @@ enable_testing()
# Build all additional libraries
# ========================================================================
add_subdirectory (OpenFlipper/libs_required/glew-cmake)
add_subdirectory (OpenFlipper/libs_required/OpenMesh)
add_subdirectory (OpenFlipper/libs_required/ACG)
......@@ -414,9 +435,12 @@ set (PREFOUND_PACKAGES "${LOADED_PACKAGES}" CACHE INTERNAL "List of packages tha
# ========================================================================
add_subdirectory (OpenFlipper/CoreApp)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${OPENFLIPPER_PRODUCT_STRING} )
GROUP_PROJECT(${OPENFLIPPER_PRODUCT_STRING} ${OPENFLIPPER_PRODUCT_STRING})
# ========================================================================
# Bundle generation
# ========================================================================
......
Subproject commit a2921fa378e58aa67b8fead6d7e90a4db29dc607
Subproject commit 29b72bb289cf81e8ef42c262573dccbc322eb59c
Subproject commit 91bad5cc6016ac961b33c00519d694e26f77e655
Subproject commit bb622d2e63a0a89862a035366eb16613212ede7c
Subproject commit 552239bdf4bd29691f8a8ff50f4357f3b2794be4
Subproject commit d576bb184de3630362f590f1008b2f74c9e4df5b
Subproject commit 674a6a61d7997bd1bb233088dfe96ec602bf669a
Subproject commit a73dfbdf11c32d067ae6e503211b1801671eeda6
Subproject commit 49c3ff8f9b14b83c2b7fa3c87a133c42977b8a99
Subproject commit 2a902fa2949dcd78826e9c72af060f8132eaff29
Subproject commit a0b3581db6ad929ea158e098f3c7c55827b2b815
Subproject commit 9d3fb221cf2b2597bad92f2ad8762b5558661534
Subproject commit e14b2e036850f00636e287368c94c062cd01ce1b
Subproject commit 5b47a3f969f7f3e76959b437175afb21453d8699
Subproject commit 108704d5eb2b1b59523225f37b2562906dd6726f
Subproject commit 92e4532f0b9594038c37b67f8688dbd735da0df1
Subproject commit 7c03d9d4e69e3587fb73fffbaf047297086d4529
Subproject commit fb859d7a7ac1791430f54ebae7c8963fa92c5f54
Subproject commit 7dd188508eeb5acbb971df50af55ef04e811db58
Subproject commit 27e98d353c95714821fab3c8626dd970127b30aa
Subproject commit 5ff712f9b4ead64d9377d078adb5a699414c3ef9
Subproject commit d3000f08f69d207b5a75d0780f47945fc2b25d75
Subproject commit a6712e8593f8d2250beb3a2a561b80b5207c2eee
Subproject commit 2edae221b1069c4c35ce24b4cd68b918f8fb99fb
Subproject commit 1291f50bbc640ce01ac2012a985acac2d35d5be0
Subproject commit 179f3b8c4d486bc7ce01ad3afe65b63984bd3897
Subproject commit 23c593ef02d6c53424c6c1b0de0a7e05d5c14f11
Subproject commit 857875cbbb5bdc00b52ab28e7d9ef6f179aa0df8
Subproject commit cb22c6cadfc393e20bf258eb7b4d67caa57e862a
Subproject commit 06a7744a41c303a90e78eac67ccda137e842ad3f
Subproject commit 3a99efa02498632e9462d19b872c96b6c9ad4af4
Subproject commit cc6949c5f2dde48a46222b90dfc52fd5b9e4ca68
Subproject commit 40c6d0cdd1078c4ffe904643c03351dbc37f3c40
Subproject commit f34471e5081292a5e688b36024b5c3754f8ec207
Subproject commit 94be0624b14e78b349e5c6fc2fb71f792dec8924
Subproject commit ebfcd7a73da20115bbee5834e42cadf93185acd5
Subproject commit b2466c53c400644a258fdd8068436e7bb25b39a2
Subproject commit 1b22dcee328aa2498c974a35ac6ea9562262fce9
Subproject commit d375aa24cae7c82f5e08343009bf19275366d97f
Subproject commit 6538b9b177f9423b08e0c3e5545a497f2c9b4aae
Subproject commit 5e1e5b237b84d8b5599cf7680d742dc9aca259a1
Subproject commit 6c565d8e42734149451b1ba97ffd613b16bef284