move CONFIG_vita
@ -39,23 +39,17 @@ option(ISLE_BUILD_APP "Build isle application" ON)
|
||||
option(ISLE_ASAN "Enable Address Sanitizer" OFF)
|
||||
option(ISLE_UBSAN "Enable Undefined Behavior Sanitizer" OFF)
|
||||
option(ISLE_WERROR "Treat warnings as errors" OFF)
|
||||
option(ISLE_DEBUG "Enable imgui debug" ON)
|
||||
cmake_dependent_option(ISLE_DEBUG "Enable imgui debug" ON "NOT VITA" OFF)
|
||||
cmake_dependent_option(ISLE_USE_DX5 "Build with internal DirectX 5 SDK" "${NOT_MINGW}" "WIN32;CMAKE_SIZEOF_VOID_P EQUAL 4" OFF)
|
||||
cmake_dependent_option(ISLE_MINIWIN "Use miniwin" ON "NOT ISLE_USE_DX5" OFF)
|
||||
cmake_dependent_option(ISLE_BUILD_CONFIG "Build CONFIG.EXE application" ON "MSVC OR ISLE_MINIWIN;NOT NINTENDO_3DS;NOT WINDOWS_STORE;NOT VITA" OFF)
|
||||
cmake_dependent_option(ISLE_COMPILE_SHADERS "Compile shaders" ON "SDL_SHADERCROSS_BIN;TARGET Python3::Interpreter" OFF)
|
||||
option(CMAKE_POSITION_INDEPENDENT_CODE "Build with -fPIC" ON)
|
||||
cmake_dependent_option(CMAKE_POSITION_INDEPENDENT_CODE "Build with -fPIC" ON "NOT VITA" OFF)
|
||||
option(ENABLE_CLANG_TIDY "Enable clang-tidy")
|
||||
option(DOWNLOAD_DEPENDENCIES "Download dependencies" ON)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" CACHE PATH "Directory where to put executables and dll")
|
||||
set(ISLE_EMSCRIPTEN_HOST "" CACHE STRING "Host URL for Emscripten streaming (e.g., https://test.com)")
|
||||
cmake_dependent_option(BUILD_SHARED_LIBS "Build lego1 as a shared library" ON "NOT EMSCRIPTEN" OFF)
|
||||
|
||||
if(VITA)
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
set(ISLE_DEBUG OFF)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
|
||||
endif()
|
||||
cmake_dependent_option(BUILD_SHARED_LIBS "Build lego1 as a shared library" ON "NOT EMSCRIPTEN;NOT VITA" OFF)
|
||||
|
||||
message(STATUS "Isle app: ${ISLE_BUILD_APP}")
|
||||
message(STATUS "Config app: ${ISLE_BUILD_CONFIG}")
|
||||
@ -86,14 +80,7 @@ if (DOWNLOAD_DEPENDENCIES)
|
||||
EXCLUDE_FROM_ALL
|
||||
)
|
||||
endif()
|
||||
|
||||
block()
|
||||
if(VITA)
|
||||
set(SDL_RENDER OFF)
|
||||
set(SDL_GPU OFF)
|
||||
endif()
|
||||
FetchContent_MakeAvailable(SDL3)
|
||||
endblock()
|
||||
FetchContent_MakeAvailable(SDL3)
|
||||
|
||||
FetchContent_Declare(
|
||||
iniparser
|
||||
@ -172,12 +159,7 @@ target_link_directories(DirectX5::DirectX5 INTERFACE "${CMAKE_SOURCE_DIR}/3rdpar
|
||||
add_library(Vec::Vec INTERFACE IMPORTED)
|
||||
target_include_directories(Vec::Vec INTERFACE "${CMAKE_SOURCE_DIR}/3rdparty/vec")
|
||||
|
||||
set(LIBRARY_TYPE "STATIC")
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(LIBRARY_TYPE "SHARED")
|
||||
endif()
|
||||
|
||||
add_library(lego1 ${LIBRARY_TYPE}
|
||||
add_library(lego1
|
||||
LEGO1/main.cpp
|
||||
)
|
||||
target_precompile_headers(lego1 PRIVATE "LEGO1/lego1_pch.h")
|
||||
@ -611,35 +593,7 @@ if (ISLE_BUILD_APP)
|
||||
endif()
|
||||
|
||||
if (ISLE_BUILD_CONFIG)
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core Widgets)
|
||||
qt_standard_project_setup()
|
||||
qt_add_executable(isle-config WIN32
|
||||
LEGO1/mxdirectx/mxdirectxinfo.cpp
|
||||
LEGO1/mxdirectx/legodxinfo.cpp
|
||||
CONFIG/config.cpp
|
||||
CONFIG/AboutDlg.cpp
|
||||
CONFIG/MainDlg.cpp
|
||||
CONFIG/detectdx5.cpp
|
||||
CONFIG/res/config.rc
|
||||
CONFIG/res/config.qrc
|
||||
)
|
||||
target_link_libraries(isle-config PRIVATE Qt6::Core Qt6::Widgets)
|
||||
set_property(TARGET isle-config PROPERTY AUTOMOC ON)
|
||||
set_property(TARGET isle-config PROPERTY AUTORCC ON)
|
||||
set_property(TARGET isle-config PROPERTY AUTOUIC ON)
|
||||
set_property(TARGET isle-config PROPERTY AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/CONFIG/res")
|
||||
list(APPEND isle_targets isle-config)
|
||||
target_compile_definitions(isle-config PRIVATE _AFXDLL MXDIRECTX_FOR_CONFIG)
|
||||
target_include_directories(isle-config PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/LEGO1")
|
||||
target_include_directories(isle-config PUBLIC "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/util>")
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
|
||||
target_link_libraries(isle-config PRIVATE DirectX5::DirectX5)
|
||||
endif()
|
||||
target_compile_definitions(isle-config PRIVATE DIRECT3D_VERSION=0x500)
|
||||
target_link_libraries(isle-config PRIVATE SDL3::SDL3 Isle::iniparser)
|
||||
if (NOT ISLE_MINIWIN)
|
||||
target_link_libraries(isle-config PRIVATE ddraw dxguid)
|
||||
endif()
|
||||
add_subdirectory(CONFIG/qt)
|
||||
endif()
|
||||
|
||||
if (ISLE_MINIWIN)
|
||||
@ -734,30 +688,6 @@ if (NOT (NINTENDO_3DS OR WINDOWS_STORE))
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
)
|
||||
endif()
|
||||
if (ISLE_BUILD_CONFIG)
|
||||
if(WIN32)
|
||||
find_program(WINDEPLOYQT_EXECUTABLE windeployqt)
|
||||
if(WINDEPLOYQT_EXECUTABLE)
|
||||
install(CODE "message(STATUS \"Running windeployqt with minimal dependencies\")
|
||||
execute_process(COMMAND \"${WINDEPLOYQT_EXECUTABLE}\"
|
||||
\"$<TARGET_FILE:isle-config>\"
|
||||
--dir QTLibs
|
||||
--no-compiler-runtime
|
||||
--no-opengl-sw
|
||||
--no-system-d3d-compiler
|
||||
--no-translations
|
||||
--no-quick-import
|
||||
)"
|
||||
)
|
||||
install(DIRECTORY "Build/QTLibs/" DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
else()
|
||||
message(STATUS "windeployqt not found: Qt binaries will not be installed")
|
||||
endif()
|
||||
endif()
|
||||
install(TARGETS isle-config
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
)
|
||||
endif()
|
||||
if(EMSCRIPTEN)
|
||||
install(FILES "$<TARGET_FILE_DIR:isle>/isle.js" "$<TARGET_FILE_DIR:isle>/isle.wasm"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
@ -793,17 +723,17 @@ endif()
|
||||
if(VITA)
|
||||
include("${VITASDK}/share/vita.cmake" REQUIRED)
|
||||
|
||||
include(CONFIG_vita/CONFIG_vita.cmake)
|
||||
add_subdirectory(CONFIG/vita)
|
||||
|
||||
set(ISLE_PACKAGE_NAME "vita-isle")
|
||||
set(VITA_APP_NAME "Lego Island")
|
||||
set(VITA_TITLEID "LEGO00001")
|
||||
set(VITA_VERSION "01.00")
|
||||
|
||||
|
||||
vita_create_self(isle.self isle UNSAFE)
|
||||
|
||||
list(APPEND VPK_FILE_ARGS FILE ${CMAKE_CURRENT_BINARY_DIR}/isle-config.self isle-config.self)
|
||||
list(APPEND VPK_FILE_ARGS FILE ${CMAKE_CURRENT_BINARY_DIR}/config_plugin.rco config_plugin.rco)
|
||||
list(APPEND VPK_FILE_ARGS FILE ${ISLE_CONFIG_SELF} isle-config.self)
|
||||
list(APPEND VPK_FILE_ARGS FILE ${ISLE_CONFIG_RCO} config_plugin.rco)
|
||||
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/icon0.png sce_sys/icon0.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/pic0.png sce_sys/pic0.png)
|
||||
@ -843,7 +773,6 @@ if(VITA)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/027.png sce_sys/manual/027.png)
|
||||
list(APPEND VPK_FILE_ARGS FILE packaging/vita/sce_sys/manual/028.png sce_sys/manual/028.png)
|
||||
|
||||
|
||||
vita_create_vpk(isle.vpk ${VITA_TITLEID} isle.self
|
||||
VERSION ${VITA_VERSION}
|
||||
NAME ${VITA_APP_NAME}
|
||||
|
||||
@ -7,22 +7,25 @@
|
||||
},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "release",
|
||||
"name": "base",
|
||||
"generator": "Ninja",
|
||||
"binaryDir": "${sourceDir}/build/${presetName}",
|
||||
"hidden": true
|
||||
},
|
||||
{
|
||||
"name": "release",
|
||||
"inherits": ["base"],
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "debug",
|
||||
"inherits": ["release"],
|
||||
"inherits": ["base"],
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"ISLE_BUILD_CONFIG": false
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"name": "vita",
|
||||
"inherits": ["release"],
|
||||
@ -30,13 +33,9 @@
|
||||
"CMAKE_TOOLCHAIN_FILE": "$env{VITASDK}/share/vita.toolchain.cmake"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"name": "vita-debug",
|
||||
"inherits": ["debug"],
|
||||
"cacheVariables": {
|
||||
"CMAKE_TOOLCHAIN_FILE": "$env{VITASDK}/share/vita.toolchain.cmake"
|
||||
}
|
||||
"inherits": ["vita", "debug"]
|
||||
}
|
||||
]
|
||||
}
|
||||
57
CONFIG/qt/CMakeLists.txt
Normal file
@ -0,0 +1,57 @@
|
||||
cmake_minimum_required(VERSION 3.25...4.0 FATAL_ERROR)
|
||||
|
||||
project(isle-config LANGUAGES CXX C VERSION 0.1)
|
||||
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core Widgets)
|
||||
qt_standard_project_setup()
|
||||
qt_add_executable(isle-config WIN32
|
||||
../../LEGO1/mxdirectx/mxdirectxinfo.cpp
|
||||
../../LEGO1/mxdirectx/legodxinfo.cpp
|
||||
config.cpp
|
||||
AboutDlg.cpp
|
||||
MainDlg.cpp
|
||||
detectdx5.cpp
|
||||
res/config.rc
|
||||
res/config.qrc
|
||||
)
|
||||
target_link_libraries(isle-config PRIVATE Qt6::Core Qt6::Widgets)
|
||||
set_property(TARGET isle-config PROPERTY AUTOMOC ON)
|
||||
set_property(TARGET isle-config PROPERTY AUTORCC ON)
|
||||
set_property(TARGET isle-config PROPERTY AUTOUIC ON)
|
||||
set_property(TARGET isle-config PROPERTY AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/res")
|
||||
target_compile_definitions(isle-config PRIVATE _AFXDLL MXDIRECTX_FOR_CONFIG)
|
||||
target_include_directories(isle-config PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../../LEGO1")
|
||||
target_include_directories(isle-config PUBLIC "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/util>")
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14)
|
||||
target_link_libraries(isle-config PRIVATE DirectX5::DirectX5)
|
||||
endif()
|
||||
target_compile_definitions(isle-config PRIVATE DIRECT3D_VERSION=0x500)
|
||||
target_link_libraries(isle-config PRIVATE SDL3::SDL3 Isle::iniparser)
|
||||
if (NOT ISLE_MINIWIN)
|
||||
target_link_libraries(isle-config PRIVATE ddraw dxguid)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
find_program(WINDEPLOYQT_EXECUTABLE windeployqt)
|
||||
if(WINDEPLOYQT_EXECUTABLE)
|
||||
install(CODE "message(STATUS \"Running windeployqt with minimal dependencies\")
|
||||
execute_process(COMMAND \"${WINDEPLOYQT_EXECUTABLE}\"
|
||||
\"$<TARGET_FILE:isle-config>\"
|
||||
--dir QTLibs
|
||||
--no-compiler-runtime
|
||||
--no-opengl-sw
|
||||
--no-system-d3d-compiler
|
||||
--no-translations
|
||||
--no-quick-import
|
||||
)"
|
||||
)
|
||||
install(DIRECTORY "Build/QTLibs/" DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
else()
|
||||
message(STATUS "windeployqt not found: Qt binaries will not be installed")
|
||||
endif()
|
||||
endif()
|
||||
install(TARGETS isle-config
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
)
|
||||
|
||||
set(isle_targets ${isle_targets};isle-config PARENT_SCOPE)
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 477 B After Width: | Height: | Size: 477 B |
|
Before Width: | Height: | Size: 397 B After Width: | Height: | Size: 397 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@ -1,4 +1,9 @@
|
||||
# config app
|
||||
cmake_minimum_required(VERSION 3.25...4.0 FATAL_ERROR)
|
||||
|
||||
project(isle-config LANGUAGES CXX C VERSION 0.1)
|
||||
|
||||
include("${VITASDK}/share/vita.cmake" REQUIRED)
|
||||
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
ScePaf_External
|
||||
@ -7,8 +12,12 @@ FetchContent_Declare(
|
||||
FetchContent_MakeAvailable(ScePaf_External)
|
||||
|
||||
add_executable(isle-config
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/app.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/main.cpp
|
||||
src/app.cpp
|
||||
src/main.cpp
|
||||
)
|
||||
|
||||
set_target_properties(isle-config PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
target_compile_options(isle-config PRIVATE
|
||||
@ -34,7 +43,7 @@ target_link_libraries(isle-config PRIVATE
|
||||
block()
|
||||
set(VITA_MAKE_FSELF_FLAGS "${VITA_MAKE_FSELF_FLAGS} -a 0x2F00000000000101")
|
||||
vita_create_self(isle-config.self isle-config
|
||||
CONFIG CONFIG_vita/exports.yml
|
||||
CONFIG exports.yml
|
||||
UNSAFE
|
||||
STRIPPED
|
||||
REL_OPTIMIZE
|
||||
@ -42,4 +51,7 @@ block()
|
||||
endblock()
|
||||
|
||||
include(${scepaf_external_SOURCE_DIR}/rco.cmake)
|
||||
make_rco(${CMAKE_CURRENT_LIST_DIR}/cxml/config_plugin.xml config_plugin.rco)
|
||||
make_rco(cxml/config_plugin.xml config_plugin.rco)
|
||||
|
||||
set(ISLE_CONFIG_SELF ${CMAKE_CURRENT_BINARY_DIR}/isle-config.self PARENT_SCOPE)
|
||||
set(ISLE_CONFIG_RCO ${CMAKE_CURRENT_BINARY_DIR}/config_plugin.rco PARENT_SCOPE)
|
||||
@ -7,11 +7,8 @@ void VITA_SetupDefaultConfigOverrides(dictionary* p_dictionary)
|
||||
{
|
||||
SDL_Log("Overriding default config for VITA");
|
||||
|
||||
iniparser_set(p_dictionary, "isle:diskpath", "ux0:isledecompile/isle/disk");
|
||||
iniparser_set(p_dictionary, "isle:cdpath", "ux0:isledecompile/isle/cd");
|
||||
iniparser_set(p_dictionary, "isle:diskpath", "ux0:data/isledecompile/isle/disk");
|
||||
iniparser_set(p_dictionary, "isle:cdpath", "ux0:data/isledecompile/isle/cd");
|
||||
iniparser_set(p_dictionary, "isle:UseJoystick", "true");
|
||||
iniparser_set(p_dictionary, "isle:Draw Cursor", "true");
|
||||
|
||||
// Use e_noAnimation/cut transition
|
||||
// iniparser_set(p_dictionary, "isle:Transition Type", "1");
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ target_compile_definitions(miniwin PRIVATE
|
||||
list(APPEND GRAPHICS_BACKENDS USE_SOFTWARE_RENDER)
|
||||
list(APPEND GRAPHICS_BACKENDS USE_SDL_GPU)
|
||||
|
||||
if(NOT VITA AND NOT WINDOWS_STORE)
|
||||
if(NOT (VITA OR WINDOWS_STORE))
|
||||
find_package(OpenGL)
|
||||
if(OpenGL_FOUND)
|
||||
message(STATUS "Found OpenGL: enabling OpenGL 1.x renderer")
|
||||
|
||||