146 lines
5.4 KiB
CMake
146 lines
5.4 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
add_library(CMP_Framework STATIC "")
|
|
|
|
|
|
if(CMP_HOST_WINDOWS)
|
|
target_compile_definitions(CMP_Framework PUBLIC
|
|
-DCMP_USE_XMMINTRIN
|
|
)
|
|
endif()
|
|
|
|
file(GLOB_RECURSE HALF_SRC
|
|
${PROJECT_SOURCE_DIR}/cmp_framework/common/half/*.h
|
|
${PROJECT_SOURCE_DIR}/cmp_framework/common/half/*.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE DDS_SRC
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/cimage/dds/*.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/cimage/dds/*.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE HPC_SRC
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_encode/hpc/*.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_encode/hpc/*.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE CMP_FRAMEWORK_SRC
|
|
${PROJECT_SOURCE_DIR}/cmp_framework/*.h
|
|
${PROJECT_SOURCE_DIR}/cmp_framework/*.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE CMP_FRAMEWORK_COMMON_SRC
|
|
${PROJECT_SOURCE_DIR}/cmp_framework/common/*.h
|
|
${PROJECT_SOURCE_DIR}/cmp_framework/common/*.cpp
|
|
)
|
|
|
|
target_sources(CMP_Framework
|
|
PRIVATE
|
|
${HALF_SRC}
|
|
${DDS_SRC}
|
|
${HPC_SRC}
|
|
${CMP_FRAMEWORK_SRC}
|
|
${CMP_FRAMEWORK_COMMON_SRC}
|
|
|
|
# CMP_Math
|
|
${PROJECT_SOURCE_DIR}/applications/_libs/cmp_math/cmp_math_common.h
|
|
${PROJECT_SOURCE_DIR}/applications/_libs/cmp_math/cmp_math_common.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_libs/cmp_math/cpu_extensions.h
|
|
${PROJECT_SOURCE_DIR}/applications/_libs/cmp_math/cpu_extensions.cpp
|
|
|
|
# CMP_COMMON
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/atiformats.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/atiformats.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/pluginbase.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/plugininterface.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/pluginmanager.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/pluginmanager.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/cpu_timing.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/cpu_timing.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/tc_pluginapi.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/tc_plugininternal.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/tc_plugininternal.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/utilfuncs.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/utilfuncs.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/cmp_fileio.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/cmp_fileio.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/format_conversion.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common/format_conversion.cpp
|
|
|
|
# CMP_SDK Lossy Compression
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bcn.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bcn.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc1/bc1.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc1/bc1.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc2/bc2.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc2/bc2.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc3/bc3.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc3/bc3.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc4/bc4.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc4/bc4.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc5/bc5.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc5/bc5.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc6/bc6h.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc6/bc6h.cpp
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc7/bc7.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/bc7/bc7.cpp
|
|
|
|
# External Sources
|
|
${PROJECT_SOURCE_DIR}/external/stb/stb_image.h
|
|
${PROJECT_SOURCE_DIR}/external/stb/stb_image_write.h
|
|
)
|
|
|
|
|
|
if (OPTION_CMP_GTC)
|
|
target_sources(CMP_Framework
|
|
PRIVATE
|
|
# Extra
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/gtc/gtc.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/gtc/gtc.cpp
|
|
)
|
|
endif()
|
|
|
|
if (OPTION_BUILD_BROTLIG)
|
|
target_sources(CMP_Framework
|
|
PRIVATE
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/brlg/codec_brlg.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/brlg/codec_brlg.cpp
|
|
)
|
|
|
|
target_link_libraries(CMP_Framework
|
|
PRIVATE
|
|
ExtBrotlig
|
|
)
|
|
endif()
|
|
|
|
if (OPTION_CMP_APC)
|
|
target_sources(CMP_Framework
|
|
PRIVATE
|
|
# Extra
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/apc/apc.h
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk/apc/apc.cpp
|
|
)
|
|
endif()
|
|
|
|
target_include_directories(CMP_Framework
|
|
PRIVATE
|
|
./
|
|
${PROJECT_SOURCE_DIR}/cmp_framework/common/half
|
|
${PROJECT_SOURCE_DIR}/cmp_framework/common/
|
|
${PROJECT_SOURCE_DIR}/cmp_compressonatorlib
|
|
${PROJECT_SOURCE_DIR}/cmp_compressonatorlib/buffer
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/ccmp_sdk
|
|
${PROJECT_SOURCE_DIR}/applications/_plugins/common
|
|
#${PROJECT_SOURCE_DIR}/applications/_plugins/common/gltf
|
|
${PROJECT_SOURCE_DIR}/applications/_libs/cmp_math
|
|
${PROJECT_SOURCE_DIR}/applications/_libs/gpu_decode
|
|
${PROJECT_SOURCE_DIR}/external/stb
|
|
)
|
|
|
|
if (UNIX)
|
|
target_compile_definitions(CMP_Framework PRIVATE _LINUX)
|
|
endif()
|
|
|
|
set_target_properties(CMP_Framework PROPERTIES FOLDER "Libs")
|
|
|
|
target_link_libraries(CMP_Framework PRIVATE CMP_Core) |