aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt37
1 files changed, 20 insertions, 17 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7532f81..8918eab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,28 +4,28 @@ cmake_minimum_required(VERSION 3.1)
4SET(LUA_LIBDIR ${LUA_INCDIR}/../lib " " ${LUA_INCDIR}/../../lib) 4SET(LUA_LIBDIR ${LUA_INCDIR}/../lib " " ${LUA_INCDIR}/../../lib)
5 5
6find_package(Lua) 6find_package(Lua)
7IF(LUA_FOUND) 7if (LUA_FOUND)
8 SET(LUA_LIBRARIES "${LUA_LIBRARY}") 8 SET(LUA_LIBRARIES "${LUA_LIBRARY}")
9ELSE(LUA_FOUND) 9else ()
10 MESSAGE(STATUS "Lua: using information from luarocks") 10 MESSAGE(STATUS "Lua: using information from luarocks")
11 SET(LUA_INCLUDE_DIR "${LUA_INCDIR}") 11 SET(LUA_INCLUDE_DIR "${LUA_INCDIR}")
12 GET_FILENAME_COMPONENT(LUA_EXEC_NAME ${LUA} NAME_WE) 12 GET_FILENAME_COMPONENT(LUA_EXEC_NAME ${LUA} NAME_WE)
13 IF(LUA_EXEC_NAME STREQUAL "luajit") 13 if (LUA_EXEC_NAME STREQUAL "luajit")
14 FIND_LIBRARY(LUA_LIBRARIES 14 FIND_LIBRARY(LUA_LIBRARIES
15 NAMES luajit libluajit 15 NAMES luajit libluajit
16 PATHS ${LUA_LIBDIR} 16 PATHS ${LUA_LIBDIR}
17 NO_DEFAULT_PATH) 17 NO_DEFAULT_PATH)
18 ELSEIF(LUA_EXEC_NAME MATCHES "lua.*") 18 elseif ()
19 FIND_LIBRARY(LUA_LIBRARIES 19 FIND_LIBRARY(LUA_LIBRARIES
20 NAMES lua lua54 lua53 lua52 lua51 liblua liblua54 liblua53 liblua52 liblua51 liblua5.4 liblua5.3 liblua5.2 liblua5.1 20 NAMES lua lua54 lua53 lua52 lua51 liblua liblua54 liblua53 liblua52 liblua51 liblua5.4 liblua5.3 liblua5.2 liblua5.1
21 PATHS ${LUA_LIBDIR} 21 PATHS ${LUA_LIBDIR}
22 NO_DEFAULT_PATH) 22 NO_DEFAULT_PATH)
23 ENDIF(LUA_EXEC_NAME STREQUAL "luajit") 23 endif()
24ENDIF(LUA_FOUND) 24endif()
25 25
26MESSAGE(STATUS "Lua: " ${LUA}) 26message(STATUS "Lua: " ${LUA})
27MESSAGE(STATUS "Lua include: " ${LUA_INCLUDE_DIR}) 27message(STATUS "Lua include: " ${LUA_INCLUDE_DIR})
28MESSAGE(STATUS "Lua library: ${LUA_LIBRARIES}") 28message(STATUS "Lua library: ${LUA_LIBRARIES}")
29 29
30enable_language(CXX) 30enable_language(CXX)
31include_directories(src src/3rdParty ${LUA_INCLUDE_DIR}) 31include_directories(src src/3rdParty ${LUA_INCLUDE_DIR})
@@ -131,22 +131,25 @@ elseif (${CMAKE_BUILD_TYPE} MATCHES "Release")
131 target_compile_definitions(yue PRIVATE NDEBUG) 131 target_compile_definitions(yue PRIVATE NDEBUG)
132endif() 132endif()
133 133
134if(CMAKE_DL_LIBS)
135 SET(YUE_DEP_LIBS ${LUA_LIBRARIES} " " ${CMAKE_DL_LIBS})
136else ()
137 SET(YUE_DEP_LIBS ${LUA_LIBRARIES})
138endif()
139
134find_package(Threads REQUIRED) 140find_package(Threads REQUIRED)
135if (APPLE) 141if (APPLE)
136 set(MAC_LIBS "-framework CoreFoundation" "-framework CoreServices") 142 set(MAC_LIBS "-framework CoreFoundation" "-framework CoreServices")
137 target_link_libraries(yue PRIVATE ${LUA_LIBRARIES} ${MAC_LIBS} Threads::Threads) 143 target_link_libraries(yue PRIVATE ${YUE_DEP_LIBS} ${MAC_LIBS} Threads::Threads)
138elseif (NOT (${CMAKE_SYSTEM_NAME} MATCHES "Haiku") AND NOT WIN32) 144elseif (NOT (${CMAKE_SYSTEM_NAME} MATCHES "Haiku") AND NOT WIN32)
139 target_link_libraries(yue PRIVATE ${LUA_LIBRARIES} Threads::Threads) 145 target_link_libraries(yue PRIVATE ${YUE_DEP_LIBS} Threads::Threads)
140else () 146else ()
141 target_link_libraries(yue PRIVATE ${LUA_LIBRARIES}) 147 target_link_libraries(yue PRIVATE ${YUE_DEP_LIBS})
142endif() 148endif()
143 149
144IF(CMAKE_DL_LIBS) 150if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
145 target_link_libraries(yue ${CMAKE_DL_LIBS})
146ENDIF(CMAKE_DL_LIBS)
147IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
148 target_link_options(yue PRIVATE -lstdc++fs) 151 target_link_options(yue PRIVATE -lstdc++fs)
149ENDIF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") 152endif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
150 153
151install(CODE "") 154install(CODE "")
152 155