Skip to content

Commit 26ed6ba

Browse files
committed
Version 20260131
1 parent c91d0be commit 26ed6ba

15 files changed

Lines changed: 866 additions & 39270 deletions

File tree

.github/workflows/cmake-multi-platform.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ jobs:
5353
shell: bash
5454
run: |
5555
echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
56+
57+
- name: Install dependencies (Linux)
58+
if: matrix.os == 'ubuntu-latest'
59+
run: |
60+
sudo apt-get update
61+
sudo apt-get install -y libx11-dev libxpm-dev
5662
5763
- name: Configure CMake
5864
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.

CMakeLists.txt

Lines changed: 165 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
# Manually define WITHTESTS=true, if you want build test applications!
77
#
88
# (c)ISS UW, @author Wojciech Borkowski
9-
# @date 2026-01-29 (last update)
9+
# @date 2026-02-02 (last update)
1010
##################################################################################
1111

12-
project(symshelllight)
1312
cmake_minimum_required(VERSION 3.11)
13+
14+
project(symshelllight)
1415
set(CMAKE_CXX_STANDARD 11) # See: https://matgomes.com/setting-cpp-standard-cmake/
1516

1617
# Define WITHTESTS if you want build test applications!
@@ -36,53 +37,70 @@ include_directories("./INCL")
3637
#message("C++ compiler flags: ${CMAKE_CXX_FLAGS}")
3738

3839
if(true) # SVG SYMSHELL LIB
39-
add_library( wbsyshLightSVG STATIC
40-
"SVG/symshsvg.cpp"
41-
"UTILS/sshdefs.c"
42-
"UTILS/sshutils.cpp"
43-
"UTILS/strtorgb.cpp"
44-
"UTILS/wieloboki.cpp"
45-
"UTILS/wb_pchar.cpp" #used internally
46-
"UTILS/wb_rand.cpp"
47-
"UTILS/wb_randg.c"
48-
"UTILS/sshmenufdummy.c" #dummy functions of menus
49-
"SVG/errorent.c"
50-
)
51-
#target_compile_features(wbsyshSVG PUBLIC cxx_std_11)
40+
add_library( wbsyshLightSVG STATIC
41+
"SVG/symshsvg.cpp"
42+
"UTILS/sshdefs.c"
43+
"UTILS/sshutils.cpp"
44+
"UTILS/strtorgb.cpp"
45+
"UTILS/wieloboki.cpp"
46+
"UTILS/wb_pchar.cpp" #used internally
47+
"UTILS/wb_rand.cpp"
48+
"UTILS/wb_randg.c"
49+
"UTILS/sshmenufdummy.c" #dummy functions of menus
50+
"SVG/errorent.c"
51+
)
52+
#target_compile_features(wbsyshSVG PUBLIC cxx_std_11)
5253
endif()
5354

