Cmake: Rewrite build and use inherited dependencies (#12)

This commit is contained in:
Kargatum
2019-04-03 12:32:07 +07:00
committed by GitHub
parent 23c29f010c
commit e27b9e0d89
7 changed files with 50 additions and 56 deletions

View File

@@ -1,7 +1,2 @@
CU_SET_PATH("CMAKE_MOD_ELUNA_ENGINE_DIR" "${CMAKE_CURRENT_LIST_DIR}") CU_SET_PATH("CMAKE_MOD_ELUNA_ENGINE_DIR" "${CMAKE_CURRENT_LIST_DIR}")
CU_ADD_HOOK(AFTER_LOAD_CONF "${CMAKE_CURRENT_LIST_DIR}/cmake/after_load_conf.cmake") CU_ADD_HOOK(AFTER_LOAD_CMAKE_MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake/after_load_cmake_modules.cmake")

View File

@@ -1,13 +1,16 @@
CollectIncludeDirectories(
${CMAKE_MOD_ELUNA_ENGINE_DIR}
PUBLIC_INCLUDES)
include_directories( target_include_directories(game-interface
${CMAKE_MOD_ELUNA_ENGINE_DIR}/LuaEngine INTERFACE
${CMAKE_MOD_ELUNA_ENGINE_DIR}/lualib ${PUBLIC_INCLUDES})
${CMAKE_MOD_ELUNA_ENGINE_DIR}/src
)
add_dependencies(game lualib) add_dependencies(game lualib)
target_link_libraries(game lualib)
target_link_libraries(game
PUBLIC
lualib)
if( WIN32 ) if( WIN32 )
if ( MSVC ) if ( MSVC )

View File

@@ -1,7 +1,9 @@
add_subdirectory(${CMAKE_MOD_ELUNA_ENGINE_DIR}/lualib) add_subdirectory(${CMAKE_MOD_ELUNA_ENGINE_DIR}/lualib)
add_definitions(-DELUNA) add_definitions(-DELUNA)
add_definitions(-DAZEROTHCORE) add_definitions(-DAZEROTHCORE)
add_definitions(-DWOTLK) add_definitions(-DWOTLK)
CU_ADD_HOOK(BEFORE_GAME_LIBRARY "${CMAKE_MOD_ELUNA_ENGINE_DIR}/cmake/before_gs_install.cmake") CU_ADD_HOOK(BEFORE_GAME_LIBRARY "${CMAKE_MOD_ELUNA_ENGINE_DIR}/cmake/before_gs_install.cmake")
CU_ADD_HOOK(AFTER_GAME_LIBRARY "${CMAKE_MOD_ELUNA_ENGINE_DIR}/cmake/after_gs_install.cmake") CU_ADD_HOOK(AFTER_GAME_LIBRARY "${CMAKE_MOD_ELUNA_ENGINE_DIR}/cmake/after_gs_install.cmake")
CU_ADD_HOOK(BEFORE_SCRIPTS_LIBRARY "${CMAKE_MOD_ELUNA_ENGINE_DIR}/cmake/before_script_install.cmake") CU_ADD_HOOK(BEFORE_SCRIPTS_LIBRARY "${CMAKE_MOD_ELUNA_ENGINE_DIR}/cmake/before_script_install.cmake")
@@ -10,4 +12,3 @@ CU_ADD_HOOK(AFTER_WORLDSERVER_CMAKE "${CMAKE_MOD_ELUNA_ENGINE_DIR}/cmake/after_w
AC_ADD_CONFIG_FILE("${CMAKE_MOD_ELUNA_ENGINE_DIR}/conf/mod_LuaEngine.conf.dist") AC_ADD_CONFIG_FILE("${CMAKE_MOD_ELUNA_ENGINE_DIR}/conf/mod_LuaEngine.conf.dist")
message("** [Eluna Module] LuaEngine is enable!") message("** [Eluna Module] LuaEngine is enable!")

View File

@@ -1,6 +0,0 @@
include_directories(
${CMAKE_MOD_ELUNA_ENGINE_DIR}/LuaEngine
${CMAKE_MOD_ELUNA_ENGINE_DIR}/lualib
${CMAKE_MOD_ELUNA_ENGINE_DIR}/src
)

View File

@@ -2,15 +2,12 @@ file(GLOB_RECURSE method_headers ${CMAKE_MOD_ELUNA_ENGINE_DIR}/LuaEngine/*Method
file(GLOB_RECURSE sources_ElunaFile_CPP ${CMAKE_MOD_ELUNA_ENGINE_DIR}/LuaEngine/*.cpp ) file(GLOB_RECURSE sources_ElunaFile_CPP ${CMAKE_MOD_ELUNA_ENGINE_DIR}/LuaEngine/*.cpp )
file(GLOB_RECURSE sources_ElunaFile_H ${CMAKE_MOD_ELUNA_ENGINE_DIR}/LuaEngine/*.h) file(GLOB_RECURSE sources_ElunaFile_H ${CMAKE_MOD_ELUNA_ENGINE_DIR}/LuaEngine/*.h)
set(game_STAT_SRCS set(ElunaLuaEngineFiles
${game_STAT_SRCS} ${ElunaLuaEngineFiles}
${sources_ElunaFile_H} ${sources_ElunaFile_H}
${sources_ElunaFile_CPP} ${sources_ElunaFile_CPP}
) )
source_group("LuaEngine\\Methods" FILES ${method_headers}) source_group("LuaEngine\\Methods" FILES ${method_headers})
source_group("LuaEngine\\Header Files" FILES ${sources_ElunaFile_H}) source_group("LuaEngine\\Header Files" FILES ${sources_ElunaFile_H})
source_group("LuaEngine\\Source Files" FILES ${sources_ElunaFile_CPP}) source_group("LuaEngine\\Source Files" FILES ${sources_ElunaFile_CPP})

View File

@@ -1,5 +0,0 @@
include_directories(
${CMAKE_MOD_ELUNA_ENGINE_DIR}/LuaEngine
${CMAKE_MOD_ELUNA_ENGINE_DIR}/lualib
${CMAKE_MOD_ELUNA_ENGINE_DIR}/src
)

View File

@@ -4,16 +4,25 @@
# Please see the included DOCS/LICENSE.md for more information # Please see the included DOCS/LICENSE.md for more information
# #
file(GLOB sources *.c) CollectSourceFiles(
list(REMOVE_ITEM sources ${CMAKE_CURRENT_SOURCE_DIR}/lua.c)
list(REMOVE_ITEM sources ${CMAKE_CURRENT_SOURCE_DIR}/luac.c)
set(lua_STAT_SRCS
${sources}
)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
) PRIVATE_SOURCES
# Exclude
${CMAKE_CURRENT_SOURCE_DIR}/Debugging
${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders)
add_library(lualib STATIC ${lua_STAT_SRCS}) list(REMOVE_ITEM PRIVATE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/lua.c)
list(REMOVE_ITEM PRIVATE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/luac.c)
add_library(lualib STATIC
${PRIVATE_SOURCES})
CollectIncludeDirectories(
${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC_INCLUDES)
target_include_directories(lualib
PUBLIC
${PUBLIC_INCLUDES}
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})