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_MINOR 6)
|
||||||
set(CMAKE_PROJECT_VERSION_PATCH 0)
|
set(CMAKE_PROJECT_VERSION_PATCH 0)
|
||||||
|
|
||||||
|
set(BUILD_GUI_DEFAULT ON)
|
||||||
|
set(SYSTEM_SDL2_DEFAULT OFF)
|
||||||
|
|
||||||
if (ANDROID)
|
if (ANDROID)
|
||||||
set(BUILD_GUI_DEFAULT OFF)
|
|
||||||
set(USE_RTMIDI_DEFAULT OFF)
|
set(USE_RTMIDI_DEFAULT OFF)
|
||||||
set(SYSTEM_SDL2_DEFAULT ON)
|
|
||||||
else()
|
else()
|
||||||
set(BUILD_GUI_DEFAULT ON)
|
|
||||||
set(USE_RTMIDI_DEFAULT ON)
|
set(USE_RTMIDI_DEFAULT ON)
|
||||||
set(SYSTEM_SDL2_DEFAULT OFF)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
if (PKG_CONFIG_FOUND)
|
if (PKG_CONFIG_FOUND AND NOT ANDROID)
|
||||||
pkg_check_modules(JACK jack)
|
pkg_check_modules(JACK jack)
|
||||||
set(WITH_JACK_DEFAULT ${JACK_FOUND})
|
set(WITH_JACK_DEFAULT ${JACK_FOUND})
|
||||||
else()
|
else()
|
||||||
|
@ -168,8 +167,13 @@ if (SYSTEM_SDL2)
|
||||||
endif()
|
endif()
|
||||||
message(STATUS "Using system-installed SDL2")
|
message(STATUS "Using system-installed SDL2")
|
||||||
else()
|
else()
|
||||||
set(SDL_SHARED OFF CACHE BOOL "Force no dynamically-linked SDL" FORCE)
|
if (ANDROID)
|
||||||
set(SDL_STATIC ON CACHE BOOL "Force statically-linked SDL" FORCE)
|
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
|
# https://github.com/libsdl-org/SDL/issues/1481
|
||||||
# On 2014-06-22 17:15:50 +0000, Sam Lantinga wrote:
|
# 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.
|
# 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)
|
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)
|
add_subdirectory(extern/SDL EXCLUDE_FROM_ALL)
|
||||||
list(APPEND DEPENDENCIES_INCLUDE_DIRS extern/SDL/include)
|
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
|
# Work around add_subdirectory'd SDL not propagating HAVE_LIBC to MSVC furnace build
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
list(APPEND DEPENDENCIES_COMPILE_OPTIONS "/DHAVE_LIBC")
|
list(APPEND DEPENDENCIES_COMPILE_OPTIONS "/DHAVE_LIBC")
|
||||||
|
@ -500,6 +508,8 @@ endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_executable(furnace WIN32 ${USED_SOURCES})
|
add_executable(furnace WIN32 ${USED_SOURCES})
|
||||||
|
elseif(ANDROID)
|
||||||
|
add_library(furnace SHARED ${USED_SOURCES})
|
||||||
else()
|
else()
|
||||||
add_executable(furnace ${USED_SOURCES})
|
add_executable(furnace ${USED_SOURCES})
|
||||||
endif()
|
endif()
|
||||||
|
@ -521,31 +531,33 @@ if (PKG_CONFIG_FOUND AND (SYSTEM_FMT OR SYSTEM_LIBSNDFILE OR SYSTEM_ZLIB OR SYST
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(TARGETS furnace RUNTIME DESTINATION bin)
|
if (NOT ANDROID)
|
||||||
|
install(TARGETS furnace RUNTIME DESTINATION bin)
|
||||||
|
|
||||||
if (NOT WIN32 AND NOT APPLE)
|
if (NOT WIN32 AND NOT APPLE)
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
install(FILES res/furnace.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
install(FILES res/furnace.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
||||||
install(FILES res/furnace.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
|
install(FILES res/furnace.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
|
||||||
install(DIRECTORY papers DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
install(DIRECTORY papers DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||||
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/licenses/furnace)
|
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/licenses/furnace)
|
||||||
install(DIRECTORY demos DESTINATION ${CMAKE_INSTALL_DATADIR}/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)
|
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()
|
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
|
// init config
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
configPath=getWinConfigPath();
|
configPath=getWinConfigPath();
|
||||||
|
#elif defined(ANDROID)
|
||||||
|
configPath=SDL_GetPrefPath("tildearrow","furnace");
|
||||||
#else
|
#else
|
||||||
struct stat st;
|
struct stat st;
|
||||||
char* home=getenv("HOME");
|
char* home=getenv("HOME");
|
||||||
|
|
|
@ -243,7 +243,7 @@ void initParams() {
|
||||||
// TODO: add crash log
|
// TODO: add crash log
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
initLog();
|
initLog();
|
||||||
#if !(defined(__APPLE__) || defined(_WIN32))
|
#if !(defined(__APPLE__) || defined(_WIN32) || defined(ANDROID))
|
||||||
// workaround for Wayland HiDPI issue
|
// workaround for Wayland HiDPI issue
|
||||||
if (getenv("SDL_VIDEODRIVER")==NULL) {
|
if (getenv("SDL_VIDEODRIVER")==NULL) {
|
||||||
setenv("SDL_VIDEODRIVER","x11",1);
|
setenv("SDL_VIDEODRIVER","x11",1);
|
||||||
|
|
Loading…
Reference in a new issue