5455
if(X11) # only for X11 LIB
55-
add_definitions( -DHAVE_X11 -DUSE_X11 )
56-
add_library( wbsyshLight STATIC
57-
"X11/symshx11.c"
58-
"X11/wbx11ico.c"
59-
"UTILS/sshdefs.c"
60-
"UTILS/sshutils.cpp"
61-
"UTILS/strtorgb.cpp"
62-
"UTILS/wieloboki.cpp"
63-
"UTILS/wb_pchar.cpp"
64-
"UTILS/wb_rand.cpp"
65-
"UTILS/wb_randg.c"
66-
"UTILS/sshmenufdummy.c" #dummy functions of menus
67-
"X11/errorent.c"
68-
)
69-
#target_compile_features(wbsyshX11 PUBLIC cxx_std_11)
56+
# Szukanie X11 (podstawowa biblioteka)
57+
find_package(X11 REQUIRED)
58+
59+
# Szukanie Xpm (często jako komponent X11 lub osobny pakiet)
60+
# Uwaga: Xpm jest częścią pakietu X11 w CMake, ale wymaga jawnego wskazania
61+
find_package(X11 REQUIRED COMPONENTS Xpm)
62+
63+
if(X11_FOUND)
64+
include_directories(${X11_INCLUDE_DIR})
65+
# Dla Xpm (jeśli find_package go znalazło)
66+
if(X11_Xpm_FOUND)
67+
include_directories(${X11_Xpm_INCLUDE_DIR})
68+
endif()
69+
endif()
70+
71+
add_definitions( -DHAVE_X11 -DUSE_X11 )
72+
add_library( wbsyshLight STATIC
73+
"X11/symshx11.c"
74+
"X11/wbx11ico.c"
75+
"UTILS/sshdefs.c"
76+
"UTILS/sshutils.cpp"
77+
"UTILS/strtorgb.cpp"
78+
"UTILS/wieloboki.cpp"
79+
"UTILS/wb_pchar.cpp"
80+
"UTILS/wb_rand.cpp"
81+
"UTILS/wb_randg.c"
82+
"UTILS/sshmenufdummy.c" #dummy functions of menus
83+
"X11/errorent.c"
84+
)
85+
86+
#target_compile_features(wbsyshX11 PUBLIC cxx_std_11)
7087
endif(X11)
7188

7289
if(WINDOWS) # only for WINDOWS - NOT TESTED IN THIS VERSION (after 2016)
73-
add_library( wbsyshLight STATIC
74-
"WIN/symshwin.c"
75-
"UTILS/sshutils.cpp"
76-
"UTILS/strtorgb.cpp"
77-
"UTILS/wieloboki.cpp"
78-
"UTILS/wb_pchar.cpp"
79-
"UTILS/wb_rand.cpp"
80-
"UTILS/wb_randg.c"
81-
"WIN/sshmenufwin.c"
82-
#"UTILS/sshmenufdummy.c" #dummy functions of menus
83-
"WIN/errorent.c"
84-
)
85-
#target_compile_features(wbsyshWIN PUBLIC cxx_std_11)
90+
add_library( wbsyshLight STATIC
91+
"WIN/symshwin.c"
92+
"UTILS/sshutils.cpp"
93+
"UTILS/strtorgb.cpp"
94+
"UTILS/wieloboki.cpp"
95+
"UTILS/wb_pchar.cpp"
96+
"UTILS/wb_rand.cpp"
97+
"UTILS/wb_randg.c"
98+
"WIN/sshmenufwin.c"
99+
#"UTILS/sshmenufdummy.c" #dummy functions of menus
100+
"WIN/errorent.c"
101+
)
102+
103+
#target_compile_features(wbsyshWIN PUBLIC cxx_std_11)
86104
endif(WINDOWS)
87105

88106

@@ -91,121 +109,122 @@ endif(WINDOWS)
91109
#######################
92110

