mirror of
https://github.com/LIV2/amiberry.git
synced 2025-12-06 06:32:45 +00:00
Fixed CMake project files
This commit is contained in:
parent
db08da4394
commit
0ebec9c491
1
.gitignore
vendored
1
.gitignore
vendored
@ -216,3 +216,4 @@ Thumbs.db
|
||||
*.orig
|
||||
cmake-build-debug
|
||||
VSLinux/.vs
|
||||
.vs
|
||||
|
||||
@ -3,8 +3,21 @@ project(amiberry)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
# Needed so that cmake uses our find modules.
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
||||
|
||||
include_directories(
|
||||
src
|
||||
src/osdep
|
||||
src/include
|
||||
src/threaddep
|
||||
src/archivers
|
||||
)
|
||||
|
||||
add_subdirectory(external/libguisan)
|
||||
add_executable(amiberry
|
||||
add_definitions(-DAMIBERRY)
|
||||
|
||||
add_executable(${PROJECT_NAME}
|
||||
src/akiko.cpp
|
||||
src/ar.cpp
|
||||
src/audio.cpp
|
||||
@ -40,6 +53,7 @@ add_executable(amiberry
|
||||
src/filesys.cpp
|
||||
src/flashrom.cpp
|
||||
src/fpp.cpp
|
||||
src/fpp_native.cpp
|
||||
src/fsdb.cpp
|
||||
src/fsusage.cpp
|
||||
src/gayle.cpp
|
||||
@ -74,6 +88,8 @@ add_executable(amiberry
|
||||
src/uaelib.cpp
|
||||
src/uaenative.cpp
|
||||
src/uaeresource.cpp
|
||||
src/uaeserial.cpp
|
||||
src/vm.cpp
|
||||
src/zfile.cpp
|
||||
src/zfile_archive.cpp
|
||||
src/archivers/7z/7zAlloc.c
|
||||
@ -168,6 +184,7 @@ add_executable(amiberry
|
||||
src/archivers/wrp/warp.cpp
|
||||
src/archivers/zip/unzip.cpp
|
||||
src/caps/caps_amiberry.cpp
|
||||
src/machdep/m68k.cpp
|
||||
src/machdep/support.cpp
|
||||
src/floppybridge/ArduinoFloppyBridge.cpp
|
||||
src/floppybridge/ArduinoInterface.cpp
|
||||
@ -246,40 +263,43 @@ add_executable(amiberry
|
||||
src/readcpu.cpp
|
||||
src/cpudefs.cpp
|
||||
src/cpustbl.cpp
|
||||
src/cpummu.cpp
|
||||
src/cpummu30.cpp
|
||||
src/cpuemu_0.cpp
|
||||
src/cpuemu_4.cpp
|
||||
src/cpuemu_11.cpp
|
||||
src/cpuemu_13.cpp
|
||||
src/cpuemu_20.cpp
|
||||
src/cpuemu_21.cpp
|
||||
src/cpuemu_22.cpp
|
||||
src/cpuemu_23.cpp
|
||||
src/cpuemu_24.cpp
|
||||
src/cpuemu_31.cpp
|
||||
src/cpuemu_32.cpp
|
||||
src/cpuemu_33.cpp
|
||||
src/cpuemu_34.cpp
|
||||
src/cpuemu_35.cpp
|
||||
src/cpuemu_40.cpp
|
||||
src/cpuemu_44.cpp
|
||||
src/cpuemu_50.cpp
|
||||
src/jit/compemu.cpp
|
||||
src/jit/compstbl.cpp
|
||||
src/jit/compemu_fpp.cpp
|
||||
src/jit/compemu_support.cpp
|
||||
)
|
||||
|
||||
include_directories(
|
||||
src
|
||||
src/osdep
|
||||
src/include
|
||||
src/threaddep
|
||||
src/archivers
|
||||
)
|
||||
INCLUDE(FindPkgConfig)
|
||||
|
||||
add_definitions(-DAMIBERRY -DCPU_AARCH64)
|
||||
PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2)
|
||||
PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED SDL2_image>=2.0.0)
|
||||
PKG_SEARCH_MODULE(SDL2TTF REQUIRED SDL2_ttf)
|
||||
|
||||
find_package(SDL2 CONFIG REQUIRED)
|
||||
target_link_libraries(amiberry PRIVATE SDL2::SDL2 SDL2::SDL2main)
|
||||
find_package(sdl2-image CONFIG REQUIRED)
|
||||
target_link_libraries(amiberry PRIVATE SDL2::SDL2_image)
|
||||
find_package(sdl2-ttf CONFIG REQUIRED)
|
||||
target_link_libraries(amiberry PRIVATE SDL2::SDL2_ttf)
|
||||
find_package(FLAC REQUIRED)
|
||||
find_package(mpg123 REQUIRED)
|
||||
find_package(PNG REQUIRED)
|
||||
|
||||
target_link_libraries(amiberry PRIVATE guisan)
|
||||
target_include_directories(amiberry PRIVATE ./external/libguisan/include)
|
||||
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIRS} ${SDL2IMAGE_INCLUDE_DIRS})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${SDL2_LIBRARIES} ${SDL2IMAGE_LIBRARIES} FLAC::FLAC PNG::PNG png_static)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ./external/libguisan/include)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE guisan)
|
||||
|
||||
find_package(flac CONFIG REQUIRED)
|
||||
target_link_libraries(amiberry PRIVATE FLAC::FLAC FLAC::FLAC++)
|
||||
|
||||
find_package(libpng CONFIG REQUIRED)
|
||||
target_link_libraries(amiberry PRIVATE png_static)
|
||||
32
CMakeSettings.json
Normal file
32
CMakeSettings.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "WSL-GCC-Debug",
|
||||
"generator": "Ninja",
|
||||
"configurationType": "Debug",
|
||||
"buildRoot": "${projectDir}\\out\\build\\${name}",
|
||||
"installRoot": "${projectDir}\\out\\install\\${name}",
|
||||
"cmakeExecutable": "cmake",
|
||||
"cmakeCommandArgs": "",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"inheritEnvironments": [ "linux_x64" ],
|
||||
"wslPath": "${defaultWSLPath}",
|
||||
"variables": []
|
||||
},
|
||||
{
|
||||
"name": "WSL-GCC-Release",
|
||||
"generator": "Ninja",
|
||||
"configurationType": "RelWithDebInfo",
|
||||
"buildRoot": "${projectDir}\\out\\build\\${name}",
|
||||
"installRoot": "${projectDir}\\out\\install\\${name}",
|
||||
"cmakeExecutable": "cmake",
|
||||
"cmakeCommandArgs": "",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"inheritEnvironments": [ "linux_x64" ],
|
||||
"wslPath": "${defaultWSLPath}",
|
||||
"variables": []
|
||||
}
|
||||
]
|
||||
}
|
||||
65
cmake/FindFLAC.cmake
Normal file
65
cmake/FindFLAC.cmake
Normal file
@ -0,0 +1,65 @@
|
||||
# - Find FLAC
|
||||
# Find the native FLAC includes and libraries
|
||||
#
|
||||
# FLAC_INCLUDE_DIRS - where to find FLAC headers.
|
||||
# FLAC_LIBRARIES - List of libraries when using libFLAC.
|
||||
# FLAC_FOUND - True if libFLAC found.
|
||||
# FLAC_DEFINITIONS - FLAC compile definitons
|
||||
|
||||
if (FLAC_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
set (FLAC_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
find_package (Ogg QUIET)
|
||||
|
||||
find_package (PkgConfig QUIET)
|
||||
pkg_check_modules(PC_FLAC QUIET flac)
|
||||
|
||||
set(FLAC_VERSION ${PC_FLAC_VERSION})
|
||||
|
||||
find_path (FLAC_INCLUDE_DIR FLAC/stream_decoder.h
|
||||
HINTS
|
||||
${PC_FLAC_INCLUDEDIR}
|
||||
${PC_FLAC_INCLUDE_DIRS}
|
||||
${FLAC_ROOT}
|
||||
)
|
||||
|
||||
# MSVC built libraries can name them *_static, which is good as it
|
||||
# distinguishes import libraries from static libraries with the same extension.
|
||||
find_library (FLAC_LIBRARY
|
||||
NAMES
|
||||
FLAC
|
||||
libFLAC
|
||||
libFLAC_dynamic
|
||||
libFLAC_static
|
||||
HINTS
|
||||
${PC_FLAC_LIBDIR}
|
||||
${PC_FLAC_LIBRARY_DIRS}
|
||||
${FLAC_ROOT}
|
||||
)
|
||||
|
||||
# Handle the QUIETLY and REQUIRED arguments and set FLAC_FOUND to TRUE if
|
||||
# all listed variables are TRUE.
|
||||
include (FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args (FLAC
|
||||
REQUIRED_VARS
|
||||
FLAC_LIBRARY
|
||||
FLAC_INCLUDE_DIR
|
||||
VERSION_VAR
|
||||
FLAC_VERSION
|
||||
)
|
||||
|
||||
if (FLAC_FOUND)
|
||||
set (FLAC_INCLUDE_DIRS ${FLAC_INCLUDE_DIR})
|
||||
set (FLAC_LIBRARIES ${FLAC_LIBRARY} ${OGG_LIBRARIES})
|
||||
if (NOT TARGET FLAC::FLAC)
|
||||
add_library(FLAC::FLAC UNKNOWN IMPORTED)
|
||||
set_target_properties(FLAC::FLAC PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${FLAC_INCLUDE_DIR}"
|
||||
IMPORTED_LOCATION "${FLAC_LIBRARY}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(FLAC_INCLUDE_DIR FLAC_LIBRARY)
|
||||
64
cmake/FindMpg123.cmake
Normal file
64
cmake/FindMpg123.cmake
Normal file
@ -0,0 +1,64 @@
|
||||
# - Find mpg123
|
||||
# Find the native mpg123 includes and libraries
|
||||
#
|
||||
# MPG123_INCLUDE_DIRS - where to find mpg123.h, etc.
|
||||
# MPG123_LIBRARIES - List of libraries when using mpg123.
|
||||
# MPG123_FOUND - True if Mpg123 found.
|
||||
|
||||
if (MPG123_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
set(MPG123_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
find_package (PkgConfig QUIET)
|
||||
pkg_check_modules(PC_MPG123 QUIET libmpg123>=1.25.10)
|
||||
|
||||
set (MPG123_VERSION ${PC_MPG123_VERSION})
|
||||
|
||||
find_path (MPG123_INCLUDE_DIR mpg123.h
|
||||
HINTS
|
||||
${PC_MPG123_INCLUDEDIR}
|
||||
${PC_MPG123_INCLUDE_DIRS}
|
||||
${MPG123_ROOT}
|
||||
)
|
||||
|
||||
# MSVC built mpg123 may be named mpg123_static.
|
||||
# The provided project files name the library with the lib prefix.
|
||||
|
||||
find_library (MPG123_LIBRARY
|
||||
NAMES
|
||||
mpg123
|
||||
mpg123_static
|
||||
libmpg123
|
||||
libmpg123_static
|
||||
HINTS
|
||||
${PC_MPG123_LIBDIR}
|
||||
${PC_MPG123_LIBRARY_DIRS}
|
||||
${MPG123_ROOT}
|
||||
)
|
||||
|
||||
# Handle the QUIETLY and REQUIRED arguments and set MPG123_FOUND
|
||||
# to TRUE if all listed variables are TRUE.
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args (mpg123
|
||||
REQUIRED_VARS
|
||||
MPG123_LIBRARY
|
||||
MPG123_INCLUDE_DIR
|
||||
VERSION_VAR
|
||||
MPG123_VERSION
|
||||
)
|
||||
|
||||
if (MPG123_FOUND)
|
||||
set (MPG123_LIBRARIES ${MPG123_LIBRARY})
|
||||
set (MPG123_INCLUDE_DIRS ${MPG123_INCLUDE_DIR})
|
||||
|
||||
if (NOT TARGET MPG123::libmpg123)
|
||||
add_library (MPG123::libmpg123 UNKNOWN IMPORTED)
|
||||
set_target_properties (MPG123::libmpg123 PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${MPG123_INCLUDE_DIRS}"
|
||||
IMPORTED_LOCATION "${MPG123_LIBRARIES}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(MPG123_INCLUDE_DIR MPG123_LIBRARY)
|
||||
13
external/libguisan/CMakeLists.txt
vendored
13
external/libguisan/CMakeLists.txt
vendored
@ -55,11 +55,12 @@ add_library(guisan STATIC
|
||||
src/widgets/window.cpp)
|
||||
target_include_directories(guisan PRIVATE ./include)
|
||||
|
||||
find_package(SDL2 CONFIG REQUIRED)
|
||||
target_link_libraries(guisan PRIVATE PRIVATE SDL2::SDL2 SDL2::SDL2main)
|
||||
find_package(sdl2-image CONFIG REQUIRED)
|
||||
target_link_libraries(guisan PRIVATE SDL2::SDL2_image)
|
||||
find_package(sdl2-ttf CONFIG REQUIRED)
|
||||
target_link_libraries(guisan PRIVATE SDL2::SDL2_ttf)
|
||||
INCLUDE(FindPkgConfig)
|
||||
|
||||
PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2)
|
||||
PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED SDL2_image>=2.0.0)
|
||||
|
||||
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIRS} ${SDL2IMAGE_INCLUDE_DIRS})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${SDL2_LIBRARIES} ${SDL2IMAGE_LIBRARIES})
|
||||
|
||||
install(TARGETS guisan DESTINATION ./lib)
|
||||
Loading…
x
Reference in New Issue
Block a user