aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/cmake
diff options
context:
space:
mode:
authorJohn "Lameguy" Wilbert Villamor <lameguy64@gmail.com>2021-11-22 14:40:59 +0800
committerGitHub <noreply@github.com>2021-11-22 14:40:59 +0800
commit45123e1b968d1883fed9b8526157ce2c4bffc4a7 (patch)
treed20c80fbd4f5a5d1d3972669625972cea6b3684d /libpsn00b/cmake
parent538f28cfbbbb8163ab8a96de77d6887123856c81 (diff)
parent9b00e5f7ff163a8fc6f341dbf237d90c61dadddc (diff)
downloadpsn00bsdk-45123e1b968d1883fed9b8526157ce2c4bffc4a7.tar.gz
Merge pull request #43 from spicyjpeg/cmake
Even more CMake fixes, submodules, pads example
Diffstat (limited to 'libpsn00b/cmake')
-rw-r--r--libpsn00b/cmake/internal_setup.cmake8
-rw-r--r--libpsn00b/cmake/sdk.cmake2
-rw-r--r--libpsn00b/cmake/virtual_targets.cmake4
3 files changed, 6 insertions, 8 deletions
diff --git a/libpsn00b/cmake/internal_setup.cmake b/libpsn00b/cmake/internal_setup.cmake
index 377afbc..b0c4591 100644
--- a/libpsn00b/cmake/internal_setup.cmake
+++ b/libpsn00b/cmake/internal_setup.cmake
@@ -4,7 +4,7 @@
# This script is included automatically when using the toolchain file and
# defines helper functions.
-cmake_minimum_required(VERSION 3.21)
+cmake_minimum_required(VERSION 3.20)
include(GNUInstallDirs)
# IMPORTANT TODO: set a version number
@@ -86,16 +86,14 @@ function(psn00bsdk_add_executable name type)
endif()
add_executable (${name} ${ARGN})
- target_link_libraries(${name} psn00bsdk_${_type}_exe)
+ target_link_libraries(${name} psn00bsdk_${_type}_exe ${PSN00BSDK_LIBRARIES})
set_target_properties(${name} PROPERTIES PREFIX "" SUFFIX ".elf")
target_link_options (${name} PRIVATE -T${PSN00BSDK_LDSCRIPTS}/exe.ld)
target_include_directories(${name} PRIVATE ${PSN00BSDK_INCLUDE})
# Add post-build steps to generate the .exe and symbol map once the
- # executable is built. CMake 3.21 added support for target-dependent
- # generator expressions (catchy name lol) in add_custom_command(), so I'm
- # making heavy use of those here.
+ # executable is built.
add_custom_command(
TARGET ${name} POST_BUILD
COMMAND ${ELF2X} -q ${name}.elf ${name}${PSN00BSDK_EXECUTABLE_SUFFIX}
diff --git a/libpsn00b/cmake/sdk.cmake b/libpsn00b/cmake/sdk.cmake
index 4c2f330..ae23a06 100644
--- a/libpsn00b/cmake/sdk.cmake
+++ b/libpsn00b/cmake/sdk.cmake
@@ -1,7 +1,7 @@
# PSn00bSDK toolchain setup file for CMake
# (C) 2021 spicyjpeg - MPL licensed
-cmake_minimum_required(VERSION 3.21)
+cmake_minimum_required(VERSION 3.20)
set(
PSN00BSDK_TC $ENV{PSN00BSDK_TC}
diff --git a/libpsn00b/cmake/virtual_targets.cmake b/libpsn00b/cmake/virtual_targets.cmake
index df1df79..9afcebd 100644
--- a/libpsn00b/cmake/virtual_targets.cmake
+++ b/libpsn00b/cmake/virtual_targets.cmake
@@ -72,7 +72,7 @@ set(_cflags -mno-abicalls -mgpopt -mno-extern-sdata)
set(_cxxflags)
set(_ldflags -G8 -static)
-_add_interface_target(psn00bsdk_static_exe psn00bsdk_common ${PSN00BSDK_LIBRARIES})
+_add_interface_target(psn00bsdk_static_exe psn00bsdk_common)
# Options for executables with support for dynamic linking:
# - Position-independent code disabled
@@ -83,7 +83,7 @@ set(_cflags -mno-abicalls -mno-gpopt)
set(_cxxflags)
set(_ldflags -G0 -static)
-_add_interface_target(psn00bsdk_dynamic_exe psn00bsdk_common ${PSN00BSDK_LIBRARIES})
+_add_interface_target(psn00bsdk_dynamic_exe psn00bsdk_common)
# Options for static libraries:
# - GP-relative addressing disabled