93111
if(X11 AND WITHTESTS ) #X11 tests
94-
add_executable("TestmousX11" "EXAMPLES/Testmous.cpp" )
95-
add_executable("TestpaleX11" "EXAMPLES/Testpale.cpp" )
96-
add_executable("TestpolyX11" "EXAMPLES/Testpoly.cpp" )
97-
add_executable("TestrandX11"
98-
"EXAMPLES/Testrand.cpp"
99-
"UTILS/wb_randg.c"
100-
"UTILS/wb_rand.cpp"
101-
)
102-
add_executable("TestsymsX11" "EXAMPLES/Testsyms.cpp" )
103-
add_executable("TestsyshX11" "EXAMPLES/Testsysh.cpp" )
104-
add_executable("TurmitX11" "EXAMPLES/Turmit.cpp" )
105-
add_executable("CAGasX11" "EXAMPLES/CAGas.cpp" )
106-
107-
target_link_libraries("TestmousX11" wbsyshLight X11 Xpm rt)
108-
target_link_libraries("TestpaleX11" wbsyshLight X11 Xpm rt)
109-
target_link_libraries("TestpolyX11" wbsyshLight X11 Xpm rt)
110-
target_link_libraries("TestrandX11" wbsyshLight X11 Xpm rt)
111-
target_link_libraries("TestsymsX11" wbsyshLight X11 Xpm rt)
112-
target_link_libraries("TestsyshX11" wbsyshLight X11 Xpm rt)
113-
target_link_libraries("TurmitX11" wbsyshLight X11 Xpm rt)
114-
target_link_libraries("CAGasX11" wbsyshLight X11 Xpm pthread rt)
115-
116-
#add_executable("LinktestX11" "EXAMPLES/Linktest.cpp" )
117-
#target_link_libraries("LinktestX11" wbsyshX11 X11 Xpm rt)
112+
add_executable("TestmousX11" "EXAMPLES/Testmous.cpp" )
113+
add_executable("TestpaleX11" "EXAMPLES/Testpale.cpp" )
114+
add_executable("TestpolyX11" "EXAMPLES/Testpoly.cpp" )
115+
add_executable("TestrandX11"
116+
"EXAMPLES/Testrand.cpp"
117+
"UTILS/wb_randg.c"
118+
"UTILS/wb_rand.cpp"
119+
)
120+
add_executable("TestsymsX11" "EXAMPLES/Testsyms.cpp" )
121+
add_executable("TestsyshX11" "EXAMPLES/Testsysh.cpp" )
122+
add_executable("TurmitX11" "EXAMPLES/Turmit.cpp" )
123+
add_executable("CAGasX11" "EXAMPLES/CAGas.cpp" )
124+
125+
target_link_libraries("TestmousX11" wbsyshLight X11 Xpm rt)
126+
target_link_libraries("TestpaleX11" wbsyshLight X11 Xpm rt)
127+
target_link_libraries("TestpolyX11" wbsyshLight X11 Xpm rt)
128+
target_link_libraries("TestrandX11" wbsyshLight X11 Xpm rt)
129+
target_link_libraries("TestsymsX11" wbsyshLight X11 Xpm rt)
130+
target_link_libraries("TestsyshX11" wbsyshLight X11 Xpm rt)
131+
target_link_libraries("TurmitX11" wbsyshLight X11 Xpm rt)
132+
target_link_libraries("CAGasX11" wbsyshLight X11 Xpm pthread rt)
133+
134+
#add_executable("LinktestX11" "EXAMPLES/Linktest.cpp" )
135+
#target_link_libraries("LinktestX11" wbsyshX11 X11 Xpm rt)
118136
endif()
119137

120138
if( WINDOWS AND WITHTESTS ) #X11 tests
121-
add_executable("TestmousWIN"
122-
"EXAMPLES/Testmous.cpp"
123-
)
124-
add_executable("TestpaleWIN"
125-
"EXAMPLES/Testpale.cpp"
126-
)
127-
add_executable("TestpolyWIN"
128-
"EXAMPLES/Testpoly.cpp"
129-
)
130-
add_executable("TestrandWIN"
131-
"EXAMPLES/Testrand.cpp"
132-
"UTILS/wb_randg.c"
133-
"UTILS/wb_rand.cpp"
134-
)
135-
add_executable("TestsymsWIN"
136-
"EXAMPLES/Testsyms.cpp"
137-
)
138-
add_executable("TestsyshWIN"
139-
"EXAMPLES/Testsysh.cpp"
140-
)
141-
add_executable("TurmitWIN"
142-
"EXAMPLES/Turmit.cpp"
143-
)
144-
add_executable("CAGasWIN"
145-
"EXAMPLES/CAGas.cpp"
146-
)
147-
148-
target_link_libraries("TestmousWIN" wbsyshLight )
149-
target_link_libraries("TestpaleWIN" wbsyshLight )
150-
target_link_libraries("TestpolyWIN" wbsyshLight )
151-
target_link_libraries("TestrandWIN" wbsyshLight )
152-
target_link_libraries("TestsymsWIN" wbsyshLight )
153-
target_link_libraries("TestsyshWIN" wbsyshLight )
154-
target_link_libraries("TurmitWIN" wbsyshLight )
155-
target_link_libraries("CAGasWIN" wbsyshLight )
156-
157-
add_executable("LinktestWIN" "EXAMPLES/Linktest.cpp" )
158-
target_link_libraries("LinktestWIN" wbsyshLight )
159-
endif()
160-
161-
162-
if(WITHTESTS) #SVG tests
163-
add_executable("TestmousSVG" "EXAMPLES/Testmous.cpp" )
164-
add_executable("TestpaleSVG" "EXAMPLES/Testpale.cpp" )
165-
add_executable("TestpolySVG" "EXAMPLES/Testpoly.cpp" )
166-
add_executable("TestrandSVG"
139+
add_executable("TestmousWIN"
140+
"EXAMPLES/Testmous.cpp"
141+
)
142+
add_executable("TestpaleWIN"
143+
"EXAMPLES/Testpale.cpp"
144+
)
145+
add_executable("TestpolyWIN"
146+
"EXAMPLES/Testpoly.cpp"
147+
)
148+
add_executable("TestrandWIN"
167149
"EXAMPLES/Testrand.cpp"
168150
"UTILS/wb_randg.c"
169151
"UTILS/wb_rand.cpp"
170-
)
171-
add_executable("TestsymsSVG" "EXAMPLES/Testsyms.cpp" )
172-
add_executable("TestsyshSVG" "EXAMPLES/Testsysh.cpp" )
173-
add_executable("TurmitSVG" "EXAMPLES/Turmit.cpp" )
174-
add_executable("CAGasSVG" "EXAMPLES/CAGas.cpp" )
175-
176-
if( WINDOWS )
177-
target_link_libraries("TestmousSVG" wbsyshLightSVG )
178-
target_link_libraries("TestpaleSVG" wbsyshLightSVG )
179-
target_link_libraries("TestpolySVG" wbsyshLightSVG )
180-
target_link_libraries("TestrandSVG" wbsyshLightSVG )
181-
target_link_libraries("TestsymsSVG" wbsyshLightSVG )
182-
target_link_libraries("TestsyshSVG" wbsyshLightSVG )
183-
target_link_libraries("TurmitSVG" wbsyshLightSVG )
184-
target_link_libraries("CAGasSVG" wbsyshLightSVG )
185-
186-
add_executable("LinktestSVG"
187-
"EXAMPLES/Linktest.cpp"
188152
)
189-
190-
target_link_libraries("LinktestSVG" wbsyshLightSVG )
191-
else()
192-
target_link_libraries("TestmousSVG" wbsyshLightSVG rt)
193-
target_link_libraries("TestpaleSVG" wbsyshLightSVG rt)
194-
target_link_libraries("TestpolySVG" wbsyshLightSVG rt)
195-
target_link_libraries("TestrandSVG" wbsyshLightSVG rt)
196-
target_link_libraries("TestsymsSVG" wbsyshLightSVG rt)
197-
target_link_libraries("TestsyshSVG" wbsyshLightSVG rt)
198-
target_link_libraries("TurmitSVG" wbsyshLightSVG rt)
199-
target_link_libraries("CAGasSVG" wbsyshLightSVG pthread rt)
200-
201-
add_executable("LinktestSVG"
202-
"EXAMPLES/Linktest.cpp"
153+
add_executable("TestsymsWIN"
154+
"EXAMPLES/Testsyms.cpp"
155+
)
156+
add_executable("TestsyshWIN"
157+
"EXAMPLES/Testsysh.cpp"
158+
)
159+
add_executable("TurmitWIN"
160+
"EXAMPLES/Turmit.cpp"
161+
)
162+
add_executable("CAGasWIN"
163+
"EXAMPLES/CAGas.cpp"
203164
)
204165

205-
target_link_libraries("LinktestSVG" wbsyshLightSVG rt )
166+
target_link_libraries("TestmousWIN" wbsyshLight )
167+
target_link_libraries("TestpaleWIN" wbsyshLight )
168+
target_link_libraries("TestpolyWIN" wbsyshLight )
169+
target_link_libraries("TestrandWIN" wbsyshLight )
170+
target_link_libraries("TestsymsWIN" wbsyshLight )
171+
target_link_libraries("TestsyshWIN" wbsyshLight )
172+
target_link_libraries("TurmitWIN" wbsyshLight )
173+
target_link_libraries("CAGasWIN" wbsyshLight )
174+
175+
add_executable("LinktestWIN" "EXAMPLES/Linktest.cpp" )
176+
target_link_libraries("LinktestWIN" wbsyshLight )
206177
endif()
207178

179+
180+
if(WITHTESTS) #SVG tests
181+
add_executable("TestmousSVG" "EXAMPLES/Testmous.cpp" )
182+
add_executable("TestpaleSVG" "EXAMPLES/Testpale.cpp" )
183+
add_executable("TestpolySVG" "EXAMPLES/Testpoly.cpp" )
184+
add_executable("TestrandSVG"
185+
"EXAMPLES/Testrand.cpp"
186+
"UTILS/wb_randg.c"
187+
"UTILS/wb_rand.cpp"
188+
)
189+
add_executable("TestsymsSVG" "EXAMPLES/Testsyms.cpp" )
190+
add_executable("TestsyshSVG" "EXAMPLES/Testsysh.cpp" )
191+
add_executable("TurmitSVG" "EXAMPLES/Turmit.cpp" )
192+
add_executable("CAGasSVG" "EXAMPLES/CAGas.cpp" )
193+
194+
if( WINDOWS )
195+
target_link_libraries("TestmousSVG" wbsyshLightSVG )
196+
target_link_libraries("TestpaleSVG" wbsyshLightSVG )
197+
target_link_libraries("TestpolySVG" wbsyshLightSVG )
198+
target_link_libraries("TestrandSVG" wbsyshLightSVG )
199+
target_link_libraries("TestsymsSVG" wbsyshLightSVG )
200+
target_link_libraries("TestsyshSVG" wbsyshLightSVG )
201+
target_link_libraries("TurmitSVG" wbsyshLightSVG )
202+
target_link_libraries("CAGasSVG" wbsyshLightSVG )
203+
204+
add_executable("LinktestSVG"
205+
"EXAMPLES/Linktest.cpp"
206+
)
207+
208+
target_link_libraries("LinktestSVG" wbsyshLightSVG )
209+
else()
210+
target_link_libraries("TestmousSVG" wbsyshLightSVG rt)
211+
target_link_libraries("TestpaleSVG" wbsyshLightSVG rt)
212+
target_link_libraries("TestpolySVG" wbsyshLightSVG rt)
213+
target_link_libraries("TestrandSVG" wbsyshLightSVG rt)
214+
target_link_libraries("TestsymsSVG" wbsyshLightSVG rt)
215+
target_link_libraries("TestsyshSVG" wbsyshLightSVG rt)
216+
target_link_libraries("TurmitSVG" wbsyshLightSVG rt)
217+
target_link_libraries("CAGasSVG" wbsyshLightSVG pthread rt)
218+
219+
add_executable("LinktestSVG"
220+
"EXAMPLES/Linktest.cpp"
221+
)
222+
223+
target_link_libraries("LinktestSVG" wbsyshLightSVG rt )
224+
endif()
225+
208226
endif()
227+
209228
#KONIEC - THE END
210229
#********************************************************************/
211230
#* SYMSHELLLIGHT version 2026 */

0 commit comments

Comments
 (0)