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 ${FOLDERS} WorldStorage Mobs Entities Simulator UI BlockEntities)
|
||||
|
||||
if(NOT WIN32)
|
||||
|
||||
foreach(folder ${FOLDERS})
|
||||
add_subdirectory(${folder})
|
||||
endforeach(folder)
|
||||
|
||||
file(GLOB SOURCE
|
||||
"*.cpp"
|
||||
)
|
||||
else()
|
||||
if (NOT WIN32)
|
||||
foreach(folder ${FOLDERS})
|
||||
add_subdirectory(${folder})
|
||||
endforeach(folder)
|
||||
|
||||
function(includefolder PATH)
|
||||
FILE(GLOB FOLDER_FILES
|
||||
"${PATH}/*.cpp"
|
||||
"${PATH}/*.h"
|
||||
file(GLOB SOURCE
|
||||
"*.cpp"
|
||||
)
|
||||
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})
|
||||
includefolder(${folder})
|
||||
endforeach(folder)
|
||||
else ()
|
||||
|
||||
file(GLOB_RECURSE SOURCE
|
||||
"*.cpp"
|
||||
"*.h"
|
||||
)
|
||||
function(includefolder PATH)
|
||||
FILE(GLOB FOLDER_FILES
|
||||
"${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
|
||||
"*.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()
|
||||
source_group("" FILES ${SOURCE})
|
||||
|
||||
# Precompiled headers (1st part)
|
||||
SET(PrecompiledBinary "$(IntDir)/Globals.pch")
|
||||
SET_SOURCE_FILES_PROPERTIES(
|
||||
Globals.cpp PROPERTIES COMPILE_FLAGS "/Yc\"Globals.h\" /Fp\"${PrecompiledBinary}\""
|
||||
)
|
||||
endif()
|
||||
|
||||
list(REMOVE_ITEM SOURCE "${PROJECT_SOURCE_DIR}/StackWalker.cpp" "${PROJECT_SOURCE_DIR}/LeakFinder.cpp")
|
||||
|
||||
if(UNIX)
|
||||
if (UNIX)
|
||||
set(EXECUTABLE ../MCServer/MCServer)
|
||||
else()
|
||||
else ()
|
||||
set(EXECUTABLE MCServer)
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
|
||||
add_executable(${EXECUTABLE} ${SOURCE})
|
||||
|
||||
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()
|
||||
|
||||
if (WIN32)
|
||||
SET_TARGET_PROPERTIES(
|
||||
${EXECUTABLE} PROPERTIES COMPILE_FLAGS "/Yu\"Globals.h\" /FI\"${PrecompiledBinary}\" /Fp\"${PrecompiledBinary}\""
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user