CMAKE: place binaries not in project root
parent
4d183d0a38
commit
c629a3b792
|
@ -3,6 +3,9 @@ project(engine)
|
|||
set(ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Root dir")
|
||||
set(SCRIPTS_CMAKE_DIR ${PROJECT_SOURCE_DIR}/cmake)
|
||||
|
||||
include(${SCRIPTS_CMAKE_DIR}/common.cmake)
|
||||
include(${SCRIPTS_CMAKE_DIR}/macros.cmake)
|
||||
|
||||
option(TOOLS "Builds with tools" ON)
|
||||
option(USE_CCACHE "Use ccache" ON)
|
||||
|
||||
|
@ -27,19 +30,6 @@ else()
|
|||
set(RELEASE True)
|
||||
endif()
|
||||
|
||||
message(STATUS "Place binaries in ${ROOT_DIR}")
|
||||
# First for the generic no-config case (e.g. with mingw)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${ROOT_DIR})
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib)
|
||||
|
||||
# Second, for multi-config builds (e.g. msvc)
|
||||
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${ROOT_DIR})
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib)
|
||||
endforeach()
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SCRIPTS_CMAKE_DIR})
|
||||
set(CMAKE_VERBOSE_MAKEFILE ${VERBOSE})
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
@ -52,24 +42,6 @@ if (${CMAKE_EXTRA_GENERATOR} MATCHES "Eclipse CDT4")
|
|||
set(CMAKE_CXX_COMPILER_ARG1 "-std=c++11" CACHE STRING "C++ version for Eclipse")
|
||||
endif()
|
||||
|
||||
include(${SCRIPTS_CMAKE_DIR}/common.cmake)
|
||||
include(${SCRIPTS_CMAKE_DIR}/macros.cmake)
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(WINDOWS 1)
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Android")
|
||||
set(LINUX 1)
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
set(DARWIN 1)
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
set(LINUX 1)
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten")
|
||||
set(EMSCRIPTEN 1)
|
||||
else()
|
||||
message(WARNING "Unknown host system: ${CMAKE_SYSTEM_NAME}. Default to linux")
|
||||
set(LINUX 1)
|
||||
endif()
|
||||
|
||||
find_host_program(CCACHE "ccache")
|
||||
if (CCACHE)
|
||||
if (USE_CCACHE)
|
||||
|
|
10
Makefile
10
Makefile
|
@ -19,21 +19,21 @@ edit-local-config:
|
|||
$(Q)$(EDITOR) $(LOCAL_CONFIG_DIR)/shapetool/shapetool.vars
|
||||
|
||||
server: build
|
||||
$(Q)./server $(ARGS)
|
||||
$(Q)cd $(BUILDDIR); ./server $(ARGS)
|
||||
|
||||
client: build
|
||||
$(Q)./client $(ARGS)
|
||||
$(Q)cd $(BUILDDIR); ./client $(ARGS)
|
||||
|
||||
shapetool: build
|
||||
$(Q)./shapetool -set voxel-plainterrain false $(ARGS)
|
||||
$(Q)cd $(BUILDDIR); ./shapetool -set voxel-plainterrain false $(ARGS)
|
||||
|
||||
run: shapetool
|
||||
|
||||
runfast: build
|
||||
$(Q)./shapetool -set voxel-plainterrain true $(ARGS)
|
||||
$(Q)cd $(BUILDDIR); ./shapetool -set voxel-plainterrain true $(ARGS)
|
||||
|
||||
tests: build
|
||||
$(Q)./tests -- $(ARGS)
|
||||
$(Q)cd $(BUILDDIR); ./tests -- $(ARGS)
|
||||
|
||||
remotery:
|
||||
$(Q)xdg-open file://$(CURDIR)/tools/remotery/index.html
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include "Client.h"
|
||||
#include "network/messages/ClientMessages_generated.h"
|
||||
#include "messages/ClientMessages_generated.h"
|
||||
#include "ui/LoginWindow.h"
|
||||
#include "ui/DisconnectWindow.h"
|
||||
#include "ui/AuthFailedWindow.h"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include <cstdlib>
|
||||
#include <SDL.h>
|
||||
|
||||
#include "network/messages/ServerMessages_generated.h"
|
||||
#include "messages/ServerMessages_generated.h"
|
||||
#include "frontend/WorldShader.h"
|
||||
#include "frontend/MeshShader.h"
|
||||
#include "frontend/ClientEntity.h"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#include "../Client.h"
|
||||
#include "network/NetworkModule.h"
|
||||
#include "network/messages/ServerMessages_generated.h"
|
||||
#include "messages/ServerMessages_generated.h"
|
||||
#include "SeedHandler.h"
|
||||
#include "AuthFailedHandler.h"
|
||||
#include "EntityRemoveHandler.h"
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
#include "network/Network.h"
|
||||
#include "network/IMsgProtocolHandler.h"
|
||||
#include "network/messages/ServerMessages_generated.h"
|
||||
#include "network/messages/ClientMessages_generated.h"
|
||||
#include "messages/ServerMessages_generated.h"
|
||||
#include "messages/ClientMessages_generated.h"
|
||||
#include "../Client.h"
|
||||
|
||||
template<class MSGTYPE>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "SeedHandler.h"
|
||||
#include "core/App.h"
|
||||
#include "core/Var.h"
|
||||
#include "network/messages/ServerMessages_generated.h"
|
||||
#include "messages/ServerMessages_generated.h"
|
||||
#include "voxel/WorldEvents.h"
|
||||
|
||||
void SeedHandler::execute(ENetPeer* peer, const void* raw) {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include "backend/entity/ai/AICommon.h"
|
||||
#include "core/String.h"
|
||||
#include "core/Common.h"
|
||||
#include "network/messages/Shared_generated.h"
|
||||
#include "messages/Shared_generated.h"
|
||||
#include <bitset>
|
||||
|
||||
using namespace ai;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include "backend/entity/ai/AICommon.h"
|
||||
#include "core/String.h"
|
||||
#include "core/Common.h"
|
||||
#include "network/messages/Shared_generated.h"
|
||||
#include "messages/Shared_generated.h"
|
||||
|
||||
using namespace ai;
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
#include "network/IMsgProtocolHandler.h"
|
||||
#include "backend/entity/User.h"
|
||||
#include "network/messages/ServerMessages_generated.h"
|
||||
#include "network/messages/ClientMessages_generated.h"
|
||||
#include "messages/ServerMessages_generated.h"
|
||||
#include "messages/ClientMessages_generated.h"
|
||||
|
||||
using namespace network::messages::server;
|
||||
using namespace network::messages::client;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "network/NetworkModule.h"
|
||||
#include "network/messages/ClientMessages_generated.h"
|
||||
#include "messages/ClientMessages_generated.h"
|
||||
|
||||
#include "UserConnectHandler.h"
|
||||
#include "UserDisconnectHandler.h"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "UserConnectHandler.h"
|
||||
#include "network/messages/ClientMessages_generated.h"
|
||||
#include "network/messages/ServerMessages_generated.h"
|
||||
#include "messages/ClientMessages_generated.h"
|
||||
#include "messages/ServerMessages_generated.h"
|
||||
#include "backend/entity/User.h"
|
||||
#include "core/Var.h"
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#include "backend/entity/EntityStorage.h"
|
||||
#include "backend/entity/ai/AILoader.h"
|
||||
#include "backend/poi/PoiProvider.h"
|
||||
#include "network/messages/ServerMessages_generated.h"
|
||||
#include "messages/ServerMessages_generated.h"
|
||||
|
||||
namespace backend {
|
||||
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
macro(network_generate HEADER OUTDIR DEFINITION)
|
||||
set(MESSAGE_OUT_DIR ${CMAKE_BINARY_DIR}/messages)
|
||||
|
||||
macro(network_generate HEADER DEFINITION)
|
||||
add_custom_command(
|
||||
OUTPUT ${OUTDIR}/${HEADER}
|
||||
COMMAND ${TOOLS_DIR}/flatc -c --gen-includes -o ${OUTDIR} ${CMAKE_CURRENT_SOURCE_DIR}/definitions/${DEFINITION}
|
||||
OUTPUT ${MESSAGE_OUT_DIR}/${HEADER}
|
||||
COMMAND ${TOOLS_DIR}/flatc -c --gen-includes -o ${MESSAGE_OUT_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/definitions/${DEFINITION}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/definitions/${DEFINITION}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "Generating source code for ${DEFINITION}"
|
||||
)
|
||||
set_source_files_properties(${OUTDIR}/${HEADER} PROPERTIES GENERATED TRUE)
|
||||
set_source_files_properties(${MESSAGE_OUT_DIR}/${HEADER} PROPERTIES GENERATED TRUE)
|
||||
endmacro()
|
||||
|
||||
set(SRCS
|
||||
|
@ -20,16 +22,14 @@ set(SRCS
|
|||
set(LIB network)
|
||||
add_library(${LIB} ${SRCS})
|
||||
|
||||
set(MESSAGE_OUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/messages)
|
||||
|
||||
add_custom_target(GenerateNetworkMessages
|
||||
DEPENDS ${MESSAGE_OUT_DIR}/Shared_generated.h ${MESSAGE_OUT_DIR}/ClientMessages_generated.h ${MESSAGE_OUT_DIR}/ServerMessages_generated.h
|
||||
COMMENT "Generate network messages"
|
||||
COMMENT "Generate network messages in ${MESSAGE_OUT_DIR}"
|
||||
)
|
||||
|
||||
network_generate(Shared_generated.h ${MESSAGE_OUT_DIR} Shared.fbs)
|
||||
network_generate(ClientMessages_generated.h ${MESSAGE_OUT_DIR} ClientMessages.fbs)
|
||||
network_generate(ServerMessages_generated.h ${MESSAGE_OUT_DIR} ServerMessages.fbs)
|
||||
network_generate(Shared_generated.h Shared.fbs)
|
||||
network_generate(ClientMessages_generated.h ClientMessages.fbs)
|
||||
network_generate(ServerMessages_generated.h ServerMessages.fbs)
|
||||
|
||||
target_link_libraries(${LIB} core enet flatbuffers)
|
||||
set_target_properties(${LIB} PROPERTIES FOLDER ${LIB})
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#include "IProtocolHandler.h"
|
||||
#include "ProtocolHandlerRegistry.h"
|
||||
#include "NetworkEvents.h"
|
||||
#include "network/messages/ClientMessages_generated.h"
|
||||
#include "network/messages/ServerMessages_generated.h"
|
||||
#include "messages/ClientMessages_generated.h"
|
||||
#include "messages/ServerMessages_generated.h"
|
||||
#include "core/Trace.h"
|
||||
#include "core/Log.h"
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/*.h
|
Loading…
Reference in New Issue