Mercurial > minori
view dep/animia/CMakeLists.txt @ 155:d2bbb5773616
dep/animia: add quartz backend for windows
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Wed, 15 Nov 2023 15:24:39 -0500 |
parents | d43d68408d3c |
children | cdf79282d647 |
line wrap: on
line source
cmake_minimum_required(VERSION 3.9) project(animia LANGUAGES CXX) set(SRC_FILES # any non-platform-specific files go here src/animia.cc src/player.cc src/util.cc src/strategist.cc src/fd.cc src/win.cc ) set(LIBRARIES) # FD if(LINUX) list(APPEND SRC_FILES # linux src/fd/linux.cc ) elseif(APPLE) # this won't run on Linux list(APPEND SRC_FILES # xnu stuff src/fd/xnu.cc ) elseif(WIN32) list(APPEND SRC_FILES # win32 src/fd/win32.cc ) endif() # Windows if(WIN32) list(APPEND SRC_FILES src/win/win32.cc src/util/win32.cc ) elseif(APPLE) enable_language(OBJCXX) list(APPEND SRC_FILES src/win/quartz.mm ) find_library(FOUNDATION_LIBRARY Foundation) find_library(COREGRAPHICS_LIBRARY CoreGraphics) find_library(APPKIT_LIBRARY AppKit) list(APPEND LIBRARIES ${FOUNDATION_LIBRARY} ${COREGRAPHICS_LIBRARY} ${APPKIT_LIBRARY}) endif() add_library(animia SHARED ${SRC_FILES}) set_target_properties(animia PROPERTIES PUBLIC_HEADER include/animia.h CXX_STANDARD 17 ) if(WIN32) target_compile_definitions(animia PUBLIC WIN32) elseif(LINUX) target_compile_definitions(animia PUBLIC LINUX) elseif(UNIX) if(APPLE) target_compile_definitions(animia PUBLIC MACOSX) endif() target_compile_definitions(animia PUBLIC UNIX) endif() target_include_directories(animia PRIVATE include) target_link_libraries(animia PUBLIC ${LIBRARIES})