OSDN Git Service

[UI][Qt] qt/gui : separate to libCSPgui.so excepts windows.
[csp-qt/common_source_project-fm7.git] / source / build-cmake / config_build.sh
1 #!/bin/bash
2
3 CMAKE=/usr/bin/cmake
4 CCMAKE_CC=gcc-5
5 CCMAKE_CXX=g++-5
6
7 MAKEFLAGS_CXX="-g -O2 -DNDEBUG"
8 MAKEFLAGS_CC="-g -O2 -DNDEBUG"
9 LIB_INSTALL="/usr/local/lib/x86_64-linux-gnu/"
10
11 BUILD_TYPE="Relwithdebinfo"
12 CMAKE_APPENDFLAG=""
13
14 if [ -e ./buildvars.dat ] ; then
15     . ./buildvars.dat
16 fi
17
18 case ${BUILD_TYPE} in
19     "Debug" | "DEBUG" | "debug" ) 
20             CMAKE_FLAGS1="-DCMAKE_BUILD_TYPE:STRING=debug"
21             CMAKE_FLAGS2="-DCMAKE_CXX_FLAGS_DEBUG:STRING"
22             CMAKE_FLAGS3="-DCMAKE_C_FLAGS_DEBUG:STRING"
23             ;;
24     "Release" | "RELEASE" | "release" ) 
25             CMAKE_FLAGS1="-DCMAKE_BUILD_TYPE:STRING=Release"
26             CMAKE_FLAGS2="-DCMAKE_CXX_FLAGS_RELEASE:STRING"
27             CMAKE_FLAGS3="-DCMAKE_C_FLAGS_RELEASE:STRING"
28             ;;
29     "Relwithdebinfo" | "RELWITHDEBINFO" | "relwithdebinfo" ) 
30             CMAKE_FLAGS1="-DCMAKE_BUILD_TYPE:STRING=Relwithdebinfo"
31             CMAKE_FLAGS2="-DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING"
32             CMAKE_FLAGS3="-DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING"
33             ;;
34      * )
35             echo "Specify BUILD_TYPE in buildvars.dat to Debug, Release, Relwithdebinfo."
36             exit -1
37             ;;
38 esac
39
40 # libCSPGui
41 mkdir -p libCSPgui/build
42 cd libCSPgui/build
43     
44 echo ${CMAKE_FLAGS1} ${CMAKE_FLAGS2}
45 ${CMAKE} -DCMAKE_C_COMPILER:STRING=${CCMAKE_CC}  \
46          -DCMAKE_CXX_COMPILER:STRING=${CCMAKE_CXX} \
47          "-DLIBCSP_INSTALL_DIR:STRING=${LIB_INSTALL}" \
48          ${CMAKE_FLAGS1} \
49          "${CMAKE_FLAGS2}=${MAKEFLAGS_LIB_CXX}" \
50          "${CMAKE_FLAGS3}=${MAKEFLAGS_LIB_CC}" \
51          ${CMAKE_APPENDFLAG} \
52          ${CMAKE_LINKFLAG} \
53          .. | tee make.log
54          
55 ${CMAKE} -DCMAKE_C_COMPILER:STRING=${CCMAKE_CC}  \
56          -DCMAKE_CXX_COMPILER:STRING=${CCMAKE_CXX} \
57          "-DLIBCSP_INSTALL_DIR:STRING=${LIB_INSTALL}" \
58          ${CMAKE_FLAGS1} \
59          "${CMAKE_FLAGS2}=${MAKEFLAGS_LIB_CXX}" \
60          "${CMAKE_FLAGS3}=${MAKEFLAGS_LIB_CC}" \
61          ${CMAKE_APPENDFLAG} \
62          ${CMAKE_LINKFLAG} \
63          .. | tee -a make.log
64
65 make clean
66     
67 make ${MAKEFLAGS_GENERAL} 2>&1 | tee -a ./make.log
68 case $? in
69       0 ) sudo make install 2>&1 | tee -a ./make.log ;;
70       * ) exit $? ;;
71     esac
72     
73 make clean
74 cd ../..
75
76
77 for SRCDATA in $@ ; do\
78
79     mkdir -p ${SRCDATA}/build
80     cd ${SRCDATA}/build
81     
82     echo ${CMAKE_FLAGS1} ${CMAKE_FLAGS2}
83     ${CMAKE} -D CMAKE_C_COMPILER:STRING=${CCMAKE_CC}  \
84              -D CMAKE_CXX_COMPILER:STRING=${CCMAKE_CXX} \
85              ${CMAKE_FLAGS1} \
86              "${CMAKE_FLAGS2}=${MAKEFLAGS_CXX}" \
87              "${CMAKE_FLAGS3}=${MAKEFLAGS_CC}" \
88              ${CMAKE_APPENDFLAG} \
89              ${CMAKE_LINKFLAG} \
90              .. | tee make.log
91
92     ${CMAKE} -D CMAKE_C_COMPILER:STRING=${CCMAKE_CC}  \
93              -D CMAKE_CXX_COMPILER:STRING=${CCMAKE_CXX} \
94              ${CMAKE_FLAGS1} \
95              "${CMAKE_FLAGS2}=${MAKEFLAGS_CXX}" \
96              "${CMAKE_FLAGS3}=${MAKEFLAGS_CC}" \
97              ${CMAKE_APPENDFLAG} \
98              ${CMAKE_LINKFLAG} \
99              .. | tee -a make.log
100
101     make clean
102     
103     make ${MAKEFLAGS_GENERAL} 2>&1 | tee -a ./make.log
104     case $? in
105       0 ) sudo make install 2>&1 | tee -a ./make.log ;;
106       * ) exit $? ;;
107     esac
108     
109     make clean
110     cd ../..
111 done
112
113 exit 0
114