Skip to content

Commit

Permalink
Change extension folder structure to reduce file name conflicts (#1647)
Browse files Browse the repository at this point in the history
* Restructure extension folder structure to reduce conflicts with project source files

* Do not include SDFGen headers for Android builds

* Ensure correct paths are included for the relevant targets

* ImGui is not be enabled for WinUWP, tvOS and iOS

* Fix LUA auto binding generator to work with updated extension folder structure

* Fix path and linker issues for yasio when using prebuilt option
Set correct paths to extensions for prebuilt option
  • Loading branch information
rh101 authored Feb 3, 2024
1 parent ba760bb commit 9f8962d
Show file tree
Hide file tree
Showing 915 changed files with 1,523 additions and 1,443 deletions.
43 changes: 39 additions & 4 deletions cmake/Modules/AXLinkHelpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,15 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
PRIVATE ${AX_ROOT_DIR}/thirdparty/lua/plainlua
PRIVATE ${AX_ROOT_DIR}/thirdparty/lua/tolua/.
PRIVATE ${AX_ROOT_DIR}/thirdparty/lua/lua-cjson/.
PRIVATE ${AX_ROOT_DIR}/extensions/cocostudio
PRIVATE ${AX_ROOT_DIR}/extensions/spine/runtime/include
PRIVATE ${AX_ROOT_DIR}/extensions/fairygui
PRIVATE ${AX_ROOT_DIR}/extensions/GUI
PRIVATE ${AX_ROOT_DIR}/thirdparty/zlib/_d/include
PRIVATE ${AX_ROOT_DIR}/thirdparty/jpeg-turbo/_d/include
PRIVATE ${AX_ROOT_DIR}/thirdparty/openssl/_d/include
PRIVATE ${AX_ROOT_DIR}/thirdparty/curl/_d/include
PRIVATE ${AX_ROOT_DIR}/thirdparty/yasio
)



SET (CONFIGURATION_SUBFOLDER "")
target_link_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/thirdparty/openssl/_d/lib/${PLATFORM_NAME}/${ARCH_ALIAS}
Expand Down Expand Up @@ -140,44 +139,80 @@ function(ax_link_cxx_prebuilt APP_NAME AX_ROOT_DIR AX_PREBUILT_DIR)
llhttp
simdjson
physics-nodes
yasio
)

if (AX_ENABLE_EXT_DRAGONBONES)
list(APPEND LIBS "cocostudio")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/DragonBones/src
)
endif()

if(AX_ENABLE_EXT_COCOSTUDIO)
list(APPEND LIBS "DragonBones")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/cocostudio/src
)
endif()

if(AX_ENABLE_EXT_ASSETMANAGER)
list(APPEND LIBS "assets-manager")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/assets-manager/src
)
endif()

if(AX_ENABLE_EXT_PARTICLE3D)
list(APPEND LIBS "particle3d")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/Particle3D/src
)
endif()

if(AX_ENABLE_EXT_SPINE)
list(APPEND LIBS "spine")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/spine/runtime/include
PRIVATE ${AX_ROOT_DIR}/extensions/spine/src
)
endif()

if (AX_ENABLE_EXT_IMGUI)
list(APPEND LIBS "ImGui")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/ImGui/src
PRIVATE ${AX_ROOT_DIR}/extensions/ImGui/src/ImGui/imgui
)
endif()

if (AX_ENABLE_EXT_INSPECTOR)
list(APPEND LIBS "Inspector")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/Inspector/src
)
endif()

if (AX_ENABLE_EXT_SDFGEN)
list(APPEND LIBS "SDFGen")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/SDFGen/src
)
endif()

if (AX_ENABLE_EXT_DRAWNODEEX)
list(APPEND LIBS "DrawNodeEx")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/DrawNodeEx/src
)
endif()

if (AX_ENABLE_EXT_GUI)
list(APPEND LIBS "GUI")
target_include_directories(${APP_NAME}
PRIVATE ${AX_ROOT_DIR}/extensions/GUI/src
)
endif()

if (WINDOWS)
target_link_libraries(${APP_NAME}
Expand Down
4 changes: 2 additions & 2 deletions core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -309,12 +309,12 @@ use_ax_depend(${_AX_CORE_LIB})
target_include_directories(${_AX_CORE_LIB}
PUBLIC ${_AX_ROOT}
PUBLIC ${_AX_ROOT}/thirdparty
PUBLIC ${_AX_ROOT}/extensions
PUBLIC ${_AX_ROOT}/extensions/scripting
PUBLIC ${_AX_ROOT}/core
PUBLIC ${_AX_ROOT}/core/platform

INTERFACE ${_AX_ROOT}/thirdparty
INTERFACE ${_AX_ROOT}/extensions
INTERFACE ${_AX_ROOT}/extensions/scripting
INTERFACE ${_AX_ROOT}/core/base
INTERFACE ${_AX_ROOT}/core/audio
INTERFACE ${_AX_ROOT}/core/platform/${PLATFORM_NAME}
Expand Down
17 changes: 13 additions & 4 deletions extensions/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,10 @@ if(AX_ENABLE_EXT_FAIRYGUI)
if(BUILD_SHARED_LIBS)
target_link_libraries(fairygui spine)
else()
target_include_directories(fairygui PUBLIC ${CMAKE_CURRENT_LIST_DIR}/spine/runtime/include)
target_include_directories(fairygui
PUBLIC ${CMAKE_CURRENT_LIST_DIR}/spine/runtime/include
PUBLIC ${CMAKE_CURRENT_LIST_DIR}/spine/src
)
endif()
endif()

Expand All @@ -77,11 +80,11 @@ if(AX_ENABLE_EXT_IMGUI)
option(AX_ENABLE_EXT_INSPECTOR "Enable extension Inspector" ON)
if(AX_ENABLE_EXT_INSPECTOR)
add_subdirectory(Inspector)
target_include_directories(Inspector PUBLIC ${CMAKE_CURRENT_LIST_DIR}/ImGui)
target_include_directories(Inspector PUBLIC ${CMAKE_CURRENT_LIST_DIR}/ImGui/src/ImGui)
endif()
if (AX_ENABLE_EXT_SDFGEN)
add_subdirectory(SDFGen)
target_include_directories(SDFGen PUBLIC ${CMAKE_CURRENT_LIST_DIR}/ImGui)
target_include_directories(SDFGen PUBLIC ${CMAKE_CURRENT_LIST_DIR}/ImGui/src/ImGui)
endif()
endif()

Expand All @@ -92,13 +95,19 @@ if(AX_ENABLE_EXT_COCOSTUDIO)
if(BUILD_SHARED_LIBS)
target_link_libraries(cocostudio spine particle3d)
else()
target_include_directories(cocostudio PUBLIC ${CMAKE_CURRENT_LIST_DIR}/spine/runtime/include)
target_include_directories(cocostudio
PUBLIC ${CMAKE_CURRENT_LIST_DIR}/spine/runtime/include
PUBLIC ${CMAKE_CURRENT_LIST_DIR}/spine/src
PUBLIC ${CMAKE_CURRENT_LIST_DIR}/Particle3D/src
)
endif()
endif()
if(AX_ENABLE_EXT_DRAGONBONES)
target_compile_definitions(cocostudio PRIVATE AX_ENABLE_EXT_DRAGONBONES=1)
if(BUILD_SHARED_LIBS)
target_link_libraries(cocostudio DragonBones)
else()
target_include_directories(cocostudio PUBLIC ${CMAKE_CURRENT_LIST_DIR}/DragonBones/src)
endif()
endif()
endif()
Expand Down
3 changes: 2 additions & 1 deletion extensions/DragonBones/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
set(target_name DragonBones)

FILE(GLOB_RECURSE DRAGONBONES_SOURCES ./*.h;./*.cpp)
FILE(GLOB_RECURSE DRAGONBONES_SOURCES *.h;*.cpp;./**/*.h;./**/*.cpp)

add_library(${target_name} STATIC ${DRAGONBONES_SOURCES})
target_include_directories(${target_name} PUBLIC src)

setup_ax_extension_config(${target_name})
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 2 additions & 1 deletion extensions/DrawNodeEx/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
set(target_name DrawNodeEx)

FILE(GLOB DRAWNODEEX_SOURCES *.h;*.cpp;./**/*.h;./**/*.cpp)
FILE(GLOB_RECURSE DRAWNODEEX_SOURCES *.h;*.cpp;./**/*.h;./**/*.cpp)

add_library(${target_name} ${DRAWNODEEX_SOURCES})
target_include_directories(${target_name} PUBLIC src)

setup_ax_extension_config(${target_name})
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
* SOFTWARE.
*/

#include "extensions/DrawNodeEx/DrawNodeEx.h"
#include "DrawNodeEx/DrawNodeEx.h"
#include <stddef.h> // offsetof
#include "base/Types.h"
#include "base/EventType.h"
Expand Down
File renamed without changes.
9 changes: 6 additions & 3 deletions extensions/GUI/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
set(target_name GUI)

FILE(GLOB GUI_CONTROL_SOURCES ControlExtension/*.h;ControlExtension/*.cpp)
FILE(GLOB GUI_SCROLLVIEW_SOURCES ScrollView/*.h;ScrollView/*.cpp)
FILE(GLOB_RECURSE GUI_CONTROL_SOURCES src/GUI/ControlExtension/*.h;src/GUI/ControlExtension/*.cpp)
FILE(GLOB_RECURSE GUI_SCROLLVIEW_SOURCES src/GUI/ScrollView/*.h;src/GUI/ScrollView/*.cpp)

SOURCE_GROUP("ControlExtension" FILES ${GUI_CONTROL_SOURCES})
SOURCE_GROUP("ScrollView" FILES ${GUI_SCROLLVIEW_SOURCES})
Expand All @@ -10,6 +10,9 @@ add_library(${target_name}
${GUI_CONTROL_SOURCES}
${GUI_SCROLLVIEW_SOURCES})

target_include_directories(${target_name} INTERFACE ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(${target_name}
PUBLIC ${CMAKE_CURRENT_LIST_DIR}/src
INTERFACE ${CMAKE_CURRENT_LIST_DIR}/src/GUI
)

setup_ax_extension_config(${target_name})
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
47 changes: 27 additions & 20 deletions extensions/ImGui/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,42 +1,42 @@
set(target_name ImGui)

include_directories(imgui)
include_directories(src/ImGui/imgui)

set(HEADER
ImGuiPresenter.h
src/ImGui/ImGuiPresenter.h
# CCImGuiColorTextEdit.h
imgui/imconfig.h
imgui/imgui.h
imgui/imgui_internal.h
imgui/imstb_rectpack.h
imgui/imstb_textedit.h
imgui/imstb_truetype.h
imgui/misc/cpp/imgui_stdlib.h
src/ImGui/imgui/imconfig.h
src/ImGui/imgui/imgui.h
src/ImGui/imgui/imgui_internal.h
src/ImGui/imgui/imstb_rectpack.h
src/ImGui/imgui/imstb_textedit.h
src/ImGui/imgui/imstb_truetype.h
src/ImGui/imgui/misc/cpp/imgui_stdlib.h
#~ imgui_markdown/imgui_markdown.h
#~ ImGuiColorTextEdit/TextEditor.h
#~ implot/implot.h
)

set(SOURCE
ImGuiPresenter.cpp
src/ImGui/ImGuiPresenter.cpp
# CCImGuiColorTextEdit.cpp
imgui/imgui.cpp
imgui/imgui_demo.cpp
imgui/imgui_draw.cpp
imgui/imgui_widgets.cpp
imgui/imgui_tables.cpp
imgui/misc/cpp/imgui_stdlib.cpp
src/ImGui/imgui/imgui.cpp
src/ImGui/imgui/imgui_demo.cpp
src/ImGui/imgui/imgui_draw.cpp
src/ImGui/imgui/imgui_widgets.cpp
src/ImGui/imgui/imgui_tables.cpp
src/ImGui/imgui/misc/cpp/imgui_stdlib.cpp
#~ ImGuiColorTextEdit/TextEditor.cpp
#~ implot/implot.cpp
#~ implot/implot_demo.cpp
)

if(ANDROID)
list(APPEND HEADER imgui_impl_ax_android.cpp)
list(APPEND SOURCE imgui_impl_ax_android.h)
list(APPEND SOURCE src/ImGui/imgui_impl_ax_android.cpp)
list(APPEND HEADER src/ImGui/imgui_impl_ax_android.h)
else()
list(APPEND HEADER imgui_impl_ax.cpp)
list(APPEND SOURCE imgui_impl_ax.h)
list(APPEND SOURCE src/ImGui/imgui_impl_ax.cpp)
list(APPEND HEADER src/ImGui/imgui_impl_ax.h)
endif()

#~ if(AX_ENABLE_EXT_LUA)
Expand Down Expand Up @@ -74,6 +74,13 @@ add_library(${target_name} STATIC
${HEADER}
${SOURCE})

target_include_directories(${target_name}
PUBLIC src
PUBLIC src/ImGui/imgui

INTERFACE src
INTERFACE src/ImGui/imgui
)

ax_find_shaders(${CMAKE_CURRENT_LIST_DIR}/shaders IMGUI_SHADER_SOURCES)
ax_target_compile_shaders(${target_name} FILES ${IMGUI_SHADER_SOURCES} CUSTOM)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#else
# include "imgui_impl_ax.h"
#endif
#include "imgui_internal.h"
#include "imgui/imgui_internal.h"

// TODO: mac metal
#if defined(AX_USE_GL) && defined(AX_PLATFORM_PC)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include <tuple>

#include "axmol.h"
#include "ExtensionMacros.h"
#include "extensions/ExtensionMacros.h"

#include "imgui/imgui.h"

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#pragma once
#include "imgui.h"
#include "imgui/imgui.h"

struct GLFWwindow;

Expand Down
File renamed without changes.
File renamed without changes.
6 changes: 4 additions & 2 deletions extensions/Inspector/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
set(target_name Inspector)

FILE(GLOB INSPECTOR_SOURCES *.h;*.cpp;./**/*.h;./**/*.cpp)
FILE(GLOB_RECURSE INSPECTOR_SOURCES *.h;*.cpp;./**/*.h;./**/*.cpp)

add_library(${target_name} STATIC ${INSPECTOR_SOURCES})

target_include_directories(
${target_name} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
)
setup_ax_extension_config(${target_name})
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include <memory>
#include "ExtensionMacros.h"
#include "extensions/ExtensionMacros.h"
#include "base/Config.h"
#include <string>
#include <unordered_map>
Expand Down
6 changes: 4 additions & 2 deletions extensions/JSONDefault/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
set(target_name JSONDefault)

FILE(GLOB JSON_DEFAULT_HEADER *.h)
FILE(GLOB JSON_DEFAULT_SOURCE *.cpp)
FILE(GLOB JSON_DEFAULT_HEADER src/JSONDefault/*.h)
FILE(GLOB JSON_DEFAULT_SOURCE src/JSONDefault/*.cpp)

add_library(${target_name} STATIC
${JSON_DEFAULT_HEADER}
${JSON_DEFAULT_SOURCE})

target_include_directories(${target_name} PUBLIC src)

setup_ax_extension_config(${target_name})
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ THE SOFTWARE.
#define __SUPPORT_JSONDEFAULT_H__

#include "platform/PlatformMacros.h"
#include "ExtensionMacros.h"
#include "extensions/ExtensionMacros.h"
#include <string>

#include "yasio/string_view.hpp"
Expand Down
3 changes: 2 additions & 1 deletion extensions/Particle3D/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
set(target_name particle3d)

FILE(GLOB PARTICLE3D_SOURCES *.h;*.cpp;./**/*.h;./**/*.cpp)
FILE(GLOB_RECURSE PARTICLE3D_SOURCES *.h;*.cpp;./**/*.h;./**/*.cpp)

add_library(${target_name} ${PARTICLE3D_SOURCES})
target_include_directories(${target_name} PUBLIC src)

setup_ax_extension_config(${target_name})
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
THE SOFTWARE.
****************************************************************************/

#include "extensions/Particle3D/PU/PUAffector.h"
#include "extensions/Particle3D/PU/PUEmitter.h"
#include "extensions/Particle3D/PU/PUParticleSystem3D.h"
#include "Particle3D/PU/PUAffector.h"
#include "Particle3D/PU/PUEmitter.h"
#include "Particle3D/PU/PUParticleSystem3D.h"

NS_AX_BEGIN

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

#include "base/Ref.h"
#include "math/Math.h"
#include "extensions/Particle3D/Particle3DAffector.h"
#include "Particle3D/Particle3DAffector.h"
#include <vector>
#include <string>

Expand Down
Loading

0 comments on commit 9f8962d

Please sign in to comment.