Patched library garbage
All checks were successful
JCS-Prod/RSE-Terrain/pipeline/pr-master This commit looks good
JCS-Prod/RSE-Terrain/pipeline/head This commit looks good

This commit is contained in:
JackCarterSmith 2022-09-18 16:01:12 +02:00
parent 0507ff6d28
commit c8e505b302
Signed by: JackCarterSmith
GPG Key ID: 832E52F4E23F8F24
3 changed files with 50 additions and 42 deletions

View File

@ -33,6 +33,7 @@ set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation d
# Compilation option
option(RSPTERRAIN_SHARED "Build shared lib" ON)
option(RSPTERRAIN_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_TERRAIN_TARGETS_LIST)
add_subdirectory(RSPTerrainLib)
add_subdirectory(RSETerrain)
if(BUILD_TOOLS)
set(RSE_TERRAIN_TARGETS_LIST rse-terrain)
endif()
if(RSPTERRAIN_SHARED)
list(APPEND RSE_TERRAIN_TARGETS_LIST rsp-terrain-lib)
endif()
@ -66,6 +64,9 @@ if(NOT RSE_TERRAIN_TARGETS_LIST)
"Please enable at least one of the following options: "
"RSPTERRAIN_STATIC, RSPTERRAIN_SHARED")
endif()
if(BUILD_TOOLS)
list(APPEND RSE_TERRAIN_TARGETS_LIST rse-terrain)
endif()
# GPG signature custom command

View File

@ -10,43 +10,43 @@
include(CheckIncludeFile)
include(CheckCSourceCompiles)
add_definitions(-DCONF_NO_GL) # Used for obj-lib to not compile GL part
# Import needed packages and references their include path
find_package(PNG 1.6.37 REQUIRED)
include_directories(${PNG_INCLUDE_DIR})
find_package(GLEW REQUIRED) # Enable when GL rendering is ready
include_directories(${GLEW_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})
find_package(GLEW REQUIRED)
include_directories(${GLEW_INCLUDE_DIR})
# Define src/headers files
file(GLOB_RECURSE RSE_TERRAIN_SOURCES ./src/*.c)
source_group("Source Files" FILES ${RSE_TERRAIN_SOURCES})
# Define src/headers files
file(GLOB_RECURSE RSE_TERRAIN_SOURCES ./src/*.c)
source_group("Source Files" FILES ${RSE_TERRAIN_SOURCES})
# Building instructions for RSE-Terrain
if(DEFINED ENV{CI})
# Building instructions for RSE-Terrain
if(DEFINED ENV{CI})
set(CMAKE_BUILD_TYPE RELEASE)
endif()
endif()
# Declare standalone application
add_executable(rse-terrain ${RSE_TERRAIN_SOURCES})
set_property(TARGET rse-terrain PROPERTY C_STANDARD 90)
# Declare standalone application
add_executable(rse-terrain ${RSE_TERRAIN_SOURCES})
set_property(TARGET rse-terrain PROPERTY C_STANDARD 90)
#target_include_directories(rse-terrain PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
set_target_properties(rse-terrain PROPERTIES OUTPUT_NAME ${RSE_TERRAIN_NAME})
#target_include_directories(rse-terrain PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
set_target_properties(rse-terrain PROPERTIES OUTPUT_NAME ${RSE_TERRAIN_NAME})
if(MSVC)
if(MSVC)
# msvc does not append 'lib' - do it here to have consistent name
set_target_properties(rse-terrain PROPERTIES IMPORT_PREFIX "lib")
elseif(UNIX)
elseif(UNIX)
set(AUX_LIBS m)# add math.lib for GL processing
endif()
endif()
# Link externals libraries to the linker
if(RSPTERRAIN_SHARED)
# Link externals libraries to the linker
if(RSPTERRAIN_SHARED)
target_link_libraries(rse-terrain PRIVATE rsp-terrain-lib ${PNG_LIBRARIES} ${GLEW_LIBRARIES} ${AUX_LIBS})
elseif(RSPTERRAIN_STATIC)
elseif(RSPTERRAIN_STATIC)
target_link_libraries(rse-terrain PRIVATE rsp-terrain-libstatic ${PNG_LIBRARIES} ${GLEW_LIBRARIES} ${AUX_LIBS})
endif()
endif()

View File

@ -46,17 +46,24 @@ typedef union u_rspterrain_parameters {
// Lib's structure definitions
////////////////////////////////////////////////////////////////////////////////
#ifndef MEMFILE
#ifndef MEMFILE_DEF
typedef char* MEMFILE;
#define MEMFILE_DEF
#endif
#ifndef HEIGHTMAP_T
#ifndef HEIGHTMAP_T_DEF
typedef unsigned char** HEIGHTMAP_T;
#define HEIGHTMAP_T_DEF
#endif
#ifndef T_VECTOR3
#ifndef T_VECTOR3_DEF
typedef struct vector3 { float x,y,z; } T_VECTOR3;
#define T_VECTOR3_DEF
#endif
#ifndef T_VERTEX
#ifndef T_VERTEX_DEF
typedef T_VECTOR3 T_VERTEX;
#define T_VERTEX_DEF
#endif
typedef struct rspterrain_heightmap {