mirror of
https://github.com/libretro/hatari.git
synced 2026-11-07 10:36:00 -10:00
Add ENABLE_HATARI option to disable building main binary
This commit is contained in:
1 parent
0e9eaea6e3
commit
efb1741a49
3 files changed
+77
-48
No files matched your search
+6
-3
@@ -52,6 +52,7 @@ endfunction (check_large_file)
|
||||
# Conditional build features
|
||||
# ##########################
|
||||
|
||||
option(ENABLE_HATARI "Build the main Hatari executable" ON)
|
||||
option(ENABLE_DSP_EMU "Enable DSP 56k emulator for Falcon mode" ON)
|
||||
option(ENABLE_TRACING "Enable tracing messages for debugging" ON)
|
||||
option(ENABLE_TOOLS "Build the Hatari tools" ON)
|
||||
@@ -110,7 +111,7 @@ endif(ENABLE_OSX_BUNDLE)
|
||||
# Check for libraries:
|
||||
# ####################
|
||||
|
||||
if(NOT DEFINED ENABLE_SDL3 OR ENABLE_SDL3)
|
||||
if(ENABLE_HATARI AND NOT DEFINED ENABLE_SDL3 OR ENABLE_SDL3)
|
||||
find_package(SDL3 QUIET)
|
||||
endif()
|
||||
if(SDL3_FOUND)
|
||||
@@ -119,7 +120,7 @@ if(SDL3_FOUND)
|
||||
set(SDL2_LIBRARIES ${SDL3_LIBRARIES})
|
||||
set(SDL2_LIBDIR $<TARGET_FILE_DIR:SDL3::SDL3-shared>)
|
||||
set(ENABLE_SDL3 1 CACHE BOOL "Use SDL3 instead of SDL2")
|
||||
else()
|
||||
elseif(ENABLE_HATARI)
|
||||
find_package(SDL2)
|
||||
if(NOT SDL2_FOUND)
|
||||
message(FATAL_ERROR "SDL library not found!")
|
||||
@@ -457,7 +458,9 @@ Libraries summary :
|
||||
-------------------
|
||||
")
|
||||
|
||||
if(SDL3_FOUND)
|
||||
if(NOT ENABLE_HATARI)
|
||||
message(" - sdl :\tnot building the main Hatari executable")
|
||||
elseif(SDL3_FOUND)
|
||||
message(" - sdl :\tusing SDL3 ${SDL3_VERSION}")
|
||||
else()
|
||||
message(" - sdl :\tusing SDL2 ${SDL2_VERSION}")
|
||||
|
||||
+69
-43
@@ -152,10 +152,12 @@ endif(ENABLE_LIBRETRO)
|
||||
add_subdirectory(cpu)
|
||||
add_subdirectory(debug)
|
||||
add_subdirectory(falcon)
|
||||
add_subdirectory(gui-sdl)
|
||||
add_subdirectory(sdl)
|
||||
|
||||
set(APP_TARGET_OBJECTS
|
||||
if(ENABLE_HATARI)
|
||||
add_subdirectory(gui-sdl)
|
||||
add_subdirectory(sdl)
|
||||
|
||||
set(APP_TARGET_OBJECTS
|
||||
$<TARGET_OBJECTS:Core>
|
||||
$<TARGET_OBJECTS:CoreHmsa>
|
||||
$<TARGET_OBJECTS:Falcon>
|
||||
@@ -163,9 +165,12 @@ set(APP_TARGET_OBJECTS
|
||||
$<TARGET_OBJECTS:GuiSdl>
|
||||
$<TARGET_OBJECTS:Debug>
|
||||
$<TARGET_OBJECTS:Ui>)
|
||||
endif(ENABLE_HATARI)
|
||||
|
||||
# When building for macOS, add specific sources
|
||||
if(ENABLE_OSX_BUNDLE)
|
||||
if(NOT ENABLE_HATARI)
|
||||
# When not building the main executable, then skip the following steps
|
||||
elseif(ENABLE_OSX_BUNDLE)
|
||||
# When building for macOS, add specific sources
|
||||
add_executable(${APP_NAME} MACOSX_BUNDLE ${GUIOSX_RSRCS} ${GUIOSX_DOCS}
|
||||
${APP_TARGET_OBJECTS} ${GUIOSX_SOURCES})
|
||||
target_compile_definitions(${APP_NAME} PRIVATE SDL_ENABLE_OLD_NAMES)
|
||||
@@ -291,12 +296,7 @@ elseif(EMSCRIPTEN)
|
||||
# Other targets, use default sources
|
||||
else()
|
||||
add_executable(${APP_NAME} ${APP_TARGET_OBJECTS})
|
||||
endif(ENABLE_OSX_BUNDLE)
|
||||
|
||||
if(SDL2_OTHER_CFLAGS)
|
||||
target_compile_definitions(${APP_NAME} PRIVATE ${SDL2_OTHER_CFLAGS})
|
||||
# message(STATUS "Additional CFLAGS of SDL: ${SDL2_OTHER_CFLAGS}")
|
||||
endif(SDL2_OTHER_CFLAGS)
|
||||
endif()
|
||||
|
||||
if(ENABLE_LIBRETRO)
|
||||
add_library(retro-hatari MODULE
|
||||
@@ -308,91 +308,117 @@ if(ENABLE_LIBRETRO)
|
||||
$<TARGET_OBJECTS:UiRetro>)
|
||||
endif(ENABLE_LIBRETRO)
|
||||
|
||||
target_link_libraries(${APP_NAME} ${SDL2_LIBRARIES})
|
||||
if(ENABLE_HATARI)
|
||||
if(SDL2_OTHER_CFLAGS)
|
||||
target_compile_definitions(${APP_NAME} PRIVATE ${SDL2_OTHER_CFLAGS})
|
||||
# message(STATUS "Additional CFLAGS of SDL: ${SDL2_OTHER_CFLAGS}")
|
||||
endif(SDL2_OTHER_CFLAGS)
|
||||
|
||||
if(Math_FOUND AND NOT APPLE)
|
||||
target_link_libraries(${APP_NAME} ${MATH_LIBRARY})
|
||||
endif()
|
||||
target_link_libraries(${APP_NAME} ${SDL2_LIBRARIES})
|
||||
|
||||
if(Math_FOUND AND NOT APPLE)
|
||||
target_link_libraries(${APP_NAME} ${MATH_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(X11_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${X11_LIBRARIES})
|
||||
endif(X11_FOUND)
|
||||
|
||||
if(WIN32)
|
||||
# Needed for socket() on Windows
|
||||
target_link_libraries(${APP_NAME} ws2_32)
|
||||
endif(WIN32)
|
||||
endif(ENABLE_HATARI)
|
||||
|
||||
if(Readline_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${READLINE_LIBRARY})
|
||||
if(ENABLE_HATARI)
|
||||
target_link_libraries(${APP_NAME} ${READLINE_LIBRARY})
|
||||
endif(ENABLE_HATARI)
|
||||
if(ENABLE_LIBRETRO)
|
||||
target_link_libraries(retro-hatari ${READLINE_LIBRARY})
|
||||
endif(ENABLE_LIBRETRO)
|
||||
endif(Readline_FOUND)
|
||||
|
||||
if(ZLIB_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${ZLIB_LIBRARY})
|
||||
if(ENABLE_HATARI)
|
||||
target_link_libraries(${APP_NAME} ${ZLIB_LIBRARY})
|
||||
endif(ENABLE_HATARI)
|
||||
if(ENABLE_LIBRETRO)
|
||||
target_link_libraries(retro-hatari ${ZLIB_LIBRARY})
|
||||
endif(ENABLE_LIBRETRO)
|
||||
endif(ZLIB_FOUND)
|
||||
|
||||
if(LibArchive_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${LibArchive_LIBRARIES})
|
||||
if(ENABLE_HATARI)
|
||||
target_link_libraries(${APP_NAME} ${LibArchive_LIBRARIES})
|
||||
endif(ENABLE_HATARI)
|
||||
if(ENABLE_LIBRETRO)
|
||||
target_link_libraries(retro-hatari ${LibArchive_LIBRARIES})
|
||||
endif(ENABLE_LIBRETRO)
|
||||
endif(LibArchive_FOUND)
|
||||
|
||||
if(PNG_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${PNG_LIBRARY})
|
||||
if(ENABLE_HATARI)
|
||||
target_link_libraries(${APP_NAME} ${PNG_LIBRARY})
|
||||
endif(ENABLE_HATARI)
|
||||
if(ENABLE_LIBRETRO)
|
||||
target_link_libraries(retro-hatari ${PNG_LIBRARY})
|
||||
endif(ENABLE_LIBRETRO)
|
||||
endif(PNG_FOUND)
|
||||
|
||||
if(X11_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${X11_LIBRARIES})
|
||||
endif(X11_FOUND)
|
||||
|
||||
if(PortMidi_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${PORTMIDI_LIBRARY})
|
||||
if(ENABLE_HATARI)
|
||||
target_link_libraries(${APP_NAME} ${PORTMIDI_LIBRARY})
|
||||
endif(ENABLE_HATARI)
|
||||
if(ENABLE_LIBRETRO)
|
||||
target_link_libraries(retro-hatari ${PORTMIDI_LIBRARY})
|
||||
endif(ENABLE_LIBRETRO)
|
||||
endif(PortMidi_FOUND)
|
||||
|
||||
if(CapsImage_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${CAPSIMAGE_LIBRARY})
|
||||
if(ENABLE_HATARI)
|
||||
target_link_libraries(${APP_NAME} ${CAPSIMAGE_LIBRARY})
|
||||
endif(ENABLE_HATARI)
|
||||
if(ENABLE_LIBRETRO)
|
||||
target_link_libraries(retro-hatari ${CAPSIMAGE_LIBRARY})
|
||||
endif(ENABLE_LIBRETRO)
|
||||
endif(CapsImage_FOUND)
|
||||
|
||||
if(Udev_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${UDEV_LIBRARY})
|
||||
if(ENABLE_HATARI)
|
||||
target_link_libraries(${APP_NAME} ${UDEV_LIBRARY})
|
||||
endif(ENABLE_HATARI)
|
||||
if(ENABLE_LIBRETRO)
|
||||
target_link_libraries(retro-hatari ${UDEV_LIBRARY})
|
||||
endif(ENABLE_LIBRETRO)
|
||||
endif(Udev_FOUND)
|
||||
|
||||
if(Capstone_FOUND)
|
||||
target_link_libraries(${APP_NAME} ${CAPSTONE_LIBRARY})
|
||||
if(ENABLE_HATARI)
|
||||
target_link_libraries(${APP_NAME} ${CAPSTONE_LIBRARY})
|
||||
endif(ENABLE_HATARI)
|
||||
if(ENABLE_LIBRETRO)
|
||||
target_link_libraries(retro-hatari ${CAPSTONE_LIBRARY})
|
||||
endif(ENABLE_LIBRETRO)
|
||||
endif(Capstone_FOUND)
|
||||
|
||||
if(APPLE)
|
||||
target_link_libraries(${APP_NAME} "-framework Cocoa")
|
||||
if(ENABLE_HATARI)
|
||||
target_link_libraries(${APP_NAME} "-framework Cocoa")
|
||||
endif(ENABLE_HATARI)
|
||||
if(ENABLE_LIBRETRO)
|
||||
target_link_libraries(retro-hatari "-framework Cocoa")
|
||||
endif(ENABLE_LIBRETRO)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
# Needed for socket() on Windows
|
||||
target_link_libraries(${APP_NAME} ws2_32)
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
if(ENABLE_OSX_BUNDLE)
|
||||
install(TARGETS ${APP_NAME} BUNDLE DESTINATION /Applications)
|
||||
else()
|
||||
install(TARGETS ${APP_NAME} RUNTIME DESTINATION ${BINDIR})
|
||||
install(FILES hatari-icon.bmp DESTINATION ${DATADIR})
|
||||
if(TOS_IMG_FILE)
|
||||
install(FILES ${TOS_IMG_FILE} DESTINATION ${DATADIR})
|
||||
endif(TOS_IMG_FILE)
|
||||
endif(ENABLE_OSX_BUNDLE)
|
||||
if(ENABLE_HATARI)
|
||||
if(ENABLE_OSX_BUNDLE)
|
||||
install(TARGETS ${APP_NAME} BUNDLE DESTINATION /Applications)
|
||||
else()
|
||||
install(TARGETS ${APP_NAME} RUNTIME DESTINATION ${BINDIR})
|
||||
install(FILES hatari-icon.bmp DESTINATION ${DATADIR})
|
||||
if(TOS_IMG_FILE)
|
||||
install(FILES ${TOS_IMG_FILE} DESTINATION ${DATADIR})
|
||||
endif(TOS_IMG_FILE)
|
||||
endif(ENABLE_OSX_BUNDLE)
|
||||
endif(ENABLE_HATARI)
|
||||
@@ -6,7 +6,7 @@ if(ENABLE_LIBRETRO AND HAVE_DLFCN_H)
|
||||
add_subdirectory(retro)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
if(UNIX AND ENABLE_HATARI)
|
||||
add_test(NAME command-fifo COMMAND
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmdfifo.sh $<TARGET_FILE:${APP_NAME}>)
|
||||
add_test(NAME config-file COMMAND
|
||||
@@ -23,4 +23,4 @@ if(UNIX)
|
||||
add_subdirectory(screen)
|
||||
add_subdirectory(serial)
|
||||
add_subdirectory(xbios)
|
||||
endif(UNIX)
|
||||
endif(UNIX AND ENABLE_HATARI)
|
||||
Reference in new issue
Block a user