소스 검색

Enable lunasvg to be found if lunasvg is built in tree. (#282)

EhWhoAmI 3 년 전
부모
커밋
12eeeaacdd
1개의 변경된 파일26개의 추가작업 그리고 21개의 파일을 삭제
  1. 26 21
      CMake/Modules/Findlunasvg.cmake

+ 26 - 21
CMake/Modules/Findlunasvg.cmake

@@ -1,27 +1,32 @@
 # Try to find LunaSVG
 # Try to find LunaSVG
+if (TARGET lunasvg)
+	# This is for when lunasvg is added via an add_subdirectory
+	get_target_property(LUNASVG_LIBRARY lunasvg LIBRARY_OUTPUT_NAME)
+	get_target_property(LUNASVG_INCLUDE_DIR lunasvg INCLUDE_DIRECTORIES)
+else()
+	find_path(LUNASVG_INCLUDE_DIR lunasvg.h
+			HINTS $ENV{LUNASVG_DIR}
+			PATH_SUFFIXES lunasvg lunasvg/include include )
 
 
-find_path(LUNASVG_INCLUDE_DIR lunasvg.h
-          HINTS $ENV{LUNASVG_DIR}
-          PATH_SUFFIXES lunasvg lunasvg/include include )
+	find_library(LUNASVG_LIBRARY_DEBUG NAMES lunasvg liblunasvg
+				HINTS $ENV{LUNASVG_DIR} $ENV{LUNASVG_DIR}/build
+				PATH_SUFFIXES debug Debug)
+				
+	find_library(LUNASVG_LIBRARY_RELEASE NAMES lunasvg liblunasvg
+				HINTS $ENV{LUNASVG_DIR} $ENV{LUNASVG_DIR}/build
+				PATH_SUFFIXES release Release)
 
 
-find_library(LUNASVG_LIBRARY_DEBUG NAMES lunasvg liblunasvg
-			HINTS $ENV{LUNASVG_DIR} $ENV{LUNASVG_DIR}/build
-			PATH_SUFFIXES debug Debug)
-			
-find_library(LUNASVG_LIBRARY_RELEASE NAMES lunasvg liblunasvg
-			HINTS $ENV{LUNASVG_DIR} $ENV{LUNASVG_DIR}/build
-			PATH_SUFFIXES release Release)
+	set(LUNASVG_LIBRARY
+		debug ${LUNASVG_LIBRARY_DEBUG}
+		optimized ${LUNASVG_LIBRARY_RELEASE}
+	)
 
 
-set(LUNASVG_LIBRARY
-	debug ${LUNASVG_LIBRARY_DEBUG}
-	optimized ${LUNASVG_LIBRARY_RELEASE}
-)
+	include(FindPackageHandleStandardArgs)
+	find_package_handle_standard_args(lunasvg  DEFAULT_MSG
+									LUNASVG_LIBRARY LUNASVG_INCLUDE_DIR)
 
 
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(lunasvg  DEFAULT_MSG
-                                  LUNASVG_LIBRARY LUNASVG_INCLUDE_DIR)
+	mark_as_advanced(LUNASVG_INCLUDE_DIR LUNASVG_LIBRARY_DEBUG LUNASVG_LIBRARY_RELEASE )
 
 
-mark_as_advanced(LUNASVG_INCLUDE_DIR LUNASVG_LIBRARY_DEBUG LUNASVG_LIBRARY_RELEASE )
-
-set(LUNASVG_LIBRARIES ${LUNASVG_LIBRARY} )
-set(LUNASVG_INCLUDE_DIRS ${LUNASVG_INCLUDE_DIR} )
+	set(LUNASVG_LIBRARIES ${LUNASVG_LIBRARY} )
+	set(LUNASVG_INCLUDE_DIRS ${LUNASVG_INCLUDE_DIR} )
+endif()