/ deps / AImGUI / CMakeLists.txt
CMakeLists.txt
 1  cmake_minimum_required(VERSION 3.13.0)
 2  
 3  project(AImGUI)
 4  
 5  set(CMAKE_CXX_STANDARD 20)
 6  add_compile_options(-fno-rtti -fvisibility=hidden)
 7  add_link_options(-s)
 8  
 9  find_library(liblog log NO_CACHE)
10  
11  include_directories(
12      modules
13      includes
14      third_party
15      third_party/imgui
16      ${CMAKE_CURRENT_SOURCE_DIR}/../KittyMemoryEx
17  )
18  
19  # Scan imgui sources
20  aux_source_directory(third_party/imgui AIMGUI_IMGUI_SOURCES)
21  
22  # Make imgui backends sources
23  set(
24      AIMGUI_IMGUI_BACKENDS_SOURCES
25      third_party/imgui/backends/imgui_impl_android.cpp
26      third_party/imgui/backends/imgui_impl_opengl3.cpp
27  )
28  
29  # Scan common sources
30  aux_source_directory(src/common AIMGUI_COMMON_SOURCES)
31  
32  # Build AImGui library
33  add_library(AImGui STATIC 
34      ${AIMGUI_COMMON_SOURCES} 
35      ${AIMGUI_IMGUI_SOURCES} 
36      ${AIMGUI_IMGUI_BACKENDS_SOURCES}
37  )
38  
39  target_link_libraries(AImGui 
40      ${liblog} 
41      EGL 
42      GLESv3 
43      android
44      KittyMemoryEx
45  )
46  
47  target_include_directories(AImGui PUBLIC 
48      modules
49      includes
50      third_party
51      third_party/imgui
52      ${CMAKE_CURRENT_SOURCE_DIR}/../KittyMemoryEx
53  )
54  
55  set_target_properties(AImGui PROPERTIES
56      ARCHIVE_OUTPUT_DIRECTORY "libs/${ANDROID_ABI}"
57  )