2024-08-15 02:11:50 -06:00
|
|
|
cmake_minimum_required(VERSION 3.24)
|
2024-08-15 14:20:05 -06:00
|
|
|
project(RaylibStuff)
|
2024-08-15 02:11:50 -06:00
|
|
|
|
|
|
|
# nvim/fleet users (ONLY WORKS WITH MINGW/NINJA BUILDERS)
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
|
2024-08-15 14:20:05 -06:00
|
|
|
# Deps
|
|
|
|
add_subdirectory(lib/raylib)
|
|
|
|
add_subdirectory(lib/imgui)
|
|
|
|
add_subdirectory(lib/rlImGui)
|
2024-08-15 02:11:50 -06:00
|
|
|
|
|
|
|
# add source code
|
2024-08-15 14:20:05 -06:00
|
|
|
file(GLOB_RECURSE PROJECT_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/src/*.cpp")
|
2024-08-15 02:11:50 -06:00
|
|
|
set(PROJECT_INCLUDE "${CMAKE_CURRENT_LIST_DIR}/src")
|
|
|
|
|
|
|
|
# exe
|
|
|
|
add_executable(${PROJECT_NAME})
|
|
|
|
target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCES})
|
|
|
|
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_INCLUDE})
|
2024-08-15 14:20:05 -06:00
|
|
|
|
|
|
|
# THIS IS WHEREE THE OTHER LIBRARIES ARE LINKED
|
|
|
|
# SCREW YOU LINKER
|
|
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE imgui raylib rlImGui)
|
2024-08-15 02:11:50 -06:00
|
|
|
|
|
|
|
# Web Configurations
|
|
|
|
if (${PLATFORM} STREQUAL "Web")
|
|
|
|
# Tell Emscripten to build an example.html file.
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".html")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# Checks if OSX and links appropriate frameworks (Only required on MacOS)
|
|
|
|
if (APPLE)
|
|
|
|
target_link_libraries(${PROJECT_NAME} "-framework IOKit")
|
|
|
|
target_link_libraries(${PROJECT_NAME} "-framework Cocoa")
|
|
|
|
target_link_libraries(${PROJECT_NAME} "-framework OpenGL")
|
|
|
|
endif()
|