OSDN Git Service

[Qt][OSD] Separate OSD (excepts VM dependented functions) to libCSPosd.so .
[csp-qt/common_source_project-fm7.git] / source / build-cmake / config_build_mingw.sh
1 #!/bin/bash
2
3 CMAKE=cmake
4 CCMAKE_CC=gcc
5 CCMAKE_CXX=g++
6
7 MAKEFLAGS_CXX="-g -O2 -DNDEBUG"
8 MAKEFLAGS_CC="-g -O2 -DNDEBUG"
9 BUILD_TYPE="Relwithdebinfo"
10 CMAKE_APPENDFLAG=""
11 CMAKE_LINKFLAG=""
12
13 mkdir -p ./bin-win32/
14 if [ -e ./buildvars_mingw.dat ] ; then
15     . ./buildvars_mingw.dat
16 fi
17
18
19 MAKEFLAGS_CXX="${MAKEFLAGS_CXX} -DWINVER=0x501"
20 MAKEFLAGS_CC="${MAKEFLAGS_CC} -DWINVER=0x501"
21 MAKEFLAGS_LIB_CXX="${MAKEFLAGS_LIB_CXX} -DWINVER=0x501"
22 MAKEFLAGS_LIB_CC="${MAKEFLAGS_LIB_CC} -DWINVER=0x501"
23
24 case ${BUILD_TYPE} in
25     "Debug" | "DEBUG" | "debug" ) 
26             CMAKE_FLAGS1="-DCMAKE_BUILD_TYPE:STRING=debug"
27             CMAKE_FLAGS2="-DCMAKE_CXX_FLAGS_DEBUG:STRING"
28             CMAKE_FLAGS3="-DCMAKE_C_FLAGS_DEBUG:STRING"
29             ;;
30     "Release" | "RELEASE" | "release" ) 
31             CMAKE_FLAGS1="-DCMAKE_BUILD_TYPE:STRING=Release"
32             CMAKE_FLAGS2="-DCMAKE_CXX_FLAGS_RELEASE:STRING"
33             CMAKE_FLAGS3="-DCMAKE_C_FLAGS_RELEASE:STRING"
34             ;;
35     "Relwithdebinfo" | "RELWITHDEBINFO" | "relwithdebinfo" ) 
36             CMAKE_FLAGS1="-DCMAKE_BUILD_TYPE:STRING=Relwithdebinfo"
37             CMAKE_FLAGS2="-DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING"
38             CMAKE_FLAGS3="-DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING"
39             ;;
40      * )
41             echo "Specify BUILD_TYPE in buildvars.dat to Debug, Release, Relwithdebinfo."
42             exit -1
43             ;;
44 esac
45 #libCSPgui
46 mkdir -p libCSPgui/build-win32
47 mkdir -p libCSPosd/build-win32
48 cd libCSPgui/build-win32
49 echo ${CMAKE_FLAGS1} ${CMAKE_FLAGS2}
50 ${CMAKE} -G "MinGW Makefiles" \
51          -D CMAKE_C_COMPILER:STRING=${CCMAKE_CC}  \
52          -D CMAKE_CXX_COMPILER:STRING=${CCMAKE_CXX} \
53          ${CMAKE_FLAGS1} \
54          "${CMAKE_FLAGS2}=${MAKEFLAGS_LIB_CXX}" \
55          "${CMAKE_FLAGS3}=${MAKEFLAGS_LIB_CC}" \
56          ${CMAKE_APPENDFLAG} \
57          ${CMAKE_LINKFLAG} \
58          .. | tee make.log
59
60 ${CMAKE} -D CMAKE_C_COMPILER:STRING=${CCMAKE_CC}  \
61          -D CMAKE_CXX_COMPILER:STRING=${CCMAKE_CXX} \
62          ${CMAKE_FLAGS1} \
63          "${CMAKE_FLAGS2}=${MAKEFLAGS_LIB_CXX}" \
64          "${CMAKE_FLAGS3}=${MAKEFLAGS_LIB_CC}" \
65          ${CMAKE_APPENDFLAG} \
66          ${CMAKE_LINKFLAG} \
67          .. | tee -a make.log
68          
69 mingw32-make clean
70 mingw32-make ${MAKEFLAGS_GENERAL} 2>&1 | tee -a ./make.log
71
72 case $? in
73       0 ) 
74 #      cp ./qt/gui/libqt_gui.a ../../bin-win32/ 
75 #      cp ./qt/gui/*.lib ../../bin-win32/ 
76 #      cp ./qt/gui/*.dll ../../bin-win32/ 
77       ;;
78       * ) exit $? ;;
79 esac
80 #mingw32-make clean
81 cd ../..
82
83 #libCSPosd
84 cd libCSPosd/build-win32
85 echo ${CMAKE_FLAGS1} ${CMAKE_FLAGS2}
86 ${CMAKE} -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_SCRIPT} \
87         ${CMAKE_FLAGS1} \
88         "${CMAKE_FLAGS2}=${MAKEFLAGS_LIB_CXX}" \
89         "${CMAKE_FLAGS3}=${MAKEFLAGS_LIB_CC}" \
90         "-DUSE_SDL2=ON" \
91         ${CMAKE_APPENDFLAG} \
92         ${CMAKE_LINKFLAG} \
93         .. | tee make.log
94
95 ${CMAKE} ${CMAKE_FLAGS1} \
96         "${CMAKE_FLAGS2}=${MAKEFLAGS_LIB_CXX}" \
97         "${CMAKE_FLAGS3}=${MAKEFLAGS_LIB_CC}" \
98         "-DUSE_SDL2=ON" \
99         ${CMAKE_APPENDFLAG} \
100         ${CMAKE_LINKFLAG} \
101         .. | tee -a make.log
102         
103 mingw32-make clean
104 mingw32-make ${MAKEFLAGS_GENERAL} 2>&1 | tee -a ./make.log
105 #case $? in
106 #      0 ) 
107 #      cp ./qt/gui/libqt_gui.a ../../bin-win32/ 
108 #      cp ./qt/gui/*.lib ../../bin-win32/ 
109 #      cp ./qt/gui/*.dll ../../bin-win32/ 
110 #      ;;
111 #      * ) exit $? ;;
112 #esac
113 #make clean
114 cd ../..
115
116 for SRCDATA in $@ ; do\
117
118     mkdir -p ${SRCDATA}/build
119     cd ${SRCDATA}/build
120     
121     echo ${CMAKE_FLAGS1} ${CMAKE_FLAGS2}
122     ${CMAKE} -G "MinGW Makefiles" \
123              -D CMAKE_C_COMPILER:STRING=${CCMAKE_CC}  \
124              -D CMAKE_CXX_COMPILER:STRING=${CCMAKE_CXX} \
125              ${CMAKE_FLAGS1} \
126              "${CMAKE_FLAGS2}=${MAKEFLAGS_CXX}" \
127              "${CMAKE_FLAGS3}=${MAKEFLAGS_CC}" \
128              ${CMAKE_APPENDFLAG} \
129              ${CMAKE_LINKFLAG} \
130              .. | tee make.log
131
132     ${CMAKE} -D CMAKE_C_COMPILER:STRING=${CCMAKE_CC}  \
133              -D CMAKE_CXX_COMPILER:STRING=${CCMAKE_CXX} \
134              ${CMAKE_FLAGS1} \
135              "${CMAKE_FLAGS2}=${MAKEFLAGS_CXX}" \
136              "${CMAKE_FLAGS3}=${MAKEFLAGS_CC}" \
137              ${CMAKE_APPENDFLAG} \
138              ${CMAKE_LINKFLAG} \
139              .. | tee -a make.log
140
141     mingw32-make clean
142     
143     mingw32-make ${MAKEFLAGS_GENERAL} 2>&1 | tee -a ./make.log
144     case $? in
145       0 ) cp ./qt/common/*.exe ../../bin-win32/ ;;
146 #     0 ) sudo make install 2>&1 | tee -a ./make.log ;;
147       * ) exit $? ;;
148     esac
149     
150     mingw32-make clean
151     cd ../..
152 done
153
154 cd libCSPgui/build-win32
155 mingw32-make clean
156 cd ../..
157
158 cd libCSPosd/build-win32
159 mingw32-make clean
160 cd ../..
161
162 exit 0
163