# 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()