From bcdd6d88f7df3212d57eb93024fe5ada502bc49f Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周六, 30 11月 2019 19:48:06 +0800
Subject: [PATCH] cmake < 3.6 fix

---
 CMakeLists.txt |   41 +++++++++++++++++++----------------------
 1 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3f3bd3e..e24dcfb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,13 +23,14 @@
 ENDIF(NOT LCC_PROJECTS_BASE_DIR)
 
 project (licensecc C CXX )
-SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
 
 #find lcc executable or build it.
 find_package(lcc REQUIRED) 
 
-#Not sure about this. My system doesn't support binfmt misc
+#In case the build system doesn't support binfmt misc
 IF( ( CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" ) AND CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR )
 	SET(CMAKE_CROSSCOMPILING_EMULATOR "wine")	
 ENDIF()
@@ -39,7 +40,7 @@
 	target_architecture( TARGET_ARCHITECTURE )
 	message(STATUS "architecture detected: ${TARGET_ARCHITECTURE}")
 	
-	#Boost > 3.15 handle the /MD flag more nicely than this
+	#cmake > 3.15 handle the /MD flag more nicely than this
 	if(${STATIC_RUNTIME})
 		string(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
 		string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
@@ -62,15 +63,15 @@
 	find_package(OpenSSL REQUIRED COMPONENTS Crypto)
 	include_directories(${OPENSSL_INCLUDE_DIR})
     #list(APPEND EXTERNAL_LIBS ${OPENSSL_CRYPTO_LIBRARY})
-    #find_package(Threads)
-	#if(THREADS_HAVE_PTHREAD_ARG)
-  	#	list(APPEND EXTERNAL_LIBS "-pthread")
-	#else(THREADS_HAVE_PTHREAD_ARG)
-	#	if(CMAKE_THREAD_LIBS_INIT)
-  	#		 list(APPEND EXTERNAL_LIBS "${CMAKE_THREAD_LIBS_INIT}")
-	#	endif()
-	#endif(THREADS_HAVE_PTHREAD_ARG)
 	MESSAGE(STATUS "Found openssl version ${OPENSSL_VERSION} ")
+    find_package(Threads)
+	if(THREADS_HAVE_PTHREAD_ARG)
+  		list(APPEND EXTERNAL_LIBS "-pthread")
+	else(THREADS_HAVE_PTHREAD_ARG)
+		if(CMAKE_THREAD_LIBS_INIT)
+  			 list(APPEND EXTERNAL_LIBS "${CMAKE_THREAD_LIBS_INIT}")
+		endif()
+	endif(THREADS_HAVE_PTHREAD_ARG)
 	#Zlib required when openssl version < 1.0.1f
 	#SET ( ZLIB_USE_STATIC_LIBS ON )
 	#find_package(ZLIB REQUIRED)
@@ -84,12 +85,12 @@
 	    include_directories(${DBUS_ARCH_INCLUDE_DIR})
 	    list(APPEND EXTERNAL_LIBS ${DBUS_LIBRARIES})
 	endif(USE_DBUS_IDENTIFIER)    
-	if(NOT MINGW)
- 		list(APPEND EXTERNAL_LIBS ${CMAKE_DL_LIBS}) 
-	endif(NOT MINGW)
+	#if(NOT MINGW)
+ 	#	list(APPEND EXTERNAL_LIBS ${CMAKE_DL_LIBS}) 
+	#endif(NOT MINGW)
 endif(UNIX)
 
-
+#initialize project
 #load the current project from files or find it from environment variables or create a default one
 set(LCC_INCLUDE_DIR "${LCC_PROJECTS_BASE_DIR}/${LCC_PROJECT_NAME}/include/${PROJECT_NAME}/${LCC_PROJECT_NAME}" )
 set(LCC_PROJECT_PUBLIC_KEY "${LCC_INCLUDE_DIR}/public_key.h" )
@@ -101,10 +102,9 @@
   COMMENT "generating ${LCC_PROJECT_PUBLIC_KEY}"
   USES_TERMINAL
 )
-
 add_custom_target(project_initialize DEPENDS "${LCC_PROJECT_PUBLIC_KEY}" "${LCC_PROJECT_PRIVATE_KEY}")
 
-include_directories( ${LCC_INCLUDE_DIR} ${CMAKE_BINARY_DIR} )
+include_directories( ${LCC_INCLUDE_DIR} ${CMAKE_BINARY_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/include")
 
 message( STATUS "C compiler        : " ${CMAKE_C_COMPILER})
 message( STATUS "C compiler flags  : " ${CMAKE_C_FLAGS})
@@ -119,6 +119,7 @@
 message( STATUS "Project name      : " ${LCC_PROJECT_NAME} )
 message( STATUS "Project base dir  : " ${LCC_PROJECTS_BASE_DIR}/${LCC_PROJECT_NAME} )
 
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include)
 add_subdirectory(src)
 
 #boost is required only for tests
@@ -133,7 +134,7 @@
 	    message(STATUS "Compiler architecture: ${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}")
 endif()
 SET( Boost_USE_STATIC_LIBS ON )
-find_package(Boost REQUIRED COMPONENTS date_time unit_test_framework program_options system filesystem)
+find_package(Boost COMPONENTS unit_test_framework system filesystem)
 
 #if boost is found enable tests
 IF(Boost_FOUND)
@@ -141,12 +142,8 @@
 	IF(BUILD_TESTING)
 		SET(BUILDNAME "${BUILDNAME}" CACHE STRING "Name of build on the dashboard")
 		MARK_AS_ADVANCED(BUILDNAME)
-		add_definitions(-DBOOST_ALL_NO_LIB) #Disable Boost Microsoft magic, all dependencies are handled by cmake
-		add_definitions(-DBOOST_LIB_DIAGNOSTIC) #Check it is really disabled
-		include_directories(${Boost_INCLUDE_DIRS}) 
 		add_subdirectory(test)
 	ENDIF(BUILD_TESTING)
 ELSE(Boost_FOUND)
 	message(WARNING "Boost not found, disabling tests")
 ENDIF(Boost_FOUND)
-

--
Gitblit v1.9.1