68 lines
2.3 KiB
CMake
68 lines
2.3 KiB
CMake
# CMakeLists.txt
|
|
|
|
####################################################
|
|
# Written by JackCarterSmith, 2022
|
|
# This code is released under the RSE license.
|
|
####################################################
|
|
|
|
|
|
# General library configuration
|
|
if(DEFINED ENV{MS_COMPATIBLE})
|
|
set(CMAKE_GNUtoMS ON) # Enable compatibility level to exported libraries
|
|
endif()
|
|
|
|
include(CheckIncludeFile)
|
|
include(CheckCSourceCompiles)
|
|
|
|
|
|
# Define src/headers files
|
|
file(GLOB_RECURSE RSP_TEXTURE_SOURCES ./src/*.c)
|
|
source_group("Source Files" FILES ${RSP_TEXTURE_SOURCES})
|
|
file(GLOB RSP_PUBLIC_HRDS ./include/*.h)
|
|
set(RSP_PUBLIC_HRDS ${RSP_PUBLIC_HRDS} PARENT_SCOPE)
|
|
|
|
|
|
# Building instructions for RSP-Texture library
|
|
if(DEFINED ENV{CI})
|
|
set(CMAKE_BUILD_TYPE RELEASE)
|
|
endif()
|
|
|
|
|
|
# Declare the shared library instance
|
|
if(RSPTEXTURE_SHARED)
|
|
add_library(rsp-texture-lib SHARED ${RSP_TEXTURE_SOURCES})
|
|
set_property(TARGET rsp-texture-lib PROPERTY C_STANDARD 90)
|
|
|
|
target_include_directories(rsp-texture-lib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
|
|
set_target_properties(rsp-texture-lib PROPERTIES OUTPUT_NAME ${RSP_TEXTURE_LIB_NAME})
|
|
set_target_properties(rsp-texture-lib PROPERTIES DEFINE_SYMBOL RSPTEXTURE_DLL)
|
|
|
|
if(MSVC)
|
|
# msvc does not append 'lib' - do it here to have consistent name
|
|
set_target_properties(rsp-texture-lib PROPERTIES PREFIX "lib")
|
|
set_target_properties(rsp-texture-lib PROPERTIES IMPORT_PREFIX "lib")
|
|
endif()
|
|
endif()
|
|
|
|
|
|
# Declare the static library instance
|
|
add_library(rsp-texture-libstatic STATIC ${RSP_TEXTURE_SOURCES})
|
|
set_property(TARGET rsp-texture-libstatic PROPERTY C_STANDARD 90)
|
|
|
|
target_include_directories(rsp-texture-libstatic PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
|
|
if(NOT MSVC)
|
|
set_target_properties(rsp-texture-libstatic PROPERTIES OUTPUT_NAME "${RSP_TEXTURE_LIB_NAME}")
|
|
set_target_properties(rsp-texture-libstatic PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
|
else()
|
|
set_target_properties(rsp-texture-libstatic PROPERTIES OUTPUT_NAME "${RSP_TEXTURE_LIB_NAME}_static")
|
|
set_target_properties(rsp-texture-libstatic PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
|
endif()
|
|
|
|
if(MSVC)
|
|
# msvc does not append 'lib' - do it here to have consistent name
|
|
set_target_properties(rsp-texture-libstatic PROPERTIES PREFIX "lib")
|
|
set_target_properties(rsp-texture-libstatic PROPERTIES IMPORT_PREFIX "lib")
|
|
endif()
|