prepare for something
This commit is contained in:
parent
f8642ae8f0
commit
40e992cc6f
|
@ -17,18 +17,17 @@ set(CMAKE_PROJECT_VERSION_MAJOR 0)
|
|||
set(CMAKE_PROJECT_VERSION_MINOR 6)
|
||||
set(CMAKE_PROJECT_VERSION_PATCH 0)
|
||||
|
||||
set(BUILD_GUI_DEFAULT ON)
|
||||
set(SYSTEM_SDL2_DEFAULT OFF)
|
||||
|
||||
if (ANDROID)
|
||||
set(BUILD_GUI_DEFAULT OFF)
|
||||
set(USE_RTMIDI_DEFAULT OFF)
|
||||
set(SYSTEM_SDL2_DEFAULT ON)
|
||||
else()
|
||||
set(BUILD_GUI_DEFAULT ON)
|
||||
set(USE_RTMIDI_DEFAULT ON)
|
||||
set(SYSTEM_SDL2_DEFAULT OFF)
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
if (PKG_CONFIG_FOUND AND NOT ANDROID)
|
||||
pkg_check_modules(JACK jack)
|
||||
set(WITH_JACK_DEFAULT ${JACK_FOUND})
|
||||
else()
|
||||
|
@ -168,8 +167,13 @@ if (SYSTEM_SDL2)
|
|||
endif()
|
||||
message(STATUS "Using system-installed SDL2")
|
||||
else()
|
||||
set(SDL_SHARED OFF CACHE BOOL "Force no dynamically-linked SDL" FORCE)
|
||||
set(SDL_STATIC ON CACHE BOOL "Force statically-linked SDL" FORCE)
|
||||
if (ANDROID)
|
||||
set(SDL_SHARED ON CACHE BOOL "Force no dynamically-linked SDL" FORCE)
|
||||
set(SDL_STATIC OFF CACHE BOOL "Force statically-linked SDL" FORCE)
|
||||
else()
|
||||
set(SDL_SHARED OFF CACHE BOOL "Force no dynamically-linked SDL" FORCE)
|
||||
set(SDL_STATIC ON CACHE BOOL "Force statically-linked SDL" FORCE)
|
||||
endif()
|
||||
# https://github.com/libsdl-org/SDL/issues/1481
|
||||
# On 2014-06-22 17:15:50 +0000, Sam Lantinga wrote:
|
||||
# If you link SDL statically, you also need to define HAVE_LIBC so it builds with the C runtime that your application uses.
|
||||
|
@ -177,7 +181,11 @@ else()
|
|||
set(SDL_LIBC ON CACHE BOOL "Tell SDL that we want it to use our C runtime (required for proper static linking)" FORCE)
|
||||
add_subdirectory(extern/SDL EXCLUDE_FROM_ALL)
|
||||
list(APPEND DEPENDENCIES_INCLUDE_DIRS extern/SDL/include)
|
||||
list(APPEND DEPENDENCIES_LIBRARIES SDL2-static)
|
||||
if (ANDROID)
|
||||
list(APPEND DEPENDENCIES_LIBRARIES SDL2)
|
||||
else()
|
||||
list(APPEND DEPENDENCIES_LIBRARIES SDL2-static)
|
||||
endif()
|
||||
# Work around add_subdirectory'd SDL not propagating HAVE_LIBC to MSVC furnace build
|
||||
if (MSVC)
|
||||
list(APPEND DEPENDENCIES_COMPILE_OPTIONS "/DHAVE_LIBC")
|
||||
|
@ -500,6 +508,8 @@ endif()
|
|||
|
||||
if (MSVC)
|
||||
add_executable(furnace WIN32 ${USED_SOURCES})
|
||||
elseif(ANDROID)
|
||||
add_library(furnace SHARED ${USED_SOURCES})
|
||||
else()
|
||||
add_executable(furnace ${USED_SOURCES})
|
||||
endif()
|
||||
|
@ -521,31 +531,33 @@ if (PKG_CONFIG_FOUND AND (SYSTEM_FMT OR SYSTEM_LIBSNDFILE OR SYSTEM_ZLIB OR SYST
|
|||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS furnace RUNTIME DESTINATION bin)
|
||||
|
||||
if (NOT WIN32 AND NOT APPLE)
|
||||
include(GNUInstallDirs)
|
||||
install(FILES res/furnace.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
||||
install(FILES res/furnace.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
|
||||
install(DIRECTORY papers DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/licenses/furnace)
|
||||
install(DIRECTORY demos DESTINATION ${CMAKE_INSTALL_DATADIR}/furnace)
|
||||
install(FILES res/logo.png RENAME furnace.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/1024x1024/apps)
|
||||
if (NOT ANDROID)
|
||||
install(TARGETS furnace RUNTIME DESTINATION bin)
|
||||
|
||||
if (NOT WIN32 AND NOT APPLE)
|
||||
include(GNUInstallDirs)
|
||||
install(FILES res/furnace.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
||||
install(FILES res/furnace.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
|
||||
install(DIRECTORY papers DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/licenses/furnace)
|
||||
install(DIRECTORY demos DESTINATION ${CMAKE_INSTALL_DATADIR}/furnace)
|
||||
install(FILES res/logo.png RENAME furnace.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/1024x1024/apps)
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_NAME "Furnace")
|
||||
set(CPACK_PACKAGE_VENDOR "tildearrow")
|
||||
set(CPACK_PACKAGE_DESCRIPTION "free and open-source chiptune tracker")
|
||||
|
||||
if (APPLE)
|
||||
set(CPACK_GENERATOR Bundle)
|
||||
set(CPACK_DMG_SLA_DIR ${CMAKE_SOURCE_DIR}/res/macLicense)
|
||||
set(CPACK_DMG_SLA_LANGUAGES en)
|
||||
set(CPACK_BUNDLE_NAME "Furnace")
|
||||
set(CPACK_DMG_VOLUME_NAME "Furnace")
|
||||
set(CPACK_BUNDLE_PLIST ${CMAKE_SOURCE_DIR}/res/Info.plist)
|
||||
set(CPACK_BUNDLE_ICON ${CMAKE_SOURCE_DIR}/res/icon.icns)
|
||||
set(CPACK_BUNDLE_STARTUP_COMMAND "furnace")
|
||||
endif()
|
||||
|
||||
include(CPack)
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_NAME "Furnace")
|
||||
set(CPACK_PACKAGE_VENDOR "tildearrow")
|
||||
set(CPACK_PACKAGE_DESCRIPTION "free and open-source chiptune tracker")
|
||||
|
||||
if (APPLE)
|
||||
set(CPACK_GENERATOR Bundle)
|
||||
set(CPACK_DMG_SLA_DIR ${CMAKE_SOURCE_DIR}/res/macLicense)
|
||||
set(CPACK_DMG_SLA_LANGUAGES en)
|
||||
set(CPACK_BUNDLE_NAME "Furnace")
|
||||
set(CPACK_DMG_VOLUME_NAME "Furnace")
|
||||
set(CPACK_BUNDLE_PLIST ${CMAKE_SOURCE_DIR}/res/Info.plist)
|
||||
set(CPACK_BUNDLE_ICON ${CMAKE_SOURCE_DIR}/res/icon.icns)
|
||||
set(CPACK_BUNDLE_STARTUP_COMMAND "furnace")
|
||||
endif()
|
||||
|
||||
include(CPack)
|
||||
|
|
|
@ -2648,6 +2648,8 @@ bool DivEngine::init() {
|
|||
// init config
|
||||
#ifdef _WIN32
|
||||
configPath=getWinConfigPath();
|
||||
#elif defined(ANDROID)
|
||||
configPath=SDL_GetPrefPath("tildearrow","furnace");
|
||||
#else
|
||||
struct stat st;
|
||||
char* home=getenv("HOME");
|
||||
|
|
|
@ -243,7 +243,7 @@ void initParams() {
|
|||
// TODO: add crash log
|
||||
int main(int argc, char** argv) {
|
||||
initLog();
|
||||
#if !(defined(__APPLE__) || defined(_WIN32))
|
||||
#if !(defined(__APPLE__) || defined(_WIN32) || defined(ANDROID))
|
||||
// workaround for Wayland HiDPI issue
|
||||
if (getenv("SDL_VIDEODRIVER")==NULL) {
|
||||
setenv("SDL_VIDEODRIVER","x11",1);
|
||||
|
|
Loading…
Reference in New Issue