-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
101 lines (83 loc) · 3.53 KB
/
Copy pathCMakeLists.txt
File metadata and controls
101 lines (83 loc) · 3.53 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
cmake_minimum_required(VERSION 3.16)
project(covscript-imgui)
include_directories(backends)
include_directories(include)
include_directories(include/imgui)
if (DEFINED ENV{CS_DEV_PATH})
message("-- CovScript SDK detected at $ENV{CS_DEV_PATH}")
include("$ENV{CS_DEV_PATH}/csbuild.cmake")
include_directories($ENV{CS_DEV_PATH}/include)
link_directories($ENV{CS_DEV_PATH}/lib)
else ()
message(FATAL_ERROR "-- CovScript SDK not detected. Please set environment variable CS_DEV_PATH")
endif ()
set(IMGUI_SOURCE_CODE
backends/imgui_impl_glfw.cpp
res/default_font.cpp
src/gl3w.c
src/imgui.cpp
src/imgui_demo.cpp
src/imgui_draw.cpp
src/imgui_widgets.cpp
src/imgui_tables.cpp
src/imgui_stdlib.cpp)
add_library(imgui STATIC ${IMGUI_SOURCE_CODE})
add_library(imgui_font_ext SHARED imgui_font.cpp)
add_library(imgui_ext SHARED backends/imgui_impl_opengl3.cpp imgui.cpp)
add_library(imgui_legacy_ext SHARED backends/imgui_impl_opengl2.cpp imgui.cpp)
target_compile_definitions(imgui PUBLIC IMGUI_IMPL_OPENGL_LOADER_GL3W)
target_compile_definitions(imgui_legacy_ext PRIVATE IMGUI_IMPL_GL2)
if (WIN32)
target_compile_definitions(imgui PUBLIC IMGUI_ENABLE_WIN32_DEFAULT_IME_FUNCTIONS)
target_link_libraries(imgui glfw3 gdi32 opengl32 imm32)
endif ()
if (UNIX)
find_package(glfw3 REQUIRED)
if (APPLE)
find_library(OPENGL_LIBS OpenGL)
find_library(COCOA_LIBS Cocoa)
find_library(IOKIT_LIBS IOKit)
find_library(COREVIDEO_LIBS CoreVideo)
target_link_libraries(imgui glfw ${OPENGL_LIBS} ${COCOA_LIBS} ${IOKIT_LIBS} ${COREVIDEO_LIBS})
else ()
target_link_libraries(imgui glfw GL)
endif ()
endif ()
target_link_libraries(imgui_font_ext covscript imgui)
target_link_libraries(imgui_ext covscript imgui)
target_link_libraries(imgui_legacy_ext covscript imgui)
add_library(imgui_sdl_ext SHARED
backends/imgui_impl_sdl2.cpp
backends/imgui_impl_sdlrenderer2.cpp
imgui.cpp)
target_compile_definitions(imgui_sdl_ext PRIVATE IMGUI_IMPL_SDL2)
find_package(SDL2 REQUIRED)
if (TARGET SDL2::SDL2-static)
set(IMGUI_SDL2_TARGET SDL2::SDL2-static)
message("-- Using SDL2::SDL2-static for linking with imgui_sdl")
elseif (TARGET SDL2::SDL2)
set(IMGUI_SDL2_TARGET SDL2::SDL2)
message("-- Using SDL2::SDL2 for linking with imgui_sdl")
else ()
message(FATAL_ERROR "SDL2 package found, but neither SDL2::SDL2-static nor SDL2::SDL2 is available")
endif ()
target_link_libraries(imgui_sdl_ext ${IMGUI_SDL2_TARGET})
if (APPLE)
find_library(COCOA_LIBS Cocoa)
find_library(IOKIT_LIBS IOKit)
find_library(COREVIDEO_LIBS CoreVideo)
target_link_libraries(imgui_sdl_ext ${COCOA_LIBS} ${IOKIT_LIBS} ${COREVIDEO_LIBS})
endif ()
target_link_libraries(imgui_sdl_ext covscript imgui)
set_target_properties(imgui_sdl_ext PROPERTIES OUTPUT_NAME imgui_sdl)
set_target_properties(imgui_sdl_ext PROPERTIES PREFIX "")
set_target_properties(imgui_sdl_ext PROPERTIES SUFFIX ".cse")
set_target_properties(imgui_font_ext PROPERTIES OUTPUT_NAME imgui_font)
set_target_properties(imgui_font_ext PROPERTIES PREFIX "")
set_target_properties(imgui_font_ext PROPERTIES SUFFIX ".cse")
set_target_properties(imgui_ext PROPERTIES OUTPUT_NAME imgui)
set_target_properties(imgui_ext PROPERTIES PREFIX "")
set_target_properties(imgui_ext PROPERTIES SUFFIX ".cse")
set_target_properties(imgui_legacy_ext PROPERTIES OUTPUT_NAME imgui_legacy)
set_target_properties(imgui_legacy_ext PROPERTIES PREFIX "")
set_target_properties(imgui_legacy_ext PROPERTIES SUFFIX ".cse")