summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2024-04-09 12:49:20 -0600
committerSonic Dreamcaster <alejandro.asenjo88@gmail.com>2024-09-17 19:24:30 -0300
commitaf9c94351ef49fb9ea3bfa4a3cd92bb6f0adcc70 (patch)
tree884cf6db62b8e3f053c699d074d2bf0c1a7649c6 /CMakeLists.txt
parent1940c26bce9a78bcdbe08117049b9e3a1e970805 (diff)
Fixed switch compilation and other weird quirks with deps
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt85
1 files changed, 85 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e7c30cee..cb5ea849 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -250,6 +250,74 @@ add_subdirectory(libultraship ${CMAKE_CURRENT_SOURCE_DIR}/libultraship)
add_dependencies(${PROJECT_NAME} libultraship)
target_link_libraries(${PROJECT_NAME} PRIVATE libultraship)
+if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ find_package(glfw3 REQUIRED)
+ if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
+ set(ADDITIONAL_LIBRARY_DEPENDENCIES
+ "libultraship;"
+ "ZAPDUtils;"
+ "ZAPDLib;"
+ "glu32;"
+ "SDL2::SDL2;"
+ "SDL2::SDL2main;"
+ "$<$<BOOL:${BUILD_REMOTE_CONTROL}>:SDL2_net::SDL2_net-static>"
+ "glfw;"
+ "winmm;"
+ "imm32;"
+ "version;"
+ "setupapi"
+ )
+ elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
+ set(ADDITIONAL_LIBRARY_DEPENDENCIES
+ "libultraship;"
+ "ZAPDUtils;"
+ "ZAPDLib;"
+ "glu32;"
+ "SDL2::SDL2;"
+ "SDL2::SDL2main;"
+ "glfw;"
+ "winmm;"
+ "imm32;"
+ "version;"
+ "setupapi"
+ )
+ endif()
+elseif(CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch")
+ find_package(SDL2)
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ set(ADDITIONAL_LIBRARY_DEPENDENCIES
+ "libultraship;"
+ "ZAPDUtils;"
+ SDL2::SDL2
+ -lglad
+ Threads::Threads
+ )
+elseif(CMAKE_SYSTEM_NAME STREQUAL "CafeOS")
+ find_package(SDL2 REQUIRED)
+ set(ADDITIONAL_LIBRARY_DEPENDENCIES
+ "libultraship;"
+ SDL2::SDL2-static
+
+ "$<$<CONFIG:Debug>:-Wl,--wrap=abort>"
+ )
+ target_include_directories(${PROJECT_NAME} PRIVATE
+ ${DEVKITPRO}/portlibs/wiiu/include/
+ )
+else()
+ find_package(SDL2)
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ set(ADDITIONAL_LIBRARY_DEPENDENCIES
+ "libultraship;"
+ "ZAPDUtils;"
+ "ZAPDLib;"
+ SDL2::SDL2
+ "$<$<BOOL:${BUILD_REMOTE_CONTROL}>:SDL2_net::SDL2_net>"
+ ${CMAKE_DL_LIBS}
+ Threads::Threads
+ )
+endif()
if(USE_NETWORKING)
if(MSVC)
@@ -261,6 +329,23 @@ if(USE_NETWORKING)
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_NETWORKING)
endif()
+target_link_libraries(${PROJECT_NAME} PRIVATE "${ADDITIONAL_LIBRARY_DEPENDENCIES}")
+
+if(CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch")
+
+nx_generate_nacp(Lylat.nacp
+ NAME "Lylat64"
+ AUTHOR "${PROJECT_TEAM}"
+ VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
+)
+
+nx_create_nro(${PROJECT_NAME}
+ NACP Lylat.nacp
+)
+
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/lylat64.nro DESTINATION . COMPONENT ${PROJECT_NAME})
+endif()
+
################################################################################
# Compile and link options
################################################################################