From d6b94f8c797b7c2464a8bc88ccb23838f5647f20 Mon Sep 17 00:00:00 2001 From: JackCarterSmith Date: Sun, 18 Sep 2022 16:01:18 +0200 Subject: [PATCH] Patched library garbage --- CMakeLists.txt | 7 ++- RSETexture/CMakeLists.txt | 60 ++++++++++---------- RSPTextureLib/include/RSPTexture_datatypes.h | 11 +++- 3 files changed, 43 insertions(+), 35 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1a84bd..61d7efa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,7 @@ set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation d # Compilation option option(RSPTEXTURE_SHARED "Build shared lib" ON) option(RSPTEXTURE_STATIC "Build static lib" ON) +option(BUILD_TOOLS "Build lib tools" ON) # Push compile infos to source @@ -51,9 +52,6 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) unset(RSE_TEXTURE_TARGETS_LIST) add_subdirectory(RSPTextureLib) add_subdirectory(RSETexture) -if(BUILD_TOOLS) - set(RSE_TEXTURE_TARGETS_LIST rse-texture) -endif() if(RSPTEXTURE_SHARED) list(APPEND RSE_TEXTURE_TARGETS_LIST rsp-texture-lib) endif() @@ -66,6 +64,9 @@ if(NOT RSE_TEXTURE_TARGETS_LIST) "Please enable at least one of the following options: " "RSPTEXTURE_STATIC, RSPTEXTURE_SHARED") endif() +if(BUILD_TOOLS) + list(APPEND RSE_TEXTURE_TARGETS_LIST rse-texture) +endif() # GPG signature custom command diff --git a/RSETexture/CMakeLists.txt b/RSETexture/CMakeLists.txt index 4c47fb9..5ff87f7 100644 --- a/RSETexture/CMakeLists.txt +++ b/RSETexture/CMakeLists.txt @@ -10,37 +10,39 @@ include(CheckIncludeFile) include(CheckCSourceCompiles) -# Import needed packages and references their include path -find_package(PNG 1.6.37 REQUIRED) -include_directories(${PNG_INCLUDE_DIR}) +if(BUILD_TOOLS) + # Import needed packages and references their include path + find_package(PNG 1.6.37 REQUIRED) + include_directories(${PNG_INCLUDE_DIR}) -# Define src/headers files -file(GLOB_RECURSE RSE_TEXTURE_SOURCES ./src/*.c) -source_group("Source Files" FILES ${RSE_TEXTURE_SOURCES}) + # Define src/headers files + file(GLOB_RECURSE RSE_TEXTURE_SOURCES ./src/*.c) + source_group("Source Files" FILES ${RSE_TEXTURE_SOURCES}) -# Building instructions for RSE-Texture -if(DEFINED ENV{CI}) - set(CMAKE_BUILD_TYPE RELEASE) -endif() - - -# Declare standalone application -add_executable(rse-texture ${RSE_TEXTURE_SOURCES}) -set_property(TARGET rse-texture PROPERTY C_STANDARD 90) - -#target_include_directories(rse-texture PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) -set_target_properties(rse-texture PROPERTIES OUTPUT_NAME ${RSE_TEXTURE_NAME}) - -if(MSVC) - # msvc does not append 'lib' - do it here to have consistent name - set_target_properties(rse-texture PROPERTIES IMPORT_PREFIX "lib") -endif() - -# Link externals libraries to the linker -if(RSPTEXTURE_SHARED) - target_link_libraries(rse-texture PRIVATE rsp-texture-lib ${PNG_LIBRARIES}) -elseif(RSPTEXTURE_STATIC) - target_link_libraries(rse-texture PRIVATE rsp-texture-libstatic ${PNG_LIBRARIES}) + # Building instructions for RSE-Texture + if(DEFINED ENV{CI}) + set(CMAKE_BUILD_TYPE RELEASE) + endif() + + + # Declare standalone application + add_executable(rse-texture ${RSE_TEXTURE_SOURCES}) + set_property(TARGET rse-texture PROPERTY C_STANDARD 90) + + #target_include_directories(rse-texture PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) + set_target_properties(rse-texture PROPERTIES OUTPUT_NAME ${RSE_TEXTURE_NAME}) + + if(MSVC) + # msvc does not append 'lib' - do it here to have consistent name + set_target_properties(rse-texture PROPERTIES IMPORT_PREFIX "lib") + endif() + + # Link externals libraries to the linker + if(RSPTEXTURE_SHARED) + target_link_libraries(rse-texture PRIVATE rsp-texture-lib ${PNG_LIBRARIES}) + elseif(RSPTEXTURE_STATIC) + target_link_libraries(rse-texture PRIVATE rsp-texture-libstatic ${PNG_LIBRARIES}) + endif() endif() diff --git a/RSPTextureLib/include/RSPTexture_datatypes.h b/RSPTextureLib/include/RSPTexture_datatypes.h index 2477a4e..acbb098 100644 --- a/RSPTextureLib/include/RSPTexture_datatypes.h +++ b/RSPTextureLib/include/RSPTexture_datatypes.h @@ -34,14 +34,19 @@ typedef union u_rsptexture_parameters { // Lib's structure definitions //////////////////////////////////////////////////////////////////////////////// -#ifndef MEMFILE +#ifndef MEMFILE_DEF typedef char* MEMFILE; +#define MEMFILE_DEF #endif -#ifndef T_R8G8B8 + +#ifndef T_R8G8B8_DEF typedef struct r8g8b8 { unsigned char r,g,b; } T_R8G8B8; +#define T_R8G8B8_DEF #endif -#ifndef T_R8G8B8A8 + +#ifndef T_R8G8B8A8_DEF typedef struct r8g8b8a8 { unsigned char r,g,b,a; } T_R8G8B8A8; +#define T_R8G8B8A8_DEF #endif typedef enum e_mat_type {