Update CMakeLists, add sdl2.cmake

This commit is contained in:
scawful
2023-08-25 19:03:13 -04:00
parent c66d810828
commit 1305e9de19
3 changed files with 28 additions and 33 deletions

View File

@@ -1,11 +1,11 @@
# CMake Specifications -------------------------------------------------------- # CMake Specifications
cmake_minimum_required(VERSION 3.10) cmake_minimum_required(VERSION 3.10)
# Yet Another Zelda3 Editor # Yet Another Zelda3 Editor
# by scawful # by scawful
project(yaze VERSION 0.01) project(yaze VERSION 0.01)
# C++ Standard Specifications ------------------------------------------------- # C++ Standard Specifications
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS ON) set(CMAKE_CXX_EXTENSIONS ON)
@@ -18,46 +18,22 @@ set(CMAKE_MODULE_LINKER_FLAGS \"-Wl,--no-undefined -Wl,--no-undefined\")
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
set(BUILD_SHARED_LIBS ON) set(BUILD_SHARED_LIBS ON)
# Abseil Standard Specifications ---------------------------------------------- # Abseil Standard Specifications
include(cmake/absl.cmake) include(cmake/absl.cmake)
add_subdirectory(src/lib/abseil-cpp) add_subdirectory(src/lib/abseil-cpp)
include(cmake/openssl.cmake) include(cmake/openssl.cmake)
set(Protobuf_PROTOC_EXECUTABLE "/Users/scawful/code/protobuf/bin/protoc")
set(Protobuf_INCLUDE_DIRS "/Users/scawful/code/protobuf/include/")
set(PROTOBUF_INCLUDE_PATH ${CMAKE_CURRENT_BINARY_DIR}
CACHE INTERNAL "Path to generated protobuf files.")
include_directories(${PROTOBUF_INCLUDE_PATH})
# Video Libraries ------------------------------------------------------------- # Video Libraries
find_package(PNG REQUIRED) find_package(PNG REQUIRED)
find_package(OpenGL REQUIRED) find_package(OpenGL REQUIRED)
include(cmake/sdl2.cmake)
# SDL2 ------------------------------------------------------------------------ # Asar
if (UNIX)
add_subdirectory(src/lib/SDL)
else()
find_package(SDL2)
endif()
set(SDL2MIXER_OPUS OFF)
set(SDL2MIXER_FLAC OFF)
set(SDL2MIXER_MOD OFF)
set(SDL2MIXER_MIDI_FLUIDSYNTH OFF)
find_library(SDL_MIXER_LIBRARY
NAMES SDL_mixer
HINTS
ENV SDLMIXERDIR
ENV SDLDIR
PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
)
add_subdirectory(src/lib/SDL_mixer)
find_package(SDL2_image)
# Asar ------------------------------------------------------------------------
# add_subdirectory(src/lib/asar/src) # add_subdirectory(src/lib/asar/src)
# include(cmake/asar.cmake) # include(cmake/asar.cmake)
# snes-spc -------------------------------------------------------------------- # snes-spc
ADD_DEFINITIONS(-DSNES_SPC_EXPORTS) ADD_DEFINITIONS(-DSNES_SPC_EXPORTS)
set(SNES_SPC_SOURCES set(SNES_SPC_SOURCES
"../src/lib/snes_spc/snes_spc/spc.cpp" "../src/lib/snes_spc/snes_spc/spc.cpp"
@@ -73,7 +49,7 @@ set(SNES_SPC_SOURCES
include_directories(src/lib/snes_spc/snes_spc) include_directories(src/lib/snes_spc/snes_spc)
ADD_LIBRARY(snes_spc STATIC ${SNES_SPC_SOURCES} src/app/zelda3/music/spc700.def) ADD_LIBRARY(snes_spc STATIC ${SNES_SPC_SOURCES} src/app/zelda3/music/spc700.def)
# ImGui ----------------------------------------------------------------------- # ImGui
include(cmake/imgui.cmake) include(cmake/imgui.cmake)
# Project Files # Project Files

19
cmake/sdl2.cmake Normal file
View File

@@ -0,0 +1,19 @@
# SDL2, SDL2_image and SDL2_mixer
if (UNIX)
add_subdirectory(src/lib/SDL)
else()
find_package(SDL2)
endif()
set(SDL2MIXER_OPUS OFF)
set(SDL2MIXER_FLAC OFF)
set(SDL2MIXER_MOD OFF)
set(SDL2MIXER_MIDI_FLUIDSYNTH OFF)
find_library(SDL_MIXER_LIBRARY
NAMES SDL_mixer
HINTS
ENV SDLMIXERDIR
ENV SDLDIR
PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
)
add_subdirectory(src/lib/SDL_mixer)
find_package(SDL2_image)

View File

@@ -72,7 +72,7 @@ if(MACOS)
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
# MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/cmake/yaze.plist.in MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/cmake/yaze.plist.in
) )
elseif(UNIX) elseif(UNIX)
set_target_properties(yaze set_target_properties(yaze