build: linux libs

* libEGL
* stdc++
* ...
This commit is contained in:
Andreas Stallinger
2016-11-30 12:01:46 +01:00
parent 4d7a0d2653
commit 94ddd0d4f9
9 changed files with 103 additions and 42 deletions
+13
View File
@@ -0,0 +1,13 @@
image: st4ll1/coati_linux_64
Linux64:
stage: deploy
only:
- master
script:
- ./script/setup.sh
- ./script/buildonly.sh package
artifacts:
paths:
- distr
expire_in: 3 days
+10 -17
View File
@@ -53,9 +53,10 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-warning-option -fcolor-diagnostics")
endif()
if (UNIX AND "${CMAKE_BUILD_TYPE}" STREQUAL "Release")
add_definitions(-fno-omit-frame-pointer -DQT_COMPILING_QSTRING_COMPAT_CPP )
endif ()
# For debugging the release build on linux
#if (UNIX AND "${CMAKE_BUILD_TYPE}" STREQUAL "Release")
#add_definitions(-fno-omit-frame-pointer)
#endif ()
# Clang ------------------------------------------------------------------------
@@ -66,7 +67,7 @@ if (UNIX AND APPLE)
find_package(LLVM REQUIRED PATHS "$ENV{CLANG_DIR}/build_debug/share/llvm/cmake" NO_DEFAULT_PATH)
endif()
elseif(UNIX)
find_package(LLVM REQUIRED PATHS "${EXTERNAL_BUILD}/llvm/share/llvm/cmake" NO_DEFAULT_PATH)
find_package(LLVM REQUIRED PATHS "$ENV{LLVM_DIR}/lib/cmake" )
else()
find_package(LLVM REQUIRED PATHS "$ENV{CLANG_DIR}/build/share/llvm/cmake")
endif()
@@ -78,14 +79,14 @@ add_definitions(${CLANG_DEFINITIONS})
# Boost ------------------------------------------------------------------------
if(UNIX AND NOT APPLE)
set(BOOST_ROOT ${EXTERNAL_BUILD}/boost)
set(BOOST_ROOT $ENV{BOOST_DIR})
else()
set(BOOST_ROOT $ENV{BOOST_159_DIR})
set(Boost_NO_SYSTEM_PATHS ON)
endif()
set(Boost_USE_MULTITHREAD ON)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(Boost_NO_SYSTEM_PATHS ON)
set(BOOST_LIBRARYDIR $ENV{BOOST_159_DIR})
find_package(Boost 1.59 COMPONENTS system program_options filesystem date_time REQUIRED)
@@ -181,7 +182,7 @@ set_property(
)
target_include_directories(${LIB_PROJECT_NAME} SYSTEM
PUBLIC ${Boost_INCLUDE_DIRS}
PUBLIC ${Boost_INCLUDE_DIR}
"${CMAKE_SOURCE_DIR}/src/external"
)
@@ -260,11 +261,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
# Find the QtWidgets library
if(UNIX AND NOT APPLE)
#set(CMAKE_PREFIX_PATH ${EXTERNAL_BUILD}/qt)
else()
set(CMAKE_PREFIX_PATH "$ENV{QT_DIR}/")
endif()
set(CMAKE_PREFIX_PATH "$ENV{QT_DIR}/")
if(UNIX AND APPLE)
set(Qt5Widgets_DIR "$ENV{QT_DIR}/cmake/Qt5Widgets/")
@@ -494,11 +491,7 @@ endif ()
add_subdirectory(src/test)
if(UNIX AND NOT APPLE)
set(CXXTEST_INCLUDE_DIR ${EXTERNAL_SRC}/cxxtest)
else()
set(CXXTEST_INCLUDE_DIR $ENV{CXX_TEST_DIR})
endif()
set(CXXTEST_INCLUDE_DIR $ENV{CXX_TEST_DIR})
set(CXXTEST_PYTHON_TESTGEN_EXECUTABLE ${CXXTEST_INCLUDE_DIR}/bin/cxxtestgen)
set(TESTGEN_FILE ${CMAKE_CURRENT_BINARY_DIR}/test_main.cpp)
+23 -5
View File
@@ -7,15 +7,28 @@ if (UNIX AND APPLE)
set(CLANG_BUILD_PATH "$ENV{CLANG_DIR}/build_debug")
endif()
elseif(UNIX)
set(CLANG_BUILD_PATH "${EXTERNAL_BUILD}/llvm")
set(CLANG_BUILD_PATH "$ENV{LLVM_DIR}")
else()
set(CLANG_BUILD_PATH "$ENV{CLANG_DIR}/build")
endif()
if (UNIX AND NOT APPLE)
find_program(
LLVMCONFIG
llvm-config
PATHS "${CLANG_BUILD_PATH}/bin"
)
execute_process(
COMMAND ${LLVMCONFIG} --cxxflags
OUTPUT_VARIABLE CLANG_DEFINITIONS
OUTPUT_STRIP_TRAILING_WHITESPACE
)
else()
execute_process(
COMMAND ${CLANG_BUILD_PATH}/bin/llvm-config --cxxflags
OUTPUT_VARIABLE CLANG_DEFINITIONS
)
endif()
# Remove unwanted flags
string(REPLACE "-fno-exceptions" "" CLANG_DEFINITIONS "${CLANG_DEFINITIONS}")
@@ -26,10 +39,15 @@ if(CMAKE_COMPILER_IS_GNUCXX)
endif()
if(UNIX AND NOT APPLE)
set(CLANG_INCLUDE_DIRS
"${EXTERNAL_SRC}/clang/include"
"${CLANG_BUILD_PATH}/tools/clang/include"
)
execute_process(
COMMAND ${LLVMCONFIG} --includedir
OUTPUT_VARIABLE CLANG_INCLUDE_DIRS
OUTPUT_STRIP_TRAILING_WHITESPACE
)
#set(CLANG_INCLUDE_DIRS
#"${EXTERNAL_SRC}/clang/include"
#"${CLANG_BUILD_PATH}/tools/clang/include"
#)
else()
set(CLANG_INCLUDE_DIRS
"$ENV{CLANG_DIR}/llvm/tools/clang/include"
+34 -14
View File
@@ -1,6 +1,6 @@
function(InstallQtModule module qtversion componentName)
get_filename_component(realpath ${EXTERNAL_BUILD}/qt/lib/libQt5${module}.so.${qtversion} REALPATH)
get_filename_component(realpath $ENV{QT_DIR}/lib/libQt5${module}.so.${qtversion} REALPATH)
INSTALL(FILES
${realpath}
DESTINATION Coati/lib
@@ -9,6 +9,30 @@ function(InstallQtModule module qtversion componentName)
)
endfunction(InstallQtModule)
function(GetAndInstallLibrary libraryName componentName)
execute_process(
COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=${libraryName}
OUTPUT_VARIABLE LIB
OUTPUT_STRIP_TRAILING_WHITESPACE
)
message(STATUS "lib: ${LIB}")
get_filename_component(realPath ${LIB} REALPATH)
string(REGEX MATCH "([^\/]*)$" fileName ${realPath})
string(REGEX MATCH ".*\.so\.[^.]*" SHORTER ${fileName})
if (NOT EXISTS ${realPath})
message(WARNING "${libraryName} not found")
else()
INSTALL(FILES
${realPath}
DESTINATION Coati/lib
COMPONENT ${componentName}
RENAME ${SHORTER}
)
endif()
endfunction(GetAndInstallLibrary)
function(InstallQt qtversion componentName)
InstallQtModule(Gui ${qtversion} ${componentName})
InstallQtModule(Core ${qtversion} ${componentName})
@@ -48,16 +72,17 @@ function(AddSharedToComponent componentName)
InstallQt(5 ${componentName})
get_filename_component(realpath ${LIBSTDCPP} REALPATH)
INSTALL(FILES
#C++
${realpath}
DESTINATION Coati/lib
COMPONENT ${componentName}
)
GetAndInstallLibrary(libicui18n.so ${componentName})
GetAndInstallLibrary(libicudata.so ${componentName})
GetAndInstallLibrary(libicuuc.so ${componentName})
GetAndInstallLibrary(libudev.so ${componentName})
GetAndInstallLibrary(libpng.so ${componentName})
GetAndInstallLibrary(libEGL.so ${componentName})
GetAndInstallLibrary(libselinux.so ${componentName})
#GetAndInstallLibrary(libstdc++.so ${componentName})
INSTALL(FILES
${EXTERNAL_BUILD}/qt/plugins/platforms/libqxcb.so
$ENV{QT_DIR}/plugins/platforms/libqxcb.so
DESTINATION Coati/platforms
COMPONENT ${componentName}
)
@@ -79,11 +104,6 @@ function(AddSharedToComponent componentName)
)
endfunction(AddSharedToComponent)
execute_process(
COMMAND clang -print-file-name=libstdc++.so.6
OUTPUT_VARIABLE LIBSTDCPP
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# Add shared files to full and trial version
AddSharedToComponent(FULL)
+1 -1
View File
@@ -15,7 +15,7 @@ endfunction()
set(upxPath ${CMAKE_CURRENT_LIST_DIR}/../bin/app/Release)
execute_process(
COMMAND ${upxPath}/Coati -z $ENV{HOME}/dev/license.txt
COMMAND ${upxPath}/Coati -z ${CMAKE_CURRENT_LIST_DIR}/../setup/license.txt
)
execute_process(
+1
View File
@@ -1,5 +1,6 @@
#!/bin/bash
set -e
# Determine path to script
MY_PATH=`dirname "$0"`
+7 -4
View File
@@ -1,5 +1,7 @@
#!/bin/bash
set -e
ABORT="\033[31mAbort:\033[00m"
SUCCESS="\033[32mSuccess:\033[00m"
INFO="\033[33mInfo:\033[00m"
@@ -27,15 +29,16 @@ ROOT_DIR=$ROOT_DIR/..
# Enter masterproject directory
cd $ROOT_DIR
# git settings
echo -e $INFO "install git settings"
git config commit.template setup/git/git_commit_template.txt
git config color.ui true
if [ -d ".git/hooks" ]
then
cp setup/git/git_pre_commit_hook.sh .git/hooks/pre-commit
cp setup/git/git_pre_push_hook.sh .git/hooks/pre-push
fi
# Copy necessary jars for java indexer
echo -e $INFO "copy jars for java indexer"
@@ -84,9 +87,9 @@ if [ $PLATFORM == "Windows" ]; then
elif [ $PLATFORM == "Linux" ]; then
echo -e $INFO "create symbolic links for data"
cd $ROOT_DIR/bin/app/Release
ln -s ../data
ln -s -f ../data
cd $ROOT_DIR/bin/app/Debug
ln -s ../data
ln -s -f ../data
cd $ROOT_DIR
fi
+1 -1
View File
@@ -16,7 +16,7 @@ if [ ! -d "${HOME}/.config/coati" ]; then
echo "First start of Coati from this user, copy default configfiles to ~/.config/coati"
fi
cp -rn "$COATI_PATH/user/*" "${HOME}/.config/coati/"
cp -rn "$COATI_PATH/user"/* "${HOME}/.config/coati/"
export LD_LIBRARY_PATH="$COATI_PATH/lib:LD_LIBRARY_PATH"
export QT_XKB_CONFIG_ROOT="/usr/share/X11/xkb:$QT_XKB_CONFIG_ROOT"
+13
View File
@@ -0,0 +1,13 @@
-----BEGIN LICENSE-----
builder
builder license
Coati 0
$9$AQAKIJ1UwEq5cZQujDjiHaO9R7B/KN9a6JVxppbOcZ4VSvEFRlSn
hBa0BMnyCdcL95VDSSC13m+BC/GTxweqaR2lBrF6NzVlIDeCjhBGv80
L5SBw8yaNRx9LOZAnwGWw2IG7lclSuraqECIqVE3o2ooFC4xSg9KC6F
4Xqq2Fw8rtPCJ3HwkLZzhMhQg208cdLlyOPXL/dPa1AqZiIar4cnF/0
sJDjxpk5C8CvpD4dq0JOs6Xs6KF8Uc7Gwp0UfnwQ0nlOl8TL63ukb8T
/70Rmzm5cnwM4iz+BdzfCVnhBgyLwCzJe+/5dF4KlVJxiW/f0GinsmU
byuZAQUqcCuVSxZXHBthmsLCN9ZWeAsR+Xvv9WRCs018nuk67BnZ5Aq
sdDRu0Q4GBEg==
-----END LICENSE-----