cmake_minimum_required(VERSION 3.28) # Define the project project(SZS C) # Dependencies find_package(Curses REQUIRED) find_package(OpenSSL REQUIRED) find_package(PNG REQUIRED) # Create the library add_library(SZS SHARED external/project/dclib/dclib-basics.c external/project/dclib/dclib-tables.c external/project/dclib/dclib-numeric.c external/project/dclib/dclib-color.c external/project/dclib/dclib-file.c external/project/dclib/dclib-debug.c external/project/dclib/dclib-xdump.c external/project/dclib/dclib-utf8.c external/project/dclib/lib-dol.c external/project/dclib/dclib-ui.c external/project/src/lib-std.c external/project/src/db-file.c external/project/src/db-mkw.c external/project/src/lib-szs.c external/project/src/file-type.c external/project/src/lib-pack.c external/project/src/lib-file.c external/project/src/lib-breff.c external/project/src/lib-rarc.c external/project/src/lib-brres.c external/project/src/lib-checksum.c external/project/src/lib-rkc.c external/project/src/lib-bzip2.c external/project/src/lib-lzma.c external/project/src/libbz2/bzlib.c external/project/src/libbz2/crctable.c external/project/src/libbz2/randtable.c external/project/src/liblzma/LzmaEnc.c external/project/src/liblzma/LzmaDec.c external/project/dclib/dclib-parser.c external/project/dclib/lib-bmg.c external/project/dclib/dclib-regex.c external/project/dclib/dclib-shift-jis.c external/project/src/liblzma/LzFind.c external/project/src/liblzma/CpuArch.c external/project/src/lib-object.c external/project/src/db-object.c external/project/src/libbz2/decompress.c external/project/src/libbz2/huffman.c external/project/src/lib-numeric.c external/project/src/lib-objflow.c external/project/src/lib-parser.c external/project/src/lib-parser-func.c external/project/dclib/lib-mkw.c external/project/dclib/dclib-vector.c external/project/src/lib-common.c external/project/src/libbz2/compress.c external/project/src/libbz2/blocksort.c external/project/src/lib-geohit.c external/project/src/crypto/sha1_one.c external/project/src/lib-lecode.c external/project/src/lib-ledis.c external/project/src/lib-ctcode.c external/project/src/db-ctcode.c external/project/src/lib-xbmg.c external/project/src/lib-analyze.c external/project/src/lib-lex.c external/project/src/lib-szs-create.c external/project/src/lib-kcl.c external/project/src/lib-transform.c external/project/src/lib-kmp.c external/project/src/db-kcl.c external/project/src/lib-pat.c external/project/src/lib-mdl.c external/project/src/lib-image3.c external/project/src/lib-image2.c external/project/src/lib-image1.c external/project/src/lib-kmp-pflags.c external/project/src/lib-kmp-text.c external/project/src/lib-kmp-draw.c external/project/src/analyze.c source/szs/szs.c source/bmg/bmg.c source/bmg/bmg.h ) # Include additional directories target_include_directories(SZS PRIVATE # Libraries ${CURSES_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR} ${PNG_INCLUDE_DIRS} # Local external/project external/project/dclib external/project/src external/project/src/libbz2 external/project/src/liblzma external/project/src/ui external/project/src/crypto ) # Link with additional libraries target_link_libraries(SZS PRIVATE # External Libraries ${CURSES_LIBRARIES} ${OPENSSL_LIBRARIES} ${PNG_LIBRARY} ) target_compile_definitions(SZS PRIVATE # Library arguments BUILD_SZS # Original Wiimm's arguments Z7_ST=1 USE_SHA_LIB=1 DCLIB_DEBUG_C )