Added proper precompiled headers for MSVC.
This commit is contained in:
parent
fb46ad5c75
commit
2560fb40c6
@ -12,72 +12,71 @@ include_directories (SYSTEM "${PROJECT_SOURCE_DIR}/../lib/jsoncpp/include")
|
|||||||
set(FOLDERS OSSupport HTTPServer Bindings Items Blocks Protocol Generating)
|
set(FOLDERS OSSupport HTTPServer Bindings Items Blocks Protocol Generating)
|
||||||
set(FOLDERS ${FOLDERS} WorldStorage Mobs Entities Simulator UI BlockEntities)
|
set(FOLDERS ${FOLDERS} WorldStorage Mobs Entities Simulator UI BlockEntities)
|
||||||
|
|
||||||
if(NOT WIN32)
|
|
||||||
|
|
||||||
foreach(folder ${FOLDERS})
|
|
||||||
add_subdirectory(${folder})
|
|
||||||
endforeach(folder)
|
|
||||||
|
|
||||||
file(GLOB SOURCE
|
if (NOT WIN32)
|
||||||
"*.cpp"
|
foreach(folder ${FOLDERS})
|
||||||
)
|
add_subdirectory(${folder})
|
||||||
else()
|
endforeach(folder)
|
||||||
|
|
||||||
function(includefolder PATH)
|
file(GLOB SOURCE
|
||||||
FILE(GLOB FOLDER_FILES
|
"*.cpp"
|
||||||
"${PATH}/*.cpp"
|
|
||||||
"${PATH}/*.h"
|
|
||||||
)
|
)
|
||||||
source_group("${PATH}" FILES ${FOLDER_FILES})
|
|
||||||
|
|
||||||
endfunction(includefolder)
|
list(REMOVE_ITEM SOURCE "${PROJECT_SOURCE_DIR}/StackWalker.cpp" "${PROJECT_SOURCE_DIR}/LeakFinder.cpp")
|
||||||
|
|
||||||
foreach(folder ${FOLDERS})
|
else ()
|
||||||
includefolder(${folder})
|
|
||||||
endforeach(folder)
|
|
||||||
|
|
||||||
file(GLOB_RECURSE SOURCE
|
function(includefolder PATH)
|
||||||
"*.cpp"
|
FILE(GLOB FOLDER_FILES
|
||||||
"*.h"
|
"${PATH}/*.cpp"
|
||||||
)
|
"${PATH}/*.h"
|
||||||
|
)
|
||||||
|
source_group("${PATH}" FILES ${FOLDER_FILES})
|
||||||
|
endfunction(includefolder)
|
||||||
|
|
||||||
include_directories("${PROJECT_SOURCE_DIR}")
|
foreach(folder ${FOLDERS})
|
||||||
|
includefolder(${folder})
|
||||||
|
endforeach(folder)
|
||||||
|
|
||||||
source_group("" FILES ${SOURCE})
|
file(GLOB_RECURSE SOURCE
|
||||||
|
"*.cpp"
|
||||||
|
"*.h"
|
||||||
|
)
|
||||||
|
|
||||||
#precompiledheaders
|
include_directories("${PROJECT_SOURCE_DIR}")
|
||||||
|
|
||||||
file(GLOB_RECURSE HEADERS
|
source_group("" FILES ${SOURCE})
|
||||||
"*.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
foreach(header ${HEADERS})
|
|
||||||
set(FLAGS "/Yu ${header} /Yc ${header}")
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS}")
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAGS}")
|
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAGS}")
|
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FLAGS}")
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${FLAGS}")
|
|
||||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${FLAGS}")
|
|
||||||
set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_PROFILE} ${FLAGS}")
|
|
||||||
set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_PROFILE} ${FLAGS}")
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
|
# Precompiled headers (1st part)
|
||||||
|
SET(PrecompiledBinary "$(IntDir)/Globals.pch")
|
||||||
|
SET_SOURCE_FILES_PROPERTIES(
|
||||||
|
Globals.cpp PROPERTIES COMPILE_FLAGS "/Yc\"Globals.h\" /Fp\"${PrecompiledBinary}\""
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(REMOVE_ITEM SOURCE "${PROJECT_SOURCE_DIR}/StackWalker.cpp" "${PROJECT_SOURCE_DIR}/LeakFinder.cpp")
|
|
||||||
|
|
||||||
if(UNIX)
|
if (UNIX)
|
||||||
set(EXECUTABLE ../MCServer/MCServer)
|
set(EXECUTABLE ../MCServer/MCServer)
|
||||||
else()
|
else ()
|
||||||
set(EXECUTABLE MCServer)
|
set(EXECUTABLE MCServer)
|
||||||
endif()
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
add_executable(${EXECUTABLE} ${SOURCE})
|
add_executable(${EXECUTABLE} ${SOURCE})
|
||||||
|
|
||||||
if(NOT WIN32)
|
|
||||||
target_link_libraries(${EXECUTABLE} OSSupport HTTPServer Bindings Items Blocks)
|
if (WIN32)
|
||||||
target_link_libraries(${EXECUTABLE} Protocol Generating WorldStorage)
|
SET_TARGET_PROPERTIES(
|
||||||
target_link_libraries(${EXECUTABLE} Mobs Entities Simulator UI BlockEntities)
|
${EXECUTABLE} PROPERTIES COMPILE_FLAGS "/Yu\"Globals.h\" /FI\"${PrecompiledBinary}\" /Fp\"${PrecompiledBinary}\""
|
||||||
endif()
|
OBJECT_DEPENDS "${PrecompiledBinary}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
if (NOT WIN32)
|
||||||
|
target_link_libraries(${EXECUTABLE} OSSupport HTTPServer Bindings Items Blocks)
|
||||||
|
target_link_libraries(${EXECUTABLE} Protocol Generating WorldStorage)
|
||||||
|
target_link_libraries(${EXECUTABLE} Mobs Entities Simulator UI BlockEntities)
|
||||||
|
endif ()
|
||||||
target_link_libraries(${EXECUTABLE} md5 luaexpat iniFile jsoncpp cryptopp zlib lua)
|
target_link_libraries(${EXECUTABLE} md5 luaexpat iniFile jsoncpp cryptopp zlib lua)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user