|
|
|
@ -1,6 +1,3 @@ |
|
|
|
|
option(BUILD_SHARED_LIBS "Build shared library" ON) |
|
|
|
|
option(BUILD_STATIC_LIBS "Build static library" ON) |
|
|
|
|
|
|
|
|
|
file(GLOB ROOT_SOURCE *.cpp) |
|
|
|
|
file(GLOB ROOT_INLINE *.inl) |
|
|
|
|
file(GLOB ROOT_HEADER *.hpp) |
|
|
|
@ -45,37 +42,28 @@ source_group("SIMD Files" FILES ${SIMD_SOURCE}) |
|
|
|
|
source_group("SIMD Files" FILES ${SIMD_INLINE}) |
|
|
|
|
source_group("SIMD Files" FILES ${SIMD_HEADER}) |
|
|
|
|
|
|
|
|
|
add_library(glm INTERFACE) |
|
|
|
|
|
|
|
|
|
include(GNUInstallDirs) |
|
|
|
|
add_library(glm-header-only INTERFACE) |
|
|
|
|
add_library(glm::glm-header-only ALIAS glm-header-only) |
|
|
|
|
|
|
|
|
|
target_include_directories(glm INTERFACE |
|
|
|
|
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}> |
|
|
|
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> |
|
|
|
|
target_include_directories(glm-header-only INTERFACE |
|
|
|
|
"$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>" |
|
|
|
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
install(TARGETS glm EXPORT glm) |
|
|
|
|
|
|
|
|
|
if(BUILD_STATIC_LIBS) |
|
|
|
|
add_library(glm_static STATIC ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} |
|
|
|
|
${ROOT_SOURCE} ${ROOT_INLINE} ${ROOT_HEADER} |
|
|
|
|
${CORE_SOURCE} ${CORE_INLINE} ${CORE_HEADER} |
|
|
|
|
${EXT_SOURCE} ${EXT_INLINE} ${EXT_HEADER} |
|
|
|
|
${GTC_SOURCE} ${GTC_INLINE} ${GTC_HEADER} |
|
|
|
|
${GTX_SOURCE} ${GTX_INLINE} ${GTX_HEADER} |
|
|
|
|
${SIMD_SOURCE} ${SIMD_INLINE} ${SIMD_HEADER}) |
|
|
|
|
target_link_libraries(glm_static PUBLIC glm) |
|
|
|
|
add_library(glm::glm_static ALIAS glm_static) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(BUILD_SHARED_LIBS) |
|
|
|
|
add_library(glm_shared SHARED ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} |
|
|
|
|
${ROOT_SOURCE} ${ROOT_INLINE} ${ROOT_HEADER} |
|
|
|
|
${CORE_SOURCE} ${CORE_INLINE} ${CORE_HEADER} |
|
|
|
|
${EXT_SOURCE} ${EXT_INLINE} ${EXT_HEADER} |
|
|
|
|
${GTC_SOURCE} ${GTC_INLINE} ${GTC_HEADER} |
|
|
|
|
${GTX_SOURCE} ${GTX_INLINE} ${GTX_HEADER} |
|
|
|
|
${SIMD_SOURCE} ${SIMD_INLINE} ${SIMD_HEADER}) |
|
|
|
|
target_link_libraries(glm_shared PUBLIC glm) |
|
|
|
|
add_library(glm::glm_shared ALIAS glm_shared) |
|
|
|
|
if (GLM_BUILD_LIBRARY) |
|
|
|
|
add_library(glm |
|
|
|
|
${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} |
|
|
|
|
${ROOT_SOURCE} ${ROOT_INLINE} ${ROOT_HEADER} |
|
|
|
|
${CORE_SOURCE} ${CORE_INLINE} ${CORE_HEADER} |
|
|
|
|
${EXT_SOURCE} ${EXT_INLINE} ${EXT_HEADER} |
|
|
|
|
${GTC_SOURCE} ${GTC_INLINE} ${GTC_HEADER} |
|
|
|
|
${GTX_SOURCE} ${GTX_INLINE} ${GTX_HEADER} |
|
|
|
|
${SIMD_SOURCE} ${SIMD_INLINE} ${SIMD_HEADER} |
|
|
|
|
) |
|
|
|
|
add_library(glm::glm ALIAS glm) |
|
|
|
|
target_link_libraries(glm PUBLIC glm-header-only) |
|
|
|
|
else() |
|
|
|
|
add_library(glm INTERFACE) |
|
|
|
|
add_library(glm::glm ALIAS glm) |
|
|
|
|
target_link_libraries(glm INTERFACE glm-header-only) |
|
|
|
|
endif() |
|
|
|
|