Merge pull request #137 from bblacey/matrix-0.17
Matrix 0.17 Improvements
This commit is contained in:
commit
de1b04afa6
41
.travis.yml
41
.travis.yml
|
@ -20,24 +20,31 @@ env:
|
||||||
- DEPLOY_RELEASE=${DEPLOY_RELEASE:-$FREECAD_RELEASE}
|
- DEPLOY_RELEASE=${DEPLOY_RELEASE:-$FREECAD_RELEASE}
|
||||||
- CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release}
|
- CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release}
|
||||||
- OSX_PORTS_CACHE=${OSX_PORTS_CACHE:-FreeCAD/FreeCAD-ports-cache}
|
- OSX_PORTS_CACHE=${OSX_PORTS_CACHE:-FreeCAD/FreeCAD-ports-cache}
|
||||||
|
matrix:
|
||||||
|
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON"
|
||||||
|
|
||||||
language: cpp
|
language: cpp
|
||||||
|
|
||||||
|
compiler:
|
||||||
|
- clang
|
||||||
|
- gcc
|
||||||
|
|
||||||
|
python: 2.7
|
||||||
|
|
||||||
|
os:
|
||||||
|
- linux
|
||||||
|
- osx
|
||||||
|
|
||||||
|
dist: trusty
|
||||||
|
sudo: required
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
|
||||||
- os: linux
|
|
||||||
dist: trusty
|
|
||||||
sudo: required
|
|
||||||
compiler: clang
|
|
||||||
- os: osx
|
|
||||||
osx_image: beta-xcode6.2
|
|
||||||
compiler: clang
|
|
||||||
exclude:
|
exclude:
|
||||||
- os: linux
|
- os: osx
|
||||||
dist: precise
|
compiler: gcc
|
||||||
|
|
||||||
git:
|
git:
|
||||||
depth: 200
|
depth: 800
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- eval "$(curl -fsSL "https://raw.githubusercontent.com/${OSX_PORTS_CACHE}/v${FREECAD_RELEASE}/travis-helpers.sh")"
|
- eval "$(curl -fsSL "https://raw.githubusercontent.com/${OSX_PORTS_CACHE}/v${FREECAD_RELEASE}/travis-helpers.sh")"
|
||||||
|
@ -72,6 +79,8 @@ before_install:
|
||||||
libxmu6 \
|
libxmu6 \
|
||||||
libxmuu-dev \
|
libxmuu-dev \
|
||||||
libxmuu1 \
|
libxmuu1 \
|
||||||
|
netgen \
|
||||||
|
netgen-headers \
|
||||||
oce-draw \
|
oce-draw \
|
||||||
pyside-tools \
|
pyside-tools \
|
||||||
python-dev \
|
python-dev \
|
||||||
|
@ -82,16 +91,12 @@ before_install:
|
||||||
shiboken \
|
shiboken \
|
||||||
swig
|
swig
|
||||||
|
|
||||||
#Temporary hack - remove older Python (find a supported way to do this)
|
|
||||||
sudo rm -rf /opt/python/2.6.9
|
|
||||||
sudo rm -rf /opt/python/2.7.10
|
|
||||||
|
|
||||||
#Patch the system - there is a bug related to invalid location of libs on ubuntu 12.04
|
#Patch the system - there is a bug related to invalid location of libs on ubuntu 12.04
|
||||||
sudo ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib/i386-linux-gnu
|
sudo ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib/i386-linux-gnu
|
||||||
export DISPLAY=:99.0
|
export DISPLAY=:99.0
|
||||||
sh -e /etc/init.d/xvfb start
|
sh -e /etc/init.d/xvfb start
|
||||||
|
|
||||||
CMAKE_ARGS=""
|
CMAKE_ARGS="${CMAKE_OPTS} -DPYTHON_EXECUTABLE=/usr/bin/python"
|
||||||
INSTALLED_APP_PATH="/usr/local/bin/FreeCAD"
|
INSTALLED_APP_PATH="/usr/local/bin/FreeCAD"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -127,7 +132,7 @@ before_install:
|
||||||
#Remove GDAL if installed because it results in non-existent dependent library exceptions
|
#Remove GDAL if installed because it results in non-existent dependent library exceptions
|
||||||
if [ -e /usr/local/lib/libgdal.1.dylib ]; then brew unlink gdal; fi
|
if [ -e /usr/local/lib/libgdal.1.dylib ]; then brew unlink gdal; fi
|
||||||
|
|
||||||
CMAKE_ARGS="-DFREECAD_USE_EXTERNAL_KDL=ON -DBUILD_FEM_NETGEN=ON -DFREECAD_CREATE_MAC_APP=ON"
|
CMAKE_ARGS="${CMAKE_OPTS} -DFREECAD_USE_EXTERNAL_KDL=ON -DFREECAD_CREATE_MAC_APP=ON"
|
||||||
INSTALLED_APP_PATH="/usr/local/FreeCAD.app/Contents/bin/FreeCAD"
|
INSTALLED_APP_PATH="/usr/local/FreeCAD.app/Contents/bin/FreeCAD"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -164,7 +169,7 @@ after_success:
|
||||||
- |
|
- |
|
||||||
if [ "${TRAVIS_OS_NAME}" == "osx" -a "${TRAVIS_PULL_REQUEST}" == "false" ]; then
|
if [ "${TRAVIS_OS_NAME}" == "osx" -a "${TRAVIS_PULL_REQUEST}" == "false" ]; then
|
||||||
brew install jq node && npm install -g appdmg
|
brew install jq node && npm install -g appdmg
|
||||||
export VSN=$(python ${TRAVIS_BUILD_DIR}/src/Tools/ArchiveNameFromVersionHeader.py ${TRAVIS_BUILD_DIR}/build/src/Build/Version.h --git-SHA=$(git ls-remote origin master))
|
export VSN=$(python ${TRAVIS_BUILD_DIR}/src/Tools/ArchiveNameFromVersionHeader.py ${TRAVIS_BUILD_DIR}/build/src/Build/Version.h)
|
||||||
export DEPLOYMENT_ARCHIVE=${VSN}.dmg
|
export DEPLOYMENT_ARCHIVE=${VSN}.dmg
|
||||||
appdmg ${TRAVIS_BUILD_DIR}/src/MacAppBundle/DiskImage/layout.json "${DEPLOYMENT_ARCHIVE}"
|
appdmg ${TRAVIS_BUILD_DIR}/src/MacAppBundle/DiskImage/layout.json "${DEPLOYMENT_ARCHIVE}"
|
||||||
deployContext=$(create_helper_context repo=${TRAVIS_REPO_SLUG} auth_token=${GH_TOKEN} release=${DEPLOY_RELEASE})
|
deployContext=$(create_helper_context repo=${TRAVIS_REPO_SLUG} auth_token=${GH_TOKEN} release=${DEPLOY_RELEASE})
|
||||||
|
|
|
@ -44,25 +44,36 @@ else(WIN32)
|
||||||
set(PLATFORM_MK mkdir -p)
|
set(PLATFORM_MK mkdir -p)
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
|
if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
||||||
|
set(CMAKE_COMPILER_IS_CLANGXX TRUE)
|
||||||
|
endif (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
||||||
|
|
||||||
# ================================================================================
|
# ================================================================================
|
||||||
|
|
||||||
# Issues with boost::any on older versions with C++11 enabled.
|
# Issues with boost::any on older versions with C++11 enabled.
|
||||||
set(BOOST_MIN_VERSION 1.55)
|
set(BOOST_MIN_VERSION 1.55)
|
||||||
|
IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_COMPILER_VERSION VERSION_LESS 4.7)
|
||||||
|
UNSET(BOOST_MIN_VERSION) # For Ubuntu 12.04
|
||||||
|
ENDIF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_COMPILER_VERSION VERSION_LESS 4.7)
|
||||||
|
|
||||||
if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
# Enabled C++11 for Freecad 0.17 and later
|
||||||
set(CMAKE_COMPILER_IS_CLANGXX TRUE)
|
IF(FREECAD_VERSION VERSION_GREATER 0.16)
|
||||||
# make this an option because for older compilers C++11 doesn't work properly.
|
|
||||||
OPTION(BUILD_ENABLE_CXX11 "Enable C++11 support." ON)
|
OPTION(BUILD_ENABLE_CXX11 "Enable C++11 support." ON)
|
||||||
if (BUILD_ENABLE_CXX11)
|
IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
MESSAGE(FATAL_ERROR "FreeCAD 0.17 and later requires C++11. G++ must be 4.7 or later")
|
||||||
endif(BUILD_ENABLE_CXX11)
|
ELSEIF(CMAKE_COMPILER_IS_CLANGXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.3)
|
||||||
endif (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
MESSAGE(FATAL_ERROR "FreeCAD 0.17 and later requires C++11. Clang must be 3.3 or later")
|
||||||
|
ENDIF()
|
||||||
|
ENDIF(FREECAD_VERSION VERSION_GREATER 0.16)
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
||||||
include(cMake/ConfigureChecks.cmake)
|
include(cMake/ConfigureChecks.cmake)
|
||||||
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
||||||
add_definitions(-DHAVE_CONFIG_H)
|
add_definitions(-DHAVE_CONFIG_H)
|
||||||
set(CMAKE_CXX_FLAGS "-Wall -Wno-deprecated -Wno-write-strings -std=c++11 ${CMAKE_CXX_FLAGS}")
|
if(BUILD_ENABLE_CXX11)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||||
|
endif(BUILD_ENABLE_CXX11)
|
||||||
|
set(CMAKE_CXX_FLAGS "-Wall -Wno-deprecated -Wno-write-strings ${CMAKE_CXX_FLAGS}")
|
||||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
|
||||||
# get linker errors as soon as possible and not at runtime e.g. for modules
|
# get linker errors as soon as possible and not at runtime e.g. for modules
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
|
@ -70,16 +81,6 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
||||||
endif(UNIX)
|
endif(UNIX)
|
||||||
endif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
endif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
||||||
|
|
||||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
|
||||||
EXECUTE_PROCESS( COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
|
||||||
OUTPUT_VARIABLE GCC_VERSION )
|
|
||||||
IF(GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
|
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
||||||
ELSE(GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
|
|
||||||
UNSET(BOOST_MIN_VERSION) # For Ubuntu 12.04
|
|
||||||
ENDIF(GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
# ================================================================================
|
# ================================================================================
|
||||||
# Output directories for install target
|
# Output directories for install target
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user