1111
1212env :
1313 LINUX_QTDIR : /home/alex/tmp/investigate/5.15.2/build/qt-5.12.2-patched-qt-ns
14+ LINUX_QTDIR_QT6 : /home/alex/tmp/6.8.2-ubuntu2004_amd64-qt-ns
1415 MACOS_QTDIR : /Users/Shared/Qt/5.15.2-arm64
1516 MACOS_QTDIR_QT6 : /Users/Shared/Qt/6.8.2-arm64-qt-ns
1617
3839 - name : Checkout code
3940 uses : actions/checkout@v3
4041
41- # - name: Restore VS Toolset Cache
42- # if: runner.os == 'Windows'
43- # uses: actions/cache@v3
44- # with:
45- # path: C:\Program Files (x86)\Microsoft Visual Studio
46- # key: vs-toolset-v140
4742
4843 - name : Set outputs Non-Windows
4944 if : runner.os != 'Windows'
@@ -77,13 +72,14 @@ jobs:
7772 echo "ROOT_DIR=$(dirname `pwd`)" >> $GITHUB_ENV
7873 echo "QT_DIR=${LINUX_QTDIR}" >> $GITHUB_ENV
7974 echo "QMAKE=${LINUX_QTDIR}/bin/qmake" >> $GITHUB_ENV
75+ echo "QMAKE_QT6=${LINUX_QTDIR_QT6}/bin/qmake" >> $GITHUB_ENV
8076 echo "PROTOBUF_PREFIX=$(pwd)/3rdparty/protobuf-3.20.3/dist" >> $GITHUB_ENV
8177 sudo apt-get install -y build-essential curl cmake libgl1-mesa-dev libfontconfig1-dev libdbus-1-dev \
8278 libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev \
8379 libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev \
8480 libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev
85- sudo mkdir -p "$(dirname ${LINUX_QTDIR})"
86- sudo chown $USER: "$(dirname ${LINUX_QTDIR})"
81+ sudo mkdir -p "$(dirname ${LINUX_QTDIR})" "${{ env.LINUX_QTDIR_QT6 }}"
82+ sudo chown $USER: "$(dirname ${LINUX_QTDIR})" "${{ env.LINUX_QTDIR_QT6 }}"
8783
8884 - name : Set up MacOS environment
8985 if : runner.os == 'macOS'
@@ -96,26 +92,44 @@ jobs:
9692 sudo mkdir -p "$(dirname ${MACOS_QTDIR})"
9793 sudo chown $USER: "$(dirname ${MACOS_QTDIR})"
9894
99- - name : Linux Qt Cache
95+ - name : Linux Qt5 Cache
10096 if : runner.os == 'Linux'
10197 uses : actions/cache@v3
102- id : linux_qt_cache
98+ id : linux_qt5_cache
10399 with :
104100 # maybe we should use some env var for root path?
105- path : ${{ env.QT_DIR }}
106- key : linux-qt-patched3
101+ path : ${{ env.LINUX_QTDIR }}
102+ key : linux-qt-patched-5
103+
104+ - name : Linux Qt6 Cache
105+ if : runner.os == 'Linux'
106+ uses : actions/cache@v3
107+ id : linux_qt6_cache
108+ with :
109+ # maybe we should use some env var for root path?
110+ path : ${{ env.LINUX_QTDIR_QT6 }}
111+ key : linux-qt-patched-6
107112
108113 - name : MacOS Qt Cache
109114 if : runner.os == 'Linux'
110115 uses : actions/cache@v3
111- id : macos_arm64_qt_cache
116+ id : macos_arm64_qt5_cache
112117 with :
113118 # maybe we should use some env var for root path?
114- path : ${{ env.QT_DIR }}
115- key : macos-qt-patched
116-
117- - name : Linux, Set up Qt
118- if : runner.os == 'Linux' && steps.linux_qt_cache.outputs.cache-hit != 'true'
119+ path : ${{ env.MACOS_QTDIR }}
120+ key : macos-qt-patched-5
121+
122+ - name : MacOS Qt Cache
123+ if : runner.os == 'Linux'
124+ uses : actions/cache@v3
125+ id : macos_arm64_qt6_cache
126+ with :
127+ # maybe we should use some env var for root path?
128+ path : ${{ env.MACOS_QTDIR_QT6 }}
129+ key : macos-qt-patched-6
130+
131+ - name : Linux, Set up Qt5
132+ if : runner.os == 'Linux' && steps.linux_qt5_cache.outputs.cache-hit != 'true'
119133 run : |
120134 sudo mkdir -p "${{ env.QT_DIR }}"
121135 sudo chown $USER: "${{ env.QT_DIR }}"
@@ -134,24 +148,45 @@ jobs:
134148 #make install
135149 popd
136150 "${{ env.QMAKE }}" -query
151+
152+ - name : Linux, Set up Qt6
153+ if : runner.os == 'Linux' && steps.linux_qt6_cache.outputs.cache-hit != 'true'
154+ run : |
155+ # build command line:
156+ sudo mkdir -p "${{ env.QT_DIR }}"
157+ sudo chown $USER: "${{ env.QT_DIR }}"
158+ pushd "${{ env.LINUX_QTDIR_QT6 }}"
159+ curl -L 'https://github.com/a1ext/depz/raw/refs/heads/master/6.8.2-ubuntu2004_amd64-qt-ns.tar.gz?download=' -o 6.8.2-ubuntu2004_amd64-qt-ns.tar.gz
160+ tar xf 6.8.2-ubuntu2004_amd64-qt-ns.tar.gz && rm -f 6.8.2-ubuntu2004_amd64-qt-ns.tar.gz
161+ ls -la
162+ popd
163+ "${{ env.QMAKE_QT6 }}" -query
137164
138- - name : MacOS, Set up Qt
139- if : runner.os == 'macOS' && steps.macos_arm64_qt_cache .outputs.cache-hit != 'true'
165+ - name : MacOS, Set up Qt5
166+ if : runner.os == 'macOS' && steps.macos_arm64_qt5_cache .outputs.cache-hit != 'true'
140167 run : |
141- sudo mkdir -p "${{ env.QT_DIR }}" "${{ env.MACOS_QTDIR_QT6 }}"
142- sudo chown $USER: "${{ env.QT_DIR }}" "${{ env.MACOS_QTDIR_QT6 }}"
168+ sudo mkdir -p "${{ env.QT_DIR }}"
169+ sudo chown $USER: "${{ env.QT_DIR }}"
143170
144171 pushd "${{ env.QT_DIR }}"
145172 curl -L 'https://github.com/a1ext/depz/raw/refs/heads/master/Qt-5.15.2-arm64.tar.gz?download=' -o Qt-5.15.2-arm64.tar.gz
146173 tar xf Qt-5.15.2-arm64.tar.gz && rm -f Qt-5.15.2-arm64.tar.gz
147174 ls -la
148175 popd
176+
177+ "${{ env.QMAKE }}" -query
178+
179+ - name : MacOS, Set up Qt6
180+ if : runner.os == 'macOS' && steps.macos_arm64_qt6_cache.outputs.cache-hit != 'true'
181+ run : |
182+ sudo mkdir -p "${{ env.MACOS_QTDIR_QT6 }}"
183+ sudo chown $USER: "${{ env.MACOS_QTDIR_QT6 }}"
184+
149185 pushd "${{ env.MACOS_QTDIR_QT6 }}"
150186 curl -L 'https://github.com/a1ext/depz/raw/refs/heads/master/Qt-6.8.2-arm64-qt-ns.tar.gz?download=' -o Qt-6.8.2-arm64-qt-ns.tar.gz
151187 tar xf Qt-6.8.2-arm64-qt-ns.tar.gz && rm -f Qt-6.8.2-arm64-qt-ns.tar.gz
152188 ls -la
153189 popd
154- "${{ env.QMAKE }}" -query
155190 "${{ env.QMAKE_QT6 }}" -query
156191
157192 - name : Linux, protobuf cache
@@ -201,7 +236,7 @@ jobs:
201236 run : |
202237 curl https://github.com/a1ext/depz/raw/master/depz.7z -L -o ./depz.7z
203238 7z x "-p${{ env.LL_DEPS_P }}" ./depz.7z
204- ln -s "$(pwd)/depz/idasdk90sp1 " "$(dirname `pwd`)/idasdk92"
239+ ln -s "$(pwd)/depz/idasdk92 " "$(dirname `pwd`)/idasdk92"
205240 ln -s "$(pwd)/depz/idasdk90sp1" "$(dirname `pwd`)/idasdk90sp1"
206241 ln -s "$(pwd)/depz/idasdk_pro83" "$(dirname `pwd`)/idasdk_pro83"
207242 ln -s "$(pwd)/depz/idasdk70" "$(dirname `pwd`)/idasdk70"
@@ -253,7 +288,7 @@ jobs:
253288 make -j$(nproc)
254289
255290
256- - name : Linux, build IDA 9 plugin
291+ - name : Linux, build IDA 9.0 plugin
257292 if : runner.os == 'Linux'
258293 env :
259294 SDK_PATH : ${{ github.workspace }}/../idasdk90sp1
@@ -265,6 +300,19 @@ jobs:
265300 make qmake_all
266301 make clean
267302 make -j$(nproc)
303+
304+ - name : Linux, build IDA 9.2 plugin
305+ if : runner.os == 'Linux'
306+ env :
307+ SDK_PATH : ${{ github.workspace }}/../idasdk92
308+ IDA_PATH : ${{ github.workspace }}/build
309+ run : |
310+ cd ./build
311+ mkdir -p plugins
312+ SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec linux-g++-64 CONFIG+=release CONFIG+=labeless_ida_92 CONFIG+=ea64
313+ make qmake_all
314+ make clean
315+ make -j$(nproc)
268316
269317 - name : MacOS, build IDA 8 plugin
270318 if : runner.os == 'macOS'
0 commit comments