From 74001fb4ce5041c3deb42a0ca252ae338aa571db Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周六, 07 12月 2019 18:13:59 +0800
Subject: [PATCH] modified cmake scripts for easy export and import

---
 src/library/CMakeLists.txt |   51 ++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 34 insertions(+), 17 deletions(-)

diff --git a/src/library/CMakeLists.txt b/src/library/CMakeLists.txt
index f9c58dd..f1dd442 100644
--- a/src/library/CMakeLists.txt
+++ b/src/library/CMakeLists.txt
@@ -1,24 +1,41 @@
-IF(WIN32)
-    add_subdirectory("os/win")
-ELSE(WIN32)
-    add_subdirectory("os/linux")    
-ENDIF(WIN32)
-add_subdirectory("base") 
-add_subdirectory("ini")   
+add_subdirectory("base")
 
-ADD_LIBRARY(license++_static STATIC
-    license++.cpp
+ADD_LIBRARY(licensecc_static STATIC
+    licensecc.cpp
     LicenseReader.cpp
     pc-identifiers.c
+    limits/license_verifier.cpp
+    ini/ConvertUTF.c
 )
 
-target_link_libraries(
-     license++_static
-     ini
-     os
+add_subdirectory("locate")
+add_subdirectory("os")
+
+define_property(TARGET PROPERTY WITH_OPENSSL BRIEF_DOCS "need openssl to compile" FULL_DOCS "ff")
+IF(UNIX OR OPENSSL_FOUND)
+	target_compile_definitions(licensecc_static PUBLIC HAS_OPENSSL)
+	set_target_properties(licensecc_static PROPERTIES WITH_OPENSSL 1)
+	if (CMAKE_VERSION VERSION_GREATER 3.5)
+		target_link_libraries(licensecc_static PUBLIC base OpenSSL::Crypto ${EXTERNAL_LIBS} ${CMAKE_DL_LIBS})
+	#patch for old cmake in Centos 7
+	ELSE(CMAKE_VERSION VERSION_GREATER 3.5)
+		target_link_libraries(licensecc_static PUBLIC base ${OPENSSL_CRYPTO_LIBRARY} ${EXTERNAL_LIBS} ${CMAKE_DL_LIBS})
+	    include_directories(${OPENSSL_INCLUDE_DIR})
+	ENDIF(CMAKE_VERSION VERSION_GREATER 3.5)
+ELSE(UNIX OR OPENSSL_FOUND)
+	set_target_properties(licensecc_static PROPERTIES WITH_OPENSSL 0)
+	target_link_libraries(licensecc_static ${EXTERNAL_LIBS})
+ENDIF(UNIX OR OPENSSL_FOUND)
+
+target_include_directories(licensecc_static
+    INTERFACE 
+        $<INSTALL_INTERFACE:include/${PROJECT_NAME}>
+        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
 )
 
-install(TARGETS license++_static ARCHIVE DESTINATION lib)
-install(FILES api/datatypes.h api/license++.h DESTINATION include/api)
-install(FILES base/base.h DESTINATION include/base)
-install(FILES pc-identifiers.h DESTINATION include/)
+add_library(licensecc::licensecc_static ALIAS licensecc_static)
+install(TARGETS licensecc_static EXPORT licensecc
+	ARCHIVE DESTINATION ${main_lib_dest}/${LCC_PROJECT_NAME})
+	
+install(EXPORT licensecc NAMESPACE licensecc:: DESTINATION  ${main_lib_dest}/${LCC_PROJECT_NAME}/cmake)
+export(EXPORT licensecc NAMESPACE licensecc:: FILE ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-config.cmake)

--
Gitblit v1.9.1