2025-12-19 00:58:00 +09:00
|
|
|
cmake_minimum_required(VERSION 3.11)
|
|
|
|
|
project(assaultfish)
|
|
|
|
|
|
|
|
|
|
include(GNUInstallDirs)
|
|
|
|
|
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
|
|
|
|
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
|
|
|
|
2025-12-19 01:06:58 +09:00
|
|
|
add_subdirectory(external/libfishsoup)
|
|
|
|
|
add_subdirectory(external/milsko)
|
2025-12-19 02:38:21 +09:00
|
|
|
add_subdirectory(external/glad)
|
2025-12-19 00:58:00 +09:00
|
|
|
|
2025-12-20 12:11:57 +09:00
|
|
|
file(GLOB SERVER_SRC server/*.c src/*.c)
|
|
|
|
|
file(GLOB CLIENT_SRC client/*.c src/*.c)
|
2025-12-19 00:58:00 +09:00
|
|
|
|
2025-12-20 12:11:57 +09:00
|
|
|
add_executable(af_server ${SERVER_SRC} external/stb/stb_ds.c)
|
2025-12-19 23:19:47 +09:00
|
|
|
add_executable(af_client ${CLIENT_SRC} external/stb/stb_image.c)
|
2025-12-19 15:18:15 +09:00
|
|
|
add_executable(af_dumpfont tools/af_dumpfont.c external/stb/stb_image_write.c)
|
2025-12-19 00:58:00 +09:00
|
|
|
|
2025-12-19 15:18:15 +09:00
|
|
|
target_include_directories(af_server PRIVATE include external/stb ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
target_include_directories(af_client PRIVATE include external/stb ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
target_include_directories(af_dumpfont PRIVATE include external/stb ${CMAKE_CURRENT_BINARY_DIR})
|
2025-12-19 00:58:00 +09:00
|
|
|
|
2025-12-19 02:38:21 +09:00
|
|
|
target_compile_definitions(af_server PRIVATE AF_SERVER)
|
|
|
|
|
target_compile_definitions(af_client PRIVATE AF_CLIENT)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(af_server PRIVATE fishsoup)
|
|
|
|
|
target_link_libraries(af_client PRIVATE fishsoup Mw glad)
|
2025-12-19 00:58:00 +09:00
|
|
|
|
2025-12-19 15:18:15 +09:00
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
|
|
|
target_link_libraries(af_client PRIVATE glu32)
|
|
|
|
|
else()
|
|
|
|
|
find_package(PkgConfig)
|
|
|
|
|
pkg_check_modules(GLU REQUIRED glu)
|
|
|
|
|
target_compile_options(af_client PRIVATE ${GLU_CFLAGS_OTHER})
|
|
|
|
|
target_include_directories(af_client PRIVATE ${GLU_INCLUDE_DIRS})
|
|
|
|
|
target_link_options(af_client PRIVATE ${GLU_LDFLAGS_OTHER})
|
|
|
|
|
target_link_directories(af_client PRIVATE ${GLU_LIBRARY_DIRS})
|
|
|
|
|
target_link_libraries(af_client PRIVATE ${GLU_LIBRARIES} m)
|
|
|
|
|
endif()
|
|
|
|
|
|
2025-12-19 08:52:48 +09:00
|
|
|
configure_file(include/af_config.h.in af_config.h)
|
|
|
|
|
|
2025-12-19 00:58:00 +09:00
|
|
|
install(
|
2025-12-19 15:18:15 +09:00
|
|
|
TARGETS af_server af_client af_dumpfont
|
2025-12-19 02:38:21 +09:00
|
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
|
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
2025-12-19 00:58:00 +09:00
|
|
|
)
|
2025-12-19 08:52:48 +09:00
|
|
|
|
|
|
|
|
install(
|
2026-01-05 18:40:10 +09:00
|
|
|
FILES resource/logo.png resource/font.png resource/shadow.vs resource/shadow.fs
|
2025-12-19 08:52:48 +09:00
|
|
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/assaultfish
|
|
|
|
|
)
|