From: Loic Blot Date: Fri, 7 Apr 2017 21:56:02 +0000 (+0200) Subject: Fix cmake library default build problem since moving to lib/ X-Git-Tag: 0.4.16~273 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ff4fef570e8df6ce44ceb1d9071f860474eb1f95;p=oweals%2Fminetest.git Fix cmake library default build problem since moving to lib/ Also make Lua library check a cmake module --- 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/cmake/Modules/FindLua.cmake b/cmake/Modules/FindLua.cmake new file mode 100644 index 000000000..be5d92d8c --- /dev/null +++ b/cmake/Modules/FindLua.cmake @@ -0,0 +1,28 @@ +# Look for Lua library to use +# This selects LuaJIT by default + +option(ENABLE_LUAJIT "Enable LuaJIT support" TRUE) +set(USE_LUAJIT FALSE) +option(REQUIRE_LUAJIT "Require LuaJIT support" FALSE) +if(REQUIRE_LUAJIT) + set(ENABLE_LUAJIT TRUE) +endif() +if(ENABLE_LUAJIT) + find_package(LuaJIT) + if(LUAJIT_FOUND) + set(USE_LUAJIT TRUE) + message (STATUS "Using LuaJIT provided by system.") + elseif(REQUIRE_LUAJIT) + message(FATAL_ERROR "LuaJIT not found whereas REQUIRE_LUAJIT=\"TRUE\" is used.\n" + "To continue, either install LuaJIT or do not use REQUIRE_LUAJIT=\"TRUE\".") + endif() +else() + message (STATUS "LuaJIT detection disabled! (ENABLE_LUAJIT=0)") +endif() + +if(NOT USE_LUAJIT) + message(STATUS "LuaJIT not found, using bundled Lua.") + set(LUA_LIBRARY lua) + set(LUA_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/lua/src) + add_subdirectory(lib/lua) +endif() diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt deleted file mode 100644 index bc398f607..000000000 --- a/lib/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ -# LuaJIT -option(ENABLE_LUAJIT "Enable LuaJIT support" TRUE) -set(USE_LUAJIT FALSE PARENT_SCOPE) -option(REQUIRE_LUAJIT "Require LuaJIT support" FALSE) -if(REQUIRE_LUAJIT) - set(ENABLE_LUAJIT TRUE) -endif() -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" - "To continue, either install LuaJIT or do not use REQUIRE_LUAJIT=\"TRUE\".") - endif() -else() - message (STATUS "LuaJIT detection disabled! (ENABLE_LUAJIT=0)") -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) -endif() - -find_package(GMP REQUIRED) -find_package(Json REQUIRED)