-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
72 lines (61 loc) · 2.1 KB
/
CMakeLists.txt
File metadata and controls
72 lines (61 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
cmake_minimum_required(VERSION 3.21)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "iOS" OR IOS)
set(CMAKE_OSX_ARCHITECTURES "arm64")
else()
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64")
endif()
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
project(Allium VERSION 1.0.8)
add_library(${PROJECT_NAME} SHARED
src/main.cpp
src/data/Geometry.cpp
src/hooks/EditorUI.cpp
src/manager/BrushManager.cpp
src/ui/AlliumButtonBar.cpp
src/ui/SupportPopup.cpp
src/ui/MenuItemTogglerExtra.cpp
src/util/BrushDrawer.cpp
src/util/CurveBrushDrawer.cpp
src/util/DrawNodeExtension.cpp
src/util/FreeBrushDrawer.cpp
src/util/LineBrushDrawer.cpp
src/util/PolygonBrushDrawer.cpp
src/util/TextBrushDrawer.cpp
src/util/converter/BaseConverter.cpp
src/util/converter/PolylineConverter.cpp
src/util/converter/TriangulatorConverter.cpp
src/util/converter/ParallelogratorConverter.cpp
)
target_include_directories(${PROJECT_NAME} PUBLIC
include
)
target_include_directories(${PROJECT_NAME} PRIVATE
include/Allium
third_party
)
if (NOT DEFINED ENV{GEODE_SDK})
message(FATAL_ERROR "Unable to find Geode SDK! Please define GEODE_SDK environment variable to point to Geode")
else()
message(STATUS "Found Geode: $ENV{GEODE_SDK}")
endif()
add_subdirectory($ENV{GEODE_SDK} ${CMAKE_CURRENT_BINARY_DIR}/geode)
CPMAddPackage(
GITHUB_REPOSITORY "jhasse/poly2tri"
GIT_TAG "13d64e7"
)
CPMAddPackage(
NAME Boost
VERSION 1.88.0 # Versions less than 1.85.0 may need patches for installation targets.
URL https://github.com/boostorg/boost/releases/download/boost-1.88.0/boost-1.88.0-cmake.tar.gz
OPTIONS "BOOST_ENABLE_CMAKE ON" "BOOST_SKIP_INSTALL_RULES ON" # Set `OFF` for installation
"BUILD_SHARED_LIBS OFF" "BOOST_INCLUDE_LIBRARIES geometry" # Note the escapes!
)
target_link_libraries(${PROJECT_NAME}
poly2tri Boost::geometry
)
# Set up dependencies, resources, and link Geode.
setup_geode_mod(${PROJECT_NAME})
add_subdirectory(third_party/agg-2.6)
target_link_libraries(${PROJECT_NAME} Agg-2.6)