cmakelists build cleanup
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
# CMake Specifications
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
# Yet Another Zelda3 Editor
|
||||
# by scawful
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
project(yaze VERSION 0.2.0)
|
||||
|
||||
# Build Flags
|
||||
@@ -10,10 +8,11 @@ set(YAZE_BUILD_APP ON)
|
||||
set(YAZE_BUILD_Z3ED ON)
|
||||
set(YAZE_BUILD_PYTHON ON)
|
||||
set(YAZE_BUILD_CLIB ON)
|
||||
set(YAZE_INSTALL_CLIB OFF)
|
||||
set(YAZE_BUILD_TESTS OFF)
|
||||
set(YAZE_BUILD_EXTENSIONS OFF)
|
||||
|
||||
# C++ Standard Specifications
|
||||
# C++ Standard and CMake Specifications
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
@@ -24,12 +23,14 @@ set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dlinux -Dstricmp=strcasecmp")
|
||||
if (MACOS)
|
||||
set(CMAKE_INSTALL_PREFIX /usr/local)
|
||||
endif()
|
||||
|
||||
# Abseil Standard Specifications
|
||||
include(cmake/absl.cmake)
|
||||
|
||||
# Video Libraries
|
||||
find_package(PNG REQUIRED)
|
||||
# SDL2 and PNG
|
||||
include(cmake/sdl2.cmake)
|
||||
|
||||
# Asar
|
||||
|
||||
@@ -1,33 +1,36 @@
|
||||
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
|
||||
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)
|
||||
target_include_directories(asar-static PRIVATE ${ASAR_INCLUDE_DIR})
|
||||
|
||||
set(ASAR_STATIC_SRC
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/interface-lib.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/addr2line.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/arch-65816.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/arch-spc700.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/arch-superfx.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/assembleblock.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/crc32.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/libcon.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/libsmw.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/libstr.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/macro.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/main.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/asar_math.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/virtualfile.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/warnings.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/errors.cpp"
|
||||
"${CMAKE_SOURCE_DIR}/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 "${CMAKE_SOURCE_DIR}/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 "${CMAKE_SOURCE_DIR}/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,23 +11,17 @@ 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_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_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
|
||||
|
||||
@@ -10,4 +10,7 @@ set(SDL_TARGETS SDL2::SDL2)
|
||||
if(WIN32 OR MINGW)
|
||||
list(PREPEND SDL_TARGETS SDL2::SDL2main ws2_32)
|
||||
add_definitions(-DSDL_MAIN_HANDLED)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# libpng
|
||||
find_package(PNG REQUIRED)
|
||||
@@ -150,4 +150,18 @@ target_link_libraries(
|
||||
${CMAKE_DL_LIBS}
|
||||
ImGuiTestEngine
|
||||
ImGui
|
||||
)
|
||||
)
|
||||
|
||||
if (YAZE_INSTALL_CLIB)
|
||||
install(TARGETS yaze_c
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib/static)
|
||||
|
||||
install(
|
||||
FILES
|
||||
yaze.h
|
||||
base/sprite.h
|
||||
base/snes_color.h
|
||||
DESTINATION include)
|
||||
endif()
|
||||
Reference in New Issue
Block a user