cmakelists build cleanup

This commit is contained in:
scawful
2024-08-08 13:42:32 -04:00
parent bb766d22eb
commit 7379a8535c
5 changed files with 50 additions and 35 deletions

View File

@@ -1,8 +1,6 @@
# CMake Specifications
cmake_minimum_required(VERSION 3.10)
# Yet Another Zelda3 Editor # Yet Another Zelda3 Editor
# by scawful # by scawful
cmake_minimum_required(VERSION 3.10)
project(yaze VERSION 0.2.0) project(yaze VERSION 0.2.0)
# Build Flags # Build Flags
@@ -10,10 +8,11 @@ set(YAZE_BUILD_APP ON)
set(YAZE_BUILD_Z3ED ON) set(YAZE_BUILD_Z3ED ON)
set(YAZE_BUILD_PYTHON ON) set(YAZE_BUILD_PYTHON ON)
set(YAZE_BUILD_CLIB ON) set(YAZE_BUILD_CLIB ON)
set(YAZE_INSTALL_CLIB OFF)
set(YAZE_BUILD_TESTS OFF) set(YAZE_BUILD_TESTS OFF)
set(YAZE_BUILD_EXTENSIONS OFF) set(YAZE_BUILD_EXTENSIONS OFF)
# C++ Standard Specifications # C++ Standard and CMake Specifications
set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) 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(BUILD_SHARED_LIBS OFF)
set(CMAKE_FIND_FRAMEWORK LAST) set(CMAKE_FIND_FRAMEWORK LAST)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dlinux -Dstricmp=strcasecmp") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dlinux -Dstricmp=strcasecmp")
if (MACOS)
set(CMAKE_INSTALL_PREFIX /usr/local)
endif()
# Abseil Standard Specifications # Abseil Standard Specifications
include(cmake/absl.cmake) include(cmake/absl.cmake)
# Video Libraries # SDL2 and PNG
find_package(PNG REQUIRED)
include(cmake/sdl2.cmake) include(cmake/sdl2.cmake)
# Asar # Asar

View File

@@ -1,33 +1,36 @@
get_target_property(ASAR_INCLUDE_DIR asar-static INCLUDE_DIRECTORIES) # Asar Assembler for 65816 SNES Assembly
target_include_directories(asar-static PRIVATE ${ASAR_INCLUDE_DIR})
set(ASAR_GEN_EXE OFF) set(ASAR_GEN_EXE OFF)
set(ASAR_GEN_DLL ON) set(ASAR_GEN_DLL ON)
set(ASAR_GEN_LIB ON) set(ASAR_GEN_LIB ON)
set(ASAR_GEN_EXE_TEST OFF) set(ASAR_GEN_EXE_TEST OFF)
set(ASAR_GEN_DLL_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 set(ASAR_STATIC_SRC
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/interface-lib.cpp" "${ASAR_STATIC_SRC_DIR}/interface-lib.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/addr2line.cpp" "${ASAR_STATIC_SRC_DIR}/addr2line.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/arch-65816.cpp" "${ASAR_STATIC_SRC_DIR}/arch-65816.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/arch-spc700.cpp" "${ASAR_STATIC_SRC_DIR}/arch-spc700.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/arch-superfx.cpp" "${ASAR_STATIC_SRC_DIR}/arch-superfx.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/assembleblock.cpp" "${ASAR_STATIC_SRC_DIR}/assembleblock.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/crc32.cpp" "${ASAR_STATIC_SRC_DIR}/crc32.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/libcon.cpp" "${ASAR_STATIC_SRC_DIR}/libcon.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/libsmw.cpp" "${ASAR_STATIC_SRC_DIR}/libsmw.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/libstr.cpp" "${ASAR_STATIC_SRC_DIR}/libstr.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/macro.cpp" "${ASAR_STATIC_SRC_DIR}/macro.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/main.cpp" "${ASAR_STATIC_SRC_DIR}/main.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/asar_math.cpp" "${ASAR_STATIC_SRC_DIR}/asar_math.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/virtualfile.cpp" "${ASAR_STATIC_SRC_DIR}/virtualfile.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/warnings.cpp" "${ASAR_STATIC_SRC_DIR}/warnings.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/errors.cpp" "${ASAR_STATIC_SRC_DIR}/errors.cpp"
"${CMAKE_SOURCE_DIR}/src/lib/asar/src/asar/platform/file-helpers.cpp" "${ASAR_STATIC_SRC_DIR}/platform/file-helpers.cpp"
) )
if(WIN32 OR MINGW) 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() 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() endif()

View File

@@ -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) file(GLOB IMGUI_FILE_DLG_SOURCES ${IMGUI_FILE_DLG_PATH}/*.cpp)
add_library("ImGuiFileDialog" STATIC ${IMGUI_FILE_DLG_SOURCES}) add_library("ImGuiFileDialog" STATIC ${IMGUI_FILE_DLG_SOURCES})
target_include_directories(ImGuiFileDialog PUBLIC ${IMGUI_PATH}) 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) 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) file(GLOB IMGUI_COLOR_TEXT_EDIT_SOURCES ${IMGUI_COLOR_TEXT_EDIT_PATH}/*.cpp)
add_library("ImGuiColorTextEdit" STATIC ${IMGUI_COLOR_TEXT_EDIT_SOURCES}) add_library("ImGuiColorTextEdit" STATIC ${IMGUI_COLOR_TEXT_EDIT_SOURCES})
target_include_directories(ImGuiColorTextEdit PUBLIC ${IMGUI_PATH}) 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) 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) file(GLOB IMGUI_TEST_ENGINE_SOURCES ${IMGUI_TEST_ENGINE_PATH}/*.cpp)
add_library("ImGuiTestEngine" STATIC ${IMGUI_TEST_ENGINE_SOURCES}) add_library("ImGuiTestEngine" STATIC ${IMGUI_TEST_ENGINE_SOURCES})
target_include_directories(ImGuiTestEngine PUBLIC ${IMGUI_PATH}) target_include_directories(ImGuiTestEngine PUBLIC ${IMGUI_PATH})
target_link_libraries(ImGuiTestEngine PUBLIC ImGui) 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( set(
IMGUI_SRC IMGUI_SRC

View File

@@ -10,4 +10,7 @@ set(SDL_TARGETS SDL2::SDL2)
if(WIN32 OR MINGW) if(WIN32 OR MINGW)
list(PREPEND SDL_TARGETS SDL2::SDL2main ws2_32) list(PREPEND SDL_TARGETS SDL2::SDL2main ws2_32)
add_definitions(-DSDL_MAIN_HANDLED) add_definitions(-DSDL_MAIN_HANDLED)
endif() endif()
# libpng
find_package(PNG REQUIRED)

View File

@@ -150,4 +150,18 @@ target_link_libraries(
${CMAKE_DL_LIBS} ${CMAKE_DL_LIBS}
ImGuiTestEngine ImGuiTestEngine
ImGui 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()