mirror of
https://forgejo.xatacraft.ru/Sunshine/mkxp-sunshine.git
synced 2026-08-19 13:29:54 +00:00
Re-add CMakeLists.txt
This commit is contained in:
parent
220de0c33c
commit
9b15f70848
1 changed files with 302 additions and 0 deletions
302
CMakeLists.txt
Normal file
302
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,302 @@
|
|||
cmake_minimum_required(VERSION 2.8.11)
|
||||
Project(oneshot)
|
||||
|
||||
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
conan_basic_setup()
|
||||
|
||||
## Setup options ##
|
||||
|
||||
option(STEAM "Build for Steam" OFF)
|
||||
|
||||
## Misc setup ##
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
# IF("${CMAKE_SYSTEM}" MATCHES "Linux")
|
||||
# SET(LINUX ON)
|
||||
# ENDIF()
|
||||
|
||||
# set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6)
|
||||
|
||||
# IF(LINUX)
|
||||
# if(CMAKE_SIZEOF_VOID_P MATCHES "8" AND NOT(FORCE32) )
|
||||
# set(CMAKE_EXECUTABLE_SUFFIX ".bin.x86_64")
|
||||
# set(BIN_RPATH "\$ORIGIN/lib64")
|
||||
# set(LIB_PATH "lib64")
|
||||
# else()
|
||||
# set(CMAKE_EXECUTABLE_SUFFIX ".bin.x86")
|
||||
# set(BIN_RPATH "\$ORIGIN/lib")
|
||||
# set(LIB_PATH "lib")
|
||||
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_FILE_OFFSET_BITS=64")
|
||||
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FILE_OFFSET_BITS=64")
|
||||
# endif()
|
||||
# elseif(APPLE)
|
||||
# SET(BIN_RPATH "@executable_path/../Frameworks")
|
||||
# set(LIB_PATH "lib")
|
||||
# endif()
|
||||
|
||||
# set(CMAKE_SKIP_BUILD_RPATH TRUE)
|
||||
# set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
# set(CMAKE_INSTALL_RPATH ${BIN_RPATH})
|
||||
# set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
|
||||
|
||||
## Setup main source ##
|
||||
|
||||
set(MAIN_HEADERS
|
||||
src/quadarray.h
|
||||
src/audio.h
|
||||
src/binding.h
|
||||
src/bitmap.h
|
||||
src/disposable.h
|
||||
src/etc.h
|
||||
src/etc-internal.h
|
||||
src/eventthread.h
|
||||
src/flashable.h
|
||||
src/font.h
|
||||
src/input.h
|
||||
src/plane.h
|
||||
src/scene.h
|
||||
src/sprite.h
|
||||
src/table.h
|
||||
src/texpool.h
|
||||
src/tilequad.h
|
||||
src/transform.h
|
||||
src/viewport.h
|
||||
src/window.h
|
||||
src/serializable.h
|
||||
src/shader.h
|
||||
src/glstate.h
|
||||
src/quad.h
|
||||
src/tilemap.h
|
||||
src/tilemap-common.h
|
||||
src/graphics.h
|
||||
src/gl-debug.h
|
||||
src/global-ibo.h
|
||||
src/exception.h
|
||||
src/filesystem.h
|
||||
src/serial-util.h
|
||||
src/intrulist.h
|
||||
src/binding.h
|
||||
src/gl-util.h
|
||||
src/util.h
|
||||
src/config.h
|
||||
src/settingsmenu.h
|
||||
src/keybindings.h
|
||||
src/tileatlas.h
|
||||
src/sharedstate.h
|
||||
src/al-util.h
|
||||
src/boost-hash.h
|
||||
src/debugwriter.h
|
||||
src/gl-fun.h
|
||||
src/gl-meta.h
|
||||
src/vertex.h
|
||||
src/soundemitter.h
|
||||
src/aldatasource.h
|
||||
src/alstream.h
|
||||
src/audiostream.h
|
||||
src/rgssad.h
|
||||
src/sdl-util.h
|
||||
src/oneshot.h
|
||||
src/pipe.h
|
||||
chromasdk/RzChromaSDKDefines.h
|
||||
chromasdk/RzChromaSDKTypes.h
|
||||
chromasdk/RzErrors.h
|
||||
chromasdk/ChromaApi.h
|
||||
src/i18n.h
|
||||
)
|
||||
|
||||
set(MAIN_SOURCE
|
||||
src/main.cpp
|
||||
src/audio.cpp
|
||||
src/bitmap.cpp
|
||||
src/eventthread.cpp
|
||||
src/filesystem.cpp
|
||||
src/font.cpp
|
||||
src/input.cpp
|
||||
src/plane.cpp
|
||||
src/scene.cpp
|
||||
src/sprite.cpp
|
||||
src/table.cpp
|
||||
src/tilequad.cpp
|
||||
src/viewport.cpp
|
||||
src/window.cpp
|
||||
src/texpool.cpp
|
||||
src/shader.cpp
|
||||
src/glstate.cpp
|
||||
src/tilemap.cpp
|
||||
src/autotiles.cpp
|
||||
src/graphics.cpp
|
||||
src/gl-debug.cpp
|
||||
src/etc.cpp
|
||||
src/config.cpp
|
||||
src/settingsmenu.cpp
|
||||
src/keybindings.cpp
|
||||
src/tileatlas.cpp
|
||||
src/sharedstate.cpp
|
||||
src/gl-fun.cpp
|
||||
src/gl-meta.cpp
|
||||
src/vertex.cpp
|
||||
src/soundemitter.cpp
|
||||
src/sdlsoundsource.cpp
|
||||
src/alstream.cpp
|
||||
src/audiostream.cpp
|
||||
src/rgssad.cpp
|
||||
src/vorbissource.cpp
|
||||
src/oneshot.cpp
|
||||
src/screen.cpp
|
||||
src/i18n.cpp
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
list(APPEND MAIN_SOURCE assets/resources.rc)
|
||||
list(APPEND DEFINES UNICODE)
|
||||
list(APPEND PLATFORM_LIBRARIES Secur32)
|
||||
endif()
|
||||
|
||||
if (STEAM)
|
||||
list(APPEND MAIN_HEADERS
|
||||
src/steam.h
|
||||
steamshim/steamshim_child.h
|
||||
)
|
||||
list(APPEND MAIN_SOURCE
|
||||
src/steam.cpp
|
||||
steamshim/steamshim_child.c
|
||||
)
|
||||
list(APPEND DEFINES
|
||||
STEAM
|
||||
)
|
||||
endif()
|
||||
|
||||
source_group("MKXP Source" FILES ${MAIN_SOURCE} ${MAIN_HEADERS})
|
||||
|
||||
## Setup embedded source ##
|
||||
|
||||
set(EMBEDDED_INPUT
|
||||
shader/common.h
|
||||
shader/transSimple.frag
|
||||
shader/trans.frag
|
||||
shader/hue.frag
|
||||
shader/sprite.frag
|
||||
shader/plane.frag
|
||||
shader/gray.frag
|
||||
shader/bitmapBlit.frag
|
||||
shader/flatColor.frag
|
||||
shader/simple.frag
|
||||
shader/simpleColor.frag
|
||||
shader/simpleAlpha.frag
|
||||
shader/simpleAlphaUni.frag
|
||||
shader/flashMap.frag
|
||||
shader/obscured.frag
|
||||
shader/minimal.vert
|
||||
shader/simple.vert
|
||||
shader/simpleColor.vert
|
||||
shader/sprite.vert
|
||||
shader/tilemap.vert
|
||||
shader/blur.frag
|
||||
shader/blurH.vert
|
||||
shader/blurV.vert
|
||||
shader/simpleMatrix.vert
|
||||
assets/icon.png
|
||||
assets/gamecontrollerdb.txt
|
||||
)
|
||||
|
||||
if (RGSS2)
|
||||
list(APPEND DEFINES
|
||||
RGSS2
|
||||
)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
list(APPEND DEFINES
|
||||
_CRT_SECURE_NO_WARNINGS
|
||||
NOMINMAX
|
||||
)
|
||||
endif()
|
||||
|
||||
## Process Embeddeds ##
|
||||
|
||||
find_program(XXD_EXE xxd
|
||||
DOC "Location of the xxd executable"
|
||||
)
|
||||
|
||||
macro(ProcessWithXXD outvar inputfile outdir)
|
||||
get_filename_component(basefile ${inputfile} NAME)
|
||||
set(outputfile ${outdir}/${basefile}.xxd)
|
||||
set_source_files_properties(${outputfile} PROPERTIES HEADER_ONLY TRUE)
|
||||
add_custom_command(
|
||||
OUTPUT ${outputfile}
|
||||
COMMAND ${XXD_EXE} -i ${inputfile} ${outputfile}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${inputfile}
|
||||
COMMENT "Generating XXD for ${inputfile}"
|
||||
)
|
||||
list(APPEND ${outvar}
|
||||
${outputfile}
|
||||
)
|
||||
endmacro()
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/xxdhack)
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/xxdhack
|
||||
)
|
||||
|
||||
foreach(item ${EMBEDDED_INPUT})
|
||||
ProcessWithXXD(EMBEDDED_SOURCE ${item} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
endforeach()
|
||||
|
||||
source_group("Embedded Source" FILES ${EMBEDDED_INPUT} ${EMBEDDED_SOURCE})
|
||||
|
||||
## Setup binding source ##
|
||||
|
||||
list(APPEND DEFINES
|
||||
BINDING_MRI
|
||||
)
|
||||
set(BINDING_HEADERS
|
||||
binding-mri/binding-util.h
|
||||
binding-mri/binding-types.h
|
||||
binding-mri/serializable-binding.h
|
||||
binding-mri/disposable-binding.h
|
||||
binding-mri/sceneelement-binding.h
|
||||
binding-mri/viewportelement-binding.h
|
||||
binding-mri/flashable-binding.h
|
||||
)
|
||||
set(BINDING_SOURCE
|
||||
binding-mri/binding-mri.cpp
|
||||
binding-mri/binding-util.cpp
|
||||
binding-mri/table-binding.cpp
|
||||
binding-mri/etc-binding.cpp
|
||||
binding-mri/bitmap-binding.cpp
|
||||
binding-mri/font-binding.cpp
|
||||
binding-mri/graphics-binding.cpp
|
||||
binding-mri/input-binding.cpp
|
||||
binding-mri/sprite-binding.cpp
|
||||
binding-mri/viewport-binding.cpp
|
||||
binding-mri/plane-binding.cpp
|
||||
binding-mri/window-binding.cpp
|
||||
binding-mri/tilemap-binding.cpp
|
||||
binding-mri/audio-binding.cpp
|
||||
binding-mri/module_rpg.cpp
|
||||
binding-mri/filesystem-binding.cpp
|
||||
binding-mri/oneshot-binding.cpp
|
||||
binding-mri/steam-binding.cpp
|
||||
binding-mri/wallpaper-binding.cpp
|
||||
binding-mri/journal-binding.cpp
|
||||
binding-mri/chroma-binding.cpp
|
||||
binding-mri/niko-binding.cpp
|
||||
)
|
||||
|
||||
source_group("Binding Source" FILES ${BINDING_SOURCE} ${BINDING_HEADERS})
|
||||
|
||||
## Setup main executable ##
|
||||
|
||||
add_executable(${PROJECT_NAME} MACOSX_BUNDLE WIN32
|
||||
${MAIN_HEADERS}
|
||||
${MAIN_SOURCE}
|
||||
${BINDING_HEADERS}
|
||||
${BINDING_SOURCE}
|
||||
${EMBEDDED_SOURCE}
|
||||
)
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE ${DEFINES})
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE src)
|
||||
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS} ${PLATFORM_LIBRARIES})
|
||||
Loading…
Reference in a new issue