From ff4fef570e8df6ce44ceb1d9071f860474eb1f95 Mon Sep 17 00:00:00 2001
From: Loic Blot <loic.blot@unix-experience.fr>
Date: Fri, 7 Apr 2017 23:56:02 +0200
Subject: [PATCH] Fix cmake library default build problem since moving to lib/

Also make Lua library check a cmake module
---
 CMakeLists.txt                                   |  5 ++++-
 cmake/Modules/FindGMP.cmake                      |  9 +++------
 cmake/Modules/FindJson.cmake                     |  6 +++---
 .../Modules/FindLua.cmake                        | 16 +++++++---------
 4 files changed, 17 insertions(+), 19 deletions(-)
 rename lib/CMakeLists.txt => cmake/Modules/FindLua.cmake (71%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index aa7deaa11..418856460 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -186,11 +186,14 @@ if(APPLE)
 	install(FILES "misc/Info.plist" DESTINATION "${BUNDLE_PATH}/Contents")
 endif()
 
+# Library pack
+find_package(GMP REQUIRED)
+find_package(Json REQUIRED)
+find_package(Lua REQUIRED)
 
 # Subdirectories
 # Be sure to add all relevant definitions above this
 
-add_subdirectory(lib)
 add_subdirectory(src)
 
 
diff --git a/cmake/Modules/FindGMP.cmake b/cmake/Modules/FindGMP.cmake
index d584eb1e7..64a57cfe0 100644
--- a/cmake/Modules/FindGMP.cmake
+++ b/cmake/Modules/FindGMP.cmake
@@ -1,6 +1,6 @@
 option(ENABLE_SYSTEM_GMP "Use GMP from system" TRUE)
 mark_as_advanced(GMP_LIBRARY GMP_INCLUDE_DIR)
-set(USE_SYSTEM_GMP FALSE PARENT_SCOPE)
+set(USE_SYSTEM_GMP FALSE)
 
 if(ENABLE_SYSTEM_GMP)
 	find_library(GMP_LIBRARY NAMES libgmp.so)
@@ -9,7 +9,6 @@ if(ENABLE_SYSTEM_GMP)
 	if(GMP_LIBRARY AND GMP_INCLUDE_DIR)
 		message (STATUS "Using GMP provided by system.")
 		set(USE_SYSTEM_GMP TRUE)
-		set(USE_SYSTEM_GMP TRUE PARENT_SCOPE)
 	else()
 		message (STATUS "Detecting GMP from system failed.")
 	endif()
@@ -19,11 +18,9 @@ endif()
 
 if(NOT USE_SYSTEM_GMP)
 	message(STATUS "Using bundled mini-gmp library.")
-	set(GMP_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gmp)
-	set(GMP_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gmp PARENT_SCOPE)
+	set(GMP_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/gmp)
 	set(GMP_LIBRARY gmp)
-	set(GMP_LIBRARY gmp PARENT_SCOPE)
-	add_subdirectory(gmp)
+	add_subdirectory(lib/gmp)
 endif()
 
 include(FindPackageHandleStandardArgs)
diff --git a/cmake/Modules/FindJson.cmake b/cmake/Modules/FindJson.cmake
index a51a17744..26339a295 100644
--- a/cmake/Modules/FindJson.cmake
+++ b/cmake/Modules/FindJson.cmake
@@ -20,7 +20,7 @@ endif()
 
 if(NOT JSONCPP_FOUND)
 	message(STATUS "Using bundled JSONCPP library.")
-	set(JSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp PARENT_SCOPE)
-	set(JSON_LIBRARY jsoncpp PARENT_SCOPE)
-	add_subdirectory(jsoncpp)
+	set(JSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jsoncpp)
+	set(JSON_LIBRARY jsoncpp)
+	add_subdirectory(lib/jsoncpp)
 endif()
diff --git a/lib/CMakeLists.txt b/cmake/Modules/FindLua.cmake
similarity index 71%
rename from lib/CMakeLists.txt
rename to cmake/Modules/FindLua.cmake
index bc398f607..be5d92d8c 100644
--- a/lib/CMakeLists.txt
+++ b/cmake/Modules/FindLua.cmake
@@ -1,6 +1,8 @@
-# LuaJIT
+# Look for Lua library to use
+# This selects LuaJIT by default
+
 option(ENABLE_LUAJIT "Enable LuaJIT support" TRUE)
-set(USE_LUAJIT FALSE PARENT_SCOPE)
+set(USE_LUAJIT FALSE)
 option(REQUIRE_LUAJIT "Require LuaJIT support" FALSE)
 if(REQUIRE_LUAJIT)
 	set(ENABLE_LUAJIT TRUE)
@@ -9,7 +11,6 @@ if(ENABLE_LUAJIT)
 	find_package(LuaJIT)
 	if(LUAJIT_FOUND)
 		set(USE_LUAJIT TRUE)
-		set(USE_LUAJIT TRUE PARENT_SCOPE)
 		message (STATUS "Using LuaJIT provided by system.")
 	elseif(REQUIRE_LUAJIT)
 		message(FATAL_ERROR "LuaJIT not found whereas REQUIRE_LUAJIT=\"TRUE\" is used.\n"
@@ -21,10 +22,7 @@ endif()
 
 if(NOT USE_LUAJIT)
 	message(STATUS "LuaJIT not found, using bundled Lua.")
-	set(LUA_LIBRARY lua PARENT_SCOPE)
-	set(LUA_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lua/src PARENT_SCOPE)
-	add_subdirectory(lua)
+	set(LUA_LIBRARY lua)
+	set(LUA_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/lua/src)
+	add_subdirectory(lib/lua)
 endif()
-
-find_package(GMP REQUIRED)
-find_package(Json REQUIRED)
-- 
2.25.1