diff --git a/CMakeLists.txt b/CMakeLists.txt index b8c328a0..5d020d33 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,12 @@ 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}) + enable_testing() option(GLM_QUIET "No CMake Message" OFF) @@ -232,8 +238,6 @@ 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() - diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 988d9d9e..7cf170d9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -5,6 +5,7 @@ function(glmCreateTestGTC NAME) add_test( NAME ${SAMPLE_NAME} COMMAND $ ) + target_link_libraries(${SAMPLE_NAME} PRIVATE glm::glm) endfunction() if(GLM_TEST_ENABLE)