-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
54 lines (44 loc) · 1.56 KB
/
CMakeLists.txt
File metadata and controls
54 lines (44 loc) · 1.56 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
cmake_minimum_required(VERSION 3.0.0)
set(CMAKE_CXX_STANDARD 17)
project(cinnamon CXX)
file(GLOB SOURCES src/*.cpp src/core/*.cpp src/core/utilities/*.cpp)
add_library(${PROJECT_NAME} SHARED ${SOURCES})
set(CMAKE_SIZEOF_VOID_P 4)
if (${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -target i386-pc-windows-msvc -bigobj")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -target i386-pc-windows-msvc -bigobj")
add_definitions("--target=i386-pc-windows-msvc")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -bigobj")
add_library(cocos2d INTERFACE)
if(DEFINED ENV{pythonLocation})
set(PYTHON_PATH "$ENV{pythonLocation}")
else()
set(PYTHON_PATH "$ENV{LOCALAPPDATA}/Programs/Python/Python39-32/") # must use 32 bit version or ELSE
endif()
target_include_directories(${PROJECT_NAME} PRIVATE
src
src/bindings
src/bindings/cocos2d
src/bindings/geometrydash
include
include/cocos2dx
include/cocos2dx/include
include/cocos2dx/kazmath/include
include/cocos2dx/platform
include/cocos2dx/platform/win32
include/cocos2dx/platform/third_party/win32
include/cocos2dx/platform/third_party/win32/OGLES
include/extensions
include/pybind11
include/minhook
include/minhook/include
${PYTHON_PATH}/include
)
target_compile_definitions(${PROJECT_NAME} PUBLIC CINNAMON_EXPORTING)
target_link_libraries(${PROJECT_NAME} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/include/cocos2dx/libcocos2d.lib
${CMAKE_CURRENT_LIST_DIR}/include/extensions/libExtensions.lib
${CMAKE_CURRENT_LIST_DIR}/include/minhook/minhook.x32.lib
${PYTHON_PATH}/libs/python39.lib
)