backend-infra-engineer: Pre-0.2.2 2024 Q4 snapshot
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
if (MINGW)
|
||||
add_subdirectory(src/lib/abseil-cpp)
|
||||
else()
|
||||
find_package(absl)
|
||||
endif()
|
||||
set(ABSL_PROPAGATE_CXX_STD ON)
|
||||
set(ABSL_CXX_STANDARD 17)
|
||||
set(ABSL_USE_GOOGLETEST_HEAD ON)
|
||||
|
||||
@@ -1,33 +1,39 @@
|
||||
get_target_property(ASAR_INCLUDE_DIR asar-static INCLUDE_DIRECTORIES)
|
||||
target_include_directories(asar-static PRIVATE ${ASAR_INCLUDE_DIR})
|
||||
# Asar Assembler for 65816 SNES Assembly
|
||||
add_subdirectory(src/lib/asar/src)
|
||||
|
||||
set(ASAR_GEN_EXE OFF)
|
||||
set(ASAR_GEN_DLL ON)
|
||||
set(ASAR_GEN_LIB ON)
|
||||
set(ASAR_GEN_EXE_TEST OFF)
|
||||
set(ASAR_GEN_DLL_TEST OFF)
|
||||
set(ASAR_STATIC_SRC_DIR "${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar")
|
||||
|
||||
get_target_property(ASAR_INCLUDE_DIR asar-static INCLUDE_DIRECTORIES)
|
||||
list(APPEND ASAR_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/src/lib/asar/src")
|
||||
target_include_directories(asar-static PRIVATE ${ASAR_INCLUDE_DIR})
|
||||
|
||||
set(ASAR_STATIC_SRC
|
||||
"../src/lib/asar/src/asar/interface-lib.cpp"
|
||||
"../src/lib/asar/src/asar/addr2line.cpp"
|
||||
"../src/lib/asar/src/asar/arch-65816.cpp"
|
||||
"../src/lib/asar/src/asar/arch-spc700.cpp"
|
||||
"../src/lib/asar/src/asar/arch-superfx.cpp"
|
||||
"../src/lib/asar/src/asar/assembleblock.cpp"
|
||||
"../src/lib/asar/src/asar/crc32.cpp"
|
||||
"../src/lib/asar/src/asar/libcon.cpp"
|
||||
"../src/lib/asar/src/asar/libsmw.cpp"
|
||||
"../src/lib/asar/src/asar/libstr.cpp"
|
||||
"../src/lib/asar/src/asar/macro.cpp"
|
||||
"../src/lib/asar/src/asar/main.cpp"
|
||||
"../src/lib/asar/src/asar/asar_math.cpp"
|
||||
"../src/lib/asar/src/asar/virtualfile.cpp"
|
||||
"../src/lib/asar/src/asar/warnings.cpp"
|
||||
"../src/lib/asar/src/asar/errors.cpp"
|
||||
"../src/lib/asar/src/asar/platform/file-helpers.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/interface-lib.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/addr2line.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/arch-65816.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/arch-spc700.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/arch-superfx.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/assembleblock.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/crc32.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/libcon.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/libsmw.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/libstr.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/macro.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/main.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/asar_math.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/virtualfile.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/warnings.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/errors.cpp"
|
||||
"${ASAR_STATIC_SRC_DIR}/platform/file-helpers.cpp"
|
||||
)
|
||||
|
||||
if(WIN32 OR MINGW)
|
||||
list(APPEND ASAR_STATIC_SRC "../src/lib/asar/src/asar/platform/windows/file-helpers-win32.cpp")
|
||||
list(APPEND ASAR_STATIC_SRC "${ASAR_STATIC_SRC_DIR}/platform/windows/file-helpers-win32.cpp")
|
||||
else()
|
||||
list(APPEND ASAR_STATIC_SRC "../src/lib/asar/src/asar/platform/linux/file-helpers-linux.cpp")
|
||||
list(APPEND ASAR_STATIC_SRC "${ASAR_STATIC_SRC_DIR}/platform/linux/file-helpers-linux.cpp")
|
||||
endif()
|
||||
11
cmake/gtest.cmake
Normal file
11
cmake/gtest.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
# GoogleTest ------------------------------------------------------------------
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
googletest
|
||||
URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
|
||||
)
|
||||
|
||||
# For Windows: Prevent overriding the parent project's compiler/linker settings
|
||||
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||
FetchContent_MakeAvailable(googletest)
|
||||
enable_testing()
|
||||
@@ -10,24 +10,18 @@ target_compile_definitions(ImGui PUBLIC
|
||||
set(IMGUI_FILE_DLG_PATH ${CMAKE_SOURCE_DIR}/src/lib/ImGuiFileDialog)
|
||||
file(GLOB IMGUI_FILE_DLG_SOURCES ${IMGUI_FILE_DLG_PATH}/*.cpp)
|
||||
add_library("ImGuiFileDialog" STATIC ${IMGUI_FILE_DLG_SOURCES})
|
||||
target_include_directories(ImGuiFileDialog PUBLIC ${IMGUI_PATH})
|
||||
target_compile_definitions(ImGuiFileDialog PUBLIC
|
||||
IMGUI_IMPL_OPENGL_LOADER_CUSTOM=<SDL2/SDL_opengl.h> GL_GLEXT_PROTOTYPES=1)
|
||||
target_include_directories(ImGuiFileDialog PUBLIC ${IMGUI_PATH} ${CMAKE_SOURCE_DIR}/src/lib)
|
||||
|
||||
set(IMGUI_COLOR_TEXT_EDIT_PATH ${CMAKE_SOURCE_DIR}/src/lib/ImGuiColorTextEdit)
|
||||
file(GLOB IMGUI_COLOR_TEXT_EDIT_SOURCES ${IMGUI_COLOR_TEXT_EDIT_PATH}/*.cpp)
|
||||
add_library("ImGuiColorTextEdit" STATIC ${IMGUI_COLOR_TEXT_EDIT_SOURCES})
|
||||
target_include_directories(ImGuiColorTextEdit PUBLIC ${IMGUI_PATH})
|
||||
target_compile_definitions(ImGuiColorTextEdit PUBLIC
|
||||
IMGUI_IMPL_OPENGL_LOADER_CUSTOM=<SDL2/SDL_opengl.h> GL_GLEXT_PROTOTYPES=1)
|
||||
target_include_directories(ImGuiColorTextEdit PUBLIC ${IMGUI_PATH} ${CMAKE_SOURCE_DIR}/src/lib)
|
||||
|
||||
set(IMGUI_TEST_ENGINE_PATH ${CMAKE_SOURCE_DIR}/src/lib/imgui_test_engine/imgui_test_engine)
|
||||
file(GLOB IMGUI_TEST_ENGINE_SOURCES ${IMGUI_TEST_ENGINE_PATH}/*.cpp)
|
||||
add_library("ImGuiTestEngine" STATIC ${IMGUI_TEST_ENGINE_SOURCES})
|
||||
target_include_directories(ImGuiTestEngine PUBLIC ${IMGUI_PATH})
|
||||
target_include_directories(ImGuiTestEngine PUBLIC ${IMGUI_PATH} ${CMAKE_SOURCE_DIR}/src/lib)
|
||||
target_link_libraries(ImGuiTestEngine PUBLIC ImGui)
|
||||
target_compile_definitions(ImGuiTestEngine PUBLIC
|
||||
IMGUI_IMPL_OPENGL_LOADER_CUSTOM=<SDL2/SDL_opengl.h> GL_GLEXT_PROTOTYPES=1)
|
||||
|
||||
set(
|
||||
IMGUI_SRC
|
||||
@@ -40,4 +34,7 @@ set(
|
||||
${IMGUI_PATH}/misc/cpp/imgui_stdlib.cpp
|
||||
${IMGUI_FILE_DLG_PATH}/ImGuiFileDialog.cpp
|
||||
${IMGUI_COLOR_TEXT_EDIT_PATH}/TextEditor.cpp
|
||||
)
|
||||
)
|
||||
|
||||
# For integration test
|
||||
add_definitions("-DIMGUI_ENABLE_TEST_ENGINE -DIMGUI_TEST_ENGINE_ENABLE_COROUTINE_STDTHREAD_IMPL=1")
|
||||
21
cmake/mingw64.cmake
Normal file
21
cmake/mingw64.cmake
Normal file
@@ -0,0 +1,21 @@
|
||||
# cmake -DCMAKE_TOOLCHAIN_FILE=./cmake/mingw64.cmake -B build/build-windows && cmake --build ./build/build-windows
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Windows)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
|
||||
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
|
||||
set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH /usr/local/opt/mingw-w64)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -pipe -g -feliminate-unused-debug-types")
|
||||
|
||||
# Static link the C++ standard library
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static -static-libgcc -static-libstdc++")
|
||||
@@ -1,6 +1,27 @@
|
||||
# SDL2
|
||||
if (UNIX)
|
||||
if (UNIX OR MINGW)
|
||||
add_subdirectory(src/lib/SDL)
|
||||
else()
|
||||
find_package(SDL2)
|
||||
endif()
|
||||
|
||||
set(SDL_TARGETS SDL2::SDL2)
|
||||
|
||||
if(WIN32 OR MINGW)
|
||||
list(PREPEND SDL_TARGETS SDL2::SDL2main ws2_32)
|
||||
add_definitions(-DSDL_MAIN_HANDLED)
|
||||
endif()
|
||||
|
||||
# libpng
|
||||
if (MINGW)
|
||||
set(ZLIB_ROOT ${CMAKE_SOURCE_DIR}/build-windows/src/lib/zlib)
|
||||
set(ZLIB_LIBRARY ${CMAKE_SOURCE_DIR}/build-windows/lib/libzlib.dll.a)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/src/lib/zlib ${CMAKE_SOURCE_DIR}/src/lib/libpng)
|
||||
set(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/lib/zlib)
|
||||
set(YAZE_BUILD_PYTHON OFF)
|
||||
set(YAZE_BUILD_EXTENSIONS OFF)
|
||||
add_subdirectory(src/lib/zlib)
|
||||
add_subdirectory(src/lib/libpng)
|
||||
else()
|
||||
find_package(PNG REQUIRED)
|
||||
endif()
|
||||
Reference in New Issue
Block a user