diff --git a/CMakeLists.txt b/CMakeLists.txt index 38d29ce..15d5f43 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(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 diff --git a/RSETerrain/CMakeLists.txt b/RSETerrain/CMakeLists.txt index 7e0f003..8208e5e 100644 --- a/RSETerrain/CMakeLists.txt +++ b/RSETerrain/CMakeLists.txt @@ -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}) - set(CMAKE_BUILD_TYPE RELEASE) -endif() - - -# 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}) - -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) - set(AUX_LIBS m)# add math.lib for GL processing -endif() - -# 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) - target_link_libraries(rse-terrain PRIVATE rsp-terrain-libstatic ${PNG_LIBRARIES} ${GLEW_LIBRARIES} ${AUX_LIBS}) + # Building instructions for RSE-Terrain + if(DEFINED ENV{CI}) + set(CMAKE_BUILD_TYPE RELEASE) + endif() + + + # 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}) + + 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) + set(AUX_LIBS m)# add math.lib for GL processing + endif() + + # 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) + target_link_libraries(rse-terrain PRIVATE rsp-terrain-libstatic ${PNG_LIBRARIES} ${GLEW_LIBRARIES} ${AUX_LIBS}) + endif() endif() diff --git a/RSPTerrainLib/include/RSPTerrain_datatypes.h b/RSPTerrainLib/include/RSPTerrain_datatypes.h index 6361684..9e1d262 100644 --- a/RSPTerrainLib/include/RSPTerrain_datatypes.h +++ b/RSPTerrainLib/include/RSPTerrain_datatypes.h @@ -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 {