From e79109058964d8d18b8a3bb7be7b900be46692ad Mon Sep 17 00:00:00 2001 From: Krzysztof Kurek Date: Tue, 15 Oct 2019 14:49:30 +0200 Subject: [PATCH] Re-add the glm interface library in cmake Also re-work the main cmakelists to make the project more easily embeddable --- CMakeLists.txt | 13 ++++++++----- glm/CMakeLists.txt | 8 ++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b8c328a0..dc96084c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,13 @@ cmake_policy(VERSION 3.2) set(GLM_VERSION "0.9.9") project(glm VERSION ${GLM_VERSION} LANGUAGES CXX) +add_subdirectory(glm) + +add_library(glm::glm ALIAS glm) + +if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) + +add_subdirectory(test) enable_testing() option(GLM_QUIET "No CMake Message" OFF) @@ -232,8 +239,4 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() -include_directories("${PROJECT_SOURCE_DIR}") - -add_subdirectory(glm) -add_subdirectory(test) - +endif(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/glm/CMakeLists.txt b/glm/CMakeLists.txt index 032340d4..4ff51c81 100644 --- a/glm/CMakeLists.txt +++ b/glm/CMakeLists.txt @@ -42,7 +42,8 @@ source_group("SIMD Files" FILES ${SIMD_SOURCE}) source_group("SIMD Files" FILES ${SIMD_INLINE}) source_group("SIMD Files" FILES ${SIMD_HEADER}) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..) +add_library(glm INTERFACE) +target_include_directories(glm INTERFACE ../) if(BUILD_STATIC_LIBS) add_library(glm_static STATIC ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} @@ -52,6 +53,8 @@ add_library(glm_static STATIC ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} ${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) @@ -62,5 +65,6 @@ add_library(glm_shared SHARED ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} ${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) endif() -