diff --git a/CMakeLists.txt b/CMakeLists.txt index 16f7371..3d67419 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.24) project(RaylibDmx) -set(CMAKE_CXX_STANDARD 26) +set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) # nvim/fleet users (ONLY WORKS WITH MINGW/NINJA BUILDERS) @@ -64,19 +64,22 @@ FetchContent_Declare( ) FetchContent_MakeAvailable(rlimgui) -file(GLOB_RECURSE SOURCES "src/*.cpp") -add_executable(${PROJECT_NAME} ${SOURCES}) +# Add source files +file(GLOB_RECURSE PROJECT_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/src/*.cpp") +set(PROJECT_INCLUDE "${CMAKE_CURRENT_LIST_DIR}/src") -target_link_libraries(${PROJECT_NAME} raylib) +# Declare the executable +add_executable(${PROJECT_NAME}) +target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCES}) +target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_INCLUDE}) -set(RLIMGUI_SOURCES - ${rlimgui_SOURCE_DIR}/rlImGui.cpp -) +# Link with Raylib +target_link_libraries(${PROJECT_NAME} PRIVATE raylib) -# Create rlImGui lib -add_library(rlImGui STATIC ${RLIMGUI_SOURCES}) +# Create rlImGui library +add_library(rlImGui STATIC ${rlimgui_SOURCE_DIR}/rlImGui.cpp) target_include_directories(rlImGui PUBLIC ${rlimgui_SOURCE_DIR} ${imgui_SOURCE_DIR}) -target_link_libraries(rlImGui raylib ImGui) +target_link_libraries(rlImGui PRIVATE raylib ImGui) -# Link ImGui and rlImGui -target_link_libraries(${PROJECT_NAME} ImGui rlImGui) +# Link ImGui and rlImGui with the executable +target_link_libraries(${PROJECT_NAME} PRIVATE ImGui rlImGui)