aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2023-01-25 03:29:30 +0800
committerLi Jin <dragon-fly@qq.com>2023-01-25 03:29:30 +0800
commit2063353f773dd759c9151565272357c8e608c297 (patch)
tree050ef65d02c545a92f28162947b942c4a48c7b8a
parent3f881ba631a935b6d5ac2e4fc3fec9f08e498542 (diff)
downloadyuescript-2063353f773dd759c9151565272357c8e608c297.tar.gz
yuescript-2063353f773dd759c9151565272357c8e608c297.tar.bz2
yuescript-2063353f773dd759c9151565272357c8e608c297.zip
fix CMakeList.txt.
-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