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)
1312cmake_minimum_required (VERSION 3.11 )
13+
14+ project (symshelllight)
1415set (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
3839if (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)
5253endif ()
5354
5455if (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)
7087endif (X11 )
7188
7289if (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)
86104endif (WINDOWS )
87105
88106
@@ -91,121 +109,122 @@ endif(WINDOWS)
91109#######################
92110
93111if (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)
118136endif ()
119137
120138if ( 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 )
206177endif ()
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+
208226endif ()
227+
209228#KONIEC - THE END
210229#********************************************************************/
211230#* SYMSHELLLIGHT version 2026 */
0 commit comments