cmake_minimum_required(VERSION 3.25) project(tictactoe) set(STDCPP_LIB stdc++ -static) set(PATH_ALLEGRO_STATIC "" CACHE PATH "Path to allegro static libs") set(PATH_DEPS_STATIC "" CACHE PATH "Path to dependencies static libs") add_library(allegro STATIC IMPORTED) set_property(TARGET allegro PROPERTY IMPORTED_LOCATION "${PATH_ALLEGRO_STATIC}/liballegro-static.a") add_library(allegro_primitives STATIC IMPORTED) set_property(TARGET allegro_primitives PROPERTY IMPORTED_LOCATION "${PATH_ALLEGRO_STATIC}/liballegro_primitives-static.a") add_library(allegro_dialog STATIC IMPORTED) set_property(TARGET allegro_dialog PROPERTY IMPORTED_LOCATION "${PATH_ALLEGRO_STATIC}/liballegro_dialog-static.a") add_library(allegro_image STATIC IMPORTED) set_property(TARGET allegro_image PROPERTY IMPORTED_LOCATION "${PATH_ALLEGRO_STATIC}/liballegro_image-static.a") add_library(allegro_font STATIC IMPORTED) add_library(jpeg STATIC IMPORTED) set_property(TARGET jpeg PROPERTY IMPORTED_LOCATION "${PATH_DEPS_STATIC}/libjpeg.a") add_library(png16 STATIC IMPORTED) set_property(TARGET png16 PROPERTY IMPORTED_LOCATION "${PATH_DEPS_STATIC}/libpng16.a") add_library(webp STATIC IMPORTED) set_property(TARGET webp PROPERTY IMPORTED_LOCATION "${PATH_DEPS_STATIC}/libwebp.a") add_library(zlib STATIC IMPORTED) set_property(TARGET zlib PROPERTY IMPORTED_LOCATION "${PATH_DEPS_STATIC}/libzlib.a") set(SRC_GAME ai.cpp main.cpp map.cpp parse_args.cpp version.cpp) set(ALLEGRO_LIB allegro) set(ALLEGRO_PRIMITIVES_LIB allegro_primitives) set(ALLEGRO_DIALOG_LIB allegro_dialog) set(ALLEGRO_IMAGE_LIB allegro_image) find_library(WINMM_LIB winmm) find_library(OPENGL32_LIB opengl32) find_library(SHLWAPI_LIB shlwapi) set(PNG16_LIB png16) set(JPEG_LIB jpeg) set(WEBP_LIB webp) set(Z_LIB zlib) add_executable(${PROJECT_NAME} WIN32 ${SRC_GAME}) target_link_libraries(${PROJECT_NAME} ${ALLEGRO_PRIMITIVES_LIB} ${ALLEGRO_DIALOG_LIB} ${ALLEGRO_IMAGE_LIB} ${ALLEGRO_LIB} ${JPEG_LIB} ${WEBP_LIB} ${PNG16_LIB} ${WINMM_LIB} ${OPENGL32_LIB} ${SHLWAPI_LIB} ${STDCPP_LIB} ${Z_LIB})