Fix DLL building
This commit is contained in:
@@ -7,10 +7,12 @@ set(CMAKE_CXX_STANDARD_REQUIRED true)
|
|||||||
|
|
||||||
option(CTRFF_DESKTOP OFF "Buid for Desktop Platform")
|
option(CTRFF_DESKTOP OFF "Buid for Desktop Platform")
|
||||||
option(CTRFF_3DS OFF "Build lib for 3ds")
|
option(CTRFF_3DS OFF "Build lib for 3ds")
|
||||||
|
option(CTRFF_SHARED OFF)
|
||||||
|
|
||||||
if(${CTRFF_3DS})
|
if(${CTRFF_3DS})
|
||||||
set(CTRFF_DESKTOP OFF CACHE BOOL)
|
set(CTRFF_DESKTOP OFF CACHE BOOL)
|
||||||
set(CTRFF_BUILD_GUI OFF CACHE BOOL)
|
set(CTRFF_BUILD_GUI OFF CACHE BOOL)
|
||||||
|
set(CTRFF_SHARED OFF CACHE BOOL)
|
||||||
if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
|
if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
|
||||||
if(DEFINED ENV{DEVKITPRO})
|
if(DEFINED ENV{DEVKITPRO})
|
||||||
set(CMAKE_TOOLCHAIN_FILE "$ENV{DEVKITPRO}/cmake/3DS.cmake" CACHE PATH "toolchain file")
|
set(CMAKE_TOOLCHAIN_FILE "$ENV{DEVKITPRO}/cmake/3DS.cmake" CACHE PATH "toolchain file")
|
||||||
@@ -21,7 +23,7 @@ if(${CTRFF_3DS})
|
|||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-psabi -O3")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-psabi -O3")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(ctrff STATIC
|
set(CTRFF_SOURCE
|
||||||
source/3dsx.cpp
|
source/3dsx.cpp
|
||||||
source/bclim.cpp
|
source/bclim.cpp
|
||||||
source/bcstm.cpp
|
source/bcstm.cpp
|
||||||
@@ -32,6 +34,14 @@ add_library(ctrff STATIC
|
|||||||
source/pica.cpp
|
source/pica.cpp
|
||||||
source/smdh.cpp
|
source/smdh.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(${CTRFF_SHARED})
|
||||||
|
add_library(ctrff SHARED ${CTRFF_SOURCE})
|
||||||
|
target_compile_definitions(ctrff PUBLIC CTRFF_SHARED)
|
||||||
|
target_compile_definitions(ctrff PRIVATE CTRFF_BUILD_SHARED)
|
||||||
|
else()
|
||||||
|
add_library(ctrff STATIC ${CTRFF_SOURCE})
|
||||||
|
endif()
|
||||||
target_include_directories(ctrff PUBLIC include)
|
target_include_directories(ctrff PUBLIC include)
|
||||||
|
|
||||||
if(${CTRFF_DESKTOP})
|
if(${CTRFF_DESKTOP})
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ class CTRFF_API BCSTM {
|
|||||||
ctrff::u32 Size;
|
ctrff::u32 Size;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct StreamInfo {
|
struct CTRFF_API StreamInfo {
|
||||||
StreamInfo();
|
StreamInfo();
|
||||||
ctrff::u8 Encoding;
|
ctrff::u8 Encoding;
|
||||||
ctrff::u8 Loop;
|
ctrff::u8 Loop;
|
||||||
|
|||||||
@@ -23,7 +23,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
*/
|
*/
|
||||||
/*
|
|
||||||
|
#ifdef CTRFF_SHARED
|
||||||
#ifdef _WIN32 // Windows (MSVC Tested)
|
#ifdef _WIN32 // Windows (MSVC Tested)
|
||||||
#ifdef CTRFF_BUILD_SHARED
|
#ifdef CTRFF_BUILD_SHARED
|
||||||
#define CTRFF_API __declspec(dllexport)
|
#define CTRFF_API __declspec(dllexport)
|
||||||
@@ -45,9 +46,12 @@ SOFTWARE.
|
|||||||
#elif defined(__3DS__) // 3ds Specific
|
#elif defined(__3DS__) // 3ds Specific
|
||||||
// Only Static supported
|
// Only Static supported
|
||||||
#define CTRFF_API
|
#define CTRFF_API
|
||||||
#else*/
|
#else
|
||||||
#define CTRFF_API
|
#define CTRFF_API
|
||||||
//#endif
|
#endif
|
||||||
|
#else
|
||||||
|
#define CTRFF_API
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <format>
|
#include <format>
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ CTRFF_API std::string ctrff::U16toU8(ctrff::u16 *in, size_t max) {
|
|||||||
} else if (c < 0x800) {
|
} else if (c < 0x800) {
|
||||||
result.push_back(static_cast<char>(0xC0 | (c >> 6)));
|
result.push_back(static_cast<char>(0xC0 | (c >> 6)));
|
||||||
result.push_back(static_cast<char>(0x80 | (c & 0x3F)));
|
result.push_back(static_cast<char>(0x80 | (c & 0x3F)));
|
||||||
} else if (c < 0x10000) {
|
} else if (c < 0xffff) {
|
||||||
result.push_back(static_cast<char>(0xE0 | (c >> 12)));
|
result.push_back(static_cast<char>(0xE0 | (c >> 12)));
|
||||||
result.push_back(static_cast<char>(0x80 | ((c >> 6) & 0x3F)));
|
result.push_back(static_cast<char>(0x80 | ((c >> 6) & 0x3F)));
|
||||||
result.push_back(static_cast<char>(0x80 | (c & 0x3F)));
|
result.push_back(static_cast<char>(0x80 | (c & 0x3F)));
|
||||||
|
|||||||
Reference in New Issue
Block a user