From 8acd0089c42c24bb7d37d8250e08867e0bd72a0f Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周日, 01 12月 2019 13:44:00 +0800
Subject: [PATCH] fix centos

---
 CMakeLists.txt |   54 +++++++++++++++++++++++++++---------------------------
 1 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0e38482..acd00fb 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) 
 
-#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()
@@ -51,32 +52,36 @@
 	add_definitions("/D _CRT_SECURE_NO_WARNINGS")
 else(MSVC)
     if(MINGW)
-        list(APPEND EXTERNAL_LIBS "-lcrypt32 -lws2_32 -liphlpapi")
+        list(APPEND EXTERNAL_LIBS "-lcrypt32 -lbcrypt -lws2_32 -liphlpapi")
         SET(CMAKE_EXE_LINKER_FLAGS "-static")
     endif(MINGW)
 endif(MSVC)
 
-if(UNIX) #this is true for all the linux systems but not for cross compiling "linux->windows"
-	#find a static version of openssl crypto library
-	SET ( OPENSSL_USE_STATIC_LIBS ON )
-	find_package(OpenSSL REQUIRED COMPONENTS Crypto)
+SET ( OPENSSL_USE_STATIC_LIBS ON )
+find_package(OpenSSL COMPONENTS Crypto)
+IF(OPENSSL_FOUND)
+	add_definitions(-DHAS_OPENSSL)
 	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} ")
-	#Zlib required when openssl version < 1.0.1f
-	#SET ( ZLIB_USE_STATIC_LIBS ON )
-	#find_package(ZLIB REQUIRED)
-	#MESSAGE(STATUS "Found zlib version ${ZLIB_VERSION} ")
+ENDIF(OPENSSL_FOUND)
+
+if(UNIX) #this is true for all the linux systems but not for cross compiling "linux->windows"
+	IF(NOT OPENSSL_FOUND)
+		MESSAGE(SEND_ERROR "Openssl not found - required in Linux")
+	ENDIF(NOT OPENSSL_FOUND)
+	
+    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)
+	
 	find_program( MEMORYCHECK_COMMAND valgrind )
 	set( MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full" )
+	
 	if(USE_DBUS_IDENTIFIER)
 	    FIND_PACKAGE(Dbus REQUIRED)
 	    add_definitions(-DUSE_DBUS)
@@ -84,9 +89,6 @@
 	    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)
 endif(UNIX)
 
 #initialize project
@@ -118,6 +120,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
@@ -132,7 +135,7 @@
 	    message(STATUS "Compiler architecture: ${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}")
 endif()
 SET( Boost_USE_STATIC_LIBS ON )
-find_package(Boost REQUIRED COMPONENTS unit_test_framework system filesystem)
+find_package(Boost COMPONENTS unit_test_framework system filesystem)
 
 #if boost is found enable tests
 IF(Boost_FOUND)
@@ -145,6 +148,3 @@
 ELSE(Boost_FOUND)
 	message(WARNING "Boost not found, disabling tests")
 ENDIF(Boost_FOUND)
-
-install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include)
-  
\ No newline at end of file

--
Gitblit v1.9.1