update cmake
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,6 +4,7 @@ build/
|
||||
src/lib/SDL2
|
||||
src/lib/cmake
|
||||
src/lib/GL
|
||||
src/lib/abseil-cpp
|
||||
src/lib/libGLEW.2.2.0.dylib
|
||||
src/lib/libGLEW.2.2.dylib
|
||||
src/lib/libGLEW.a
|
||||
|
||||
@@ -15,37 +15,28 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(CMAKE_MODULE_LINKER_FLAGS \"-Wl,--no-undefined -Wl,--no-undefined\")
|
||||
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
||||
set(BUILD_SHARED_LIBS ON)
|
||||
|
||||
# Abseil Standard Specifications ----------------------------------------------
|
||||
set(ABSL_PROPAGATE_CXX_STD ON)
|
||||
set(ABSL_CXX_STANDARD 17)
|
||||
set(ABSL_USE_GOOGLETEST_HEAD ON)
|
||||
set(ABSL_ENABLE_INSTALL ON)
|
||||
set(
|
||||
ABSL_TARGETS
|
||||
absl::strings
|
||||
absl::flags
|
||||
absl::status
|
||||
absl::statusor
|
||||
absl::examine_stack
|
||||
absl::stacktrace
|
||||
absl::base
|
||||
absl::config
|
||||
absl::core_headers
|
||||
absl::raw_logging_internal
|
||||
absl::failure_signal_handler
|
||||
absl::flat_hash_map
|
||||
)
|
||||
include(cmake/absl.cmake)
|
||||
|
||||
set(PROTOBUF_INCLUDE_PATH ${CMAKE_CURRENT_BINARY_DIR}
|
||||
CACHE INTERNAL "Path to generated protobuf files.")
|
||||
include_directories(${PROTOBUF_INCLUDE_PATH})
|
||||
|
||||
# Video Libraries -------------------------------------------------------------
|
||||
find_package(PNG REQUIRED)
|
||||
find_package(OpenGL REQUIRED)
|
||||
find_package(GLEW REQUIRED)
|
||||
find_package(gRPC REQUIRED)
|
||||
set(PROTOBUF_INCLUDE_PATH ${CMAKE_CURRENT_BINARY_DIR}
|
||||
CACHE INTERNAL "Path to generated protobuf files.")
|
||||
include_directories(${PROTOBUF_INCLUDE_PATH})
|
||||
include(cmake/openssl.cmake)
|
||||
|
||||
# Asar Assembly ---------------------------------------------------------------
|
||||
add_subdirectory(src/lib/asar/src)
|
||||
include(cmake/asar.cmake)
|
||||
|
||||
include(cmake/imgui.cmake)
|
||||
|
||||
# Project Files
|
||||
add_subdirectory(src/lib/abseil-cpp)
|
||||
|
||||
Binary file not shown.
19
cmake/absl.cmake
Normal file
19
cmake/absl.cmake
Normal file
@@ -0,0 +1,19 @@
|
||||
set(ABSL_PROPAGATE_CXX_STD ON)
|
||||
set(ABSL_CXX_STANDARD 17)
|
||||
set(ABSL_USE_GOOGLETEST_HEAD ON)
|
||||
set(ABSL_ENABLE_INSTALL ON)
|
||||
set(
|
||||
ABSL_TARGETS
|
||||
absl::strings
|
||||
absl::flags
|
||||
absl::status
|
||||
absl::statusor
|
||||
absl::examine_stack
|
||||
absl::stacktrace
|
||||
absl::base
|
||||
absl::config
|
||||
absl::core_headers
|
||||
absl::raw_logging_internal
|
||||
absl::failure_signal_handler
|
||||
absl::flat_hash_map
|
||||
)
|
||||
28
cmake/asar.cmake
Normal file
28
cmake/asar.cmake
Normal file
@@ -0,0 +1,28 @@
|
||||
get_target_property(ASAR_INCLUDE_DIR asar-static INCLUDE_DIRECTORIES)
|
||||
target_include_directories(asar-static PRIVATE ${ASAR_INCLUDE_DIR})
|
||||
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
|
||||
"../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"
|
||||
"../src/lib/asar/src/asar/platform/linux/file-helpers-linux.cpp"
|
||||
)
|
||||
35
cmake/imgui.cmake
Normal file
35
cmake/imgui.cmake
Normal file
@@ -0,0 +1,35 @@
|
||||
# gui libraries ---------------------------------------------------------------
|
||||
set(IMGUI_PATH ${CMAKE_SOURCE_DIR}/src/lib/imgui)
|
||||
file(GLOB IMGUI_SOURCES ${IMGUI_PATH}/*.cpp)
|
||||
add_library("ImGui" STATIC ${IMGUI_SOURCES})
|
||||
target_include_directories("ImGui" PUBLIC ${IMGUI_PATH})
|
||||
target_include_directories(ImGui PUBLIC ${SDL2_INCLUDE_DIR})
|
||||
target_compile_definitions(ImGui PUBLIC
|
||||
IMGUI_IMPL_OPENGL_LOADER_CUSTOM=<SDL2/SDL_opengl.h> GL_GLEXT_PROTOTYPES=1)
|
||||
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
set(
|
||||
IMGUI_SRC
|
||||
${IMGUI_PATH}/imgui.cpp
|
||||
${IMGUI_PATH}/imgui_demo.cpp
|
||||
${IMGUI_PATH}/imgui_draw.cpp
|
||||
${IMGUI_PATH}/imgui_widgets.cpp
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdl.cpp
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdlrenderer.cpp
|
||||
${IMGUI_PATH}/misc/cpp/imgui_stdlib.cpp
|
||||
${IMGUI_FILE_DLG_PATH}/ImGuiFileDialog.cpp
|
||||
${IMGUI_COLOR_TEXT_EDIT_PATH}/TextEditor.cpp
|
||||
)
|
||||
3
cmake/openssl.cmake
Normal file
3
cmake/openssl.cmake
Normal file
@@ -0,0 +1,3 @@
|
||||
set(OPENSSL_INCLUDE_DIR "/usr/local/Cellar/openssl@1.1/1.1.1q/include")
|
||||
set(OPENSSL_CRYPTO_LIBRARY "/usr/local/Cellar/openssl@1.1/1.1.1q/lib/libcrypto.dylib")
|
||||
set(OPENSSL_SSL_LIBRARY "/usr/local/Cellar/openssl@1.1/1.1.1q/lib/libssl.dylib")
|
||||
@@ -1,70 +1,3 @@
|
||||
# gui libraries ---------------------------------------------------------------
|
||||
set(IMGUI_PATH "lib/imgui")
|
||||
file(GLOB IMGUI_SOURCES ${IMGUI_PATH}/*.cpp)
|
||||
add_library("ImGui" STATIC ${IMGUI_SOURCES})
|
||||
target_include_directories("ImGui" PUBLIC ${IMGUI_PATH})
|
||||
target_include_directories(ImGui PUBLIC ${SDL2_INCLUDE_DIR})
|
||||
target_compile_definitions(ImGui PUBLIC
|
||||
IMGUI_IMPL_OPENGL_LOADER_CUSTOM=<SDL2/SDL_opengl.h> GL_GLEXT_PROTOTYPES=1)
|
||||
|
||||
set(IMGUI_FILE_DLG_PATH "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)
|
||||
|
||||
set(IMGUI_COLOR_TEXT_EDIT_PATH "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)
|
||||
|
||||
set(
|
||||
IMGUI_SRC
|
||||
${IMGUI_PATH}/imgui.cpp
|
||||
${IMGUI_PATH}/imgui_demo.cpp
|
||||
${IMGUI_PATH}/imgui_draw.cpp
|
||||
${IMGUI_PATH}/imgui_widgets.cpp
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdl.cpp
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdlrenderer.cpp
|
||||
${IMGUI_PATH}/misc/cpp/imgui_stdlib.cpp
|
||||
${IMGUI_FILE_DLG_PATH}/ImGuiFileDialog.cpp
|
||||
${IMGUI_COLOR_TEXT_EDIT_PATH}/TextEditor.cpp
|
||||
)
|
||||
|
||||
# Asar Assembly ---------------------------------------------------------------
|
||||
add_subdirectory(lib/asar/src)
|
||||
get_target_property(ASAR_INCLUDE_DIR asar-static INCLUDE_DIRECTORIES)
|
||||
target_include_directories(asar-static PRIVATE ${ASAR_INCLUDE_DIR})
|
||||
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
|
||||
"lib/asar/src/asar/interface-lib.cpp"
|
||||
"lib/asar/src/asar/addr2line.cpp"
|
||||
"lib/asar/src/asar/arch-65816.cpp"
|
||||
"lib/asar/src/asar/arch-spc700.cpp"
|
||||
"lib/asar/src/asar/arch-superfx.cpp"
|
||||
"lib/asar/src/asar/assembleblock.cpp"
|
||||
"lib/asar/src/asar/crc32.cpp"
|
||||
"lib/asar/src/asar/libcon.cpp"
|
||||
"lib/asar/src/asar/libsmw.cpp"
|
||||
"lib/asar/src/asar/libstr.cpp"
|
||||
"lib/asar/src/asar/macro.cpp"
|
||||
"lib/asar/src/asar/main.cpp"
|
||||
"lib/asar/src/asar/asar_math.cpp"
|
||||
"lib/asar/src/asar/virtualfile.cpp"
|
||||
"lib/asar/src/asar/warnings.cpp"
|
||||
"lib/asar/src/asar/errors.cpp"
|
||||
"lib/asar/src/asar/platform/file-helpers.cpp"
|
||||
"lib/asar/src/asar/platform/linux/file-helpers-linux.cpp"
|
||||
)
|
||||
|
||||
# yaze source files -----------------------------------------------------------
|
||||
set(
|
||||
YAZE_APP_CORE_SRC
|
||||
|
||||
Submodule src/lib/ImGuiFileDialog updated: 7654d521db...140399994f
Submodule src/lib/SDL updated: 0cc8dfdb58...2e9f5b5989
Submodule src/lib/imgui updated: 1480bc5d4e...1dd964f87d
@@ -21,14 +21,15 @@ add_executable(
|
||||
../src/app/gfx/snes_tile.cc
|
||||
../src/app/gfx/snes_palette.cc
|
||||
../src/app/core/common.cc
|
||||
../src/lib/asar/src/asar-dll-bindings/c/asardll.c
|
||||
${ASAR_STATIC_SRC}
|
||||
)
|
||||
|
||||
target_include_directories(
|
||||
yaze_test PUBLIC
|
||||
../src/
|
||||
../src/lib/
|
||||
../src/lib/asar/src/asar-dll-bindings/c
|
||||
../src/lib/asar/src/
|
||||
${ASAR_INCLUDE_DIR}
|
||||
${SDL_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
@@ -38,11 +39,14 @@ target_link_libraries(
|
||||
${ABSL_TARGETS}
|
||||
${OPENGL_LIBRARIES}
|
||||
${CMAKE_DL_LIBS}
|
||||
asar-static
|
||||
gmock_main
|
||||
gmock
|
||||
gtest_main
|
||||
gtest
|
||||
)
|
||||
target_compile_definitions(yaze_test PRIVATE "linux")
|
||||
target_compile_definitions(yaze_test PRIVATE "stricmp=strcasecmp")
|
||||
|
||||
include(GoogleTest)
|
||||
gtest_discover_tests(yaze_test)
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <asardll.h>
|
||||
#include <asar/interface-lib.h>
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user