summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-05-24 06:25:58 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-05-24 06:25:58 -0400
commitf8d319cfba8a1dfce919680ef5e4046a68ae9803 (patch)
tree17070225fcdc81981c0f0a44cd35f23425cb8f31 /src/CMakeLists.txt
parent350e4fa97fc0a2dd3a63ad9ce1384e5ca925af9b (diff)
added precompiled headers
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e59842fb..496bd5fb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -9,6 +9,28 @@ IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(PROJ_ARCH x64)
ENDIF()
+macro(add_msvc_precompiled_header PrecompiledHeader PrecompiledSource SourcesVar HeadersVar)
+ if(MSVC)
+ get_filename_component(PrecompiledBasename ${PrecompiledHeader} NAME_WE)
+ set(PrecompiledBinary "${CMAKE_CURRENT_BINARY_DIR}/${PrecompiledBasename}.pch")
+ set(Sources ${${SourcesVar}})
+
+ set_source_files_properties(
+ ${PrecompiledSource} PROPERTIES
+ COMPILE_FLAGS "/Yc\"${PrecompiledHeader}\" /Fp\"${PrecompiledBinary}\""
+ OBJECT_OUTPUTS "${PrecompiledBinary}")
+
+ set_source_files_properties(
+ ${Sources} PROPERTIES
+ COMPILE_FLAGS "/Yu\"${PrecompiledHeader}\" /FI\"${PrecompiledHeader}\" /Fp\"${PrecompiledBinary}\""
+ OBJECT_DEPENDS "${PrecompiledBinary}")
+
+ list(APPEND ${SourcesVar} ${PrecompiledSource})
+ list(APPEND ${HeadersVar} ${PrecompiledHeader})
+ endif(MSVC)
+endmacro(add_msvc_precompiled_header)
+
+
SET(organizer_SRCS
transfersavesdialog.cpp
syncoverwritedialog.cpp
@@ -407,6 +429,8 @@ SET(default_project_path "${DEPENDENCIES_DIR}/modorganizer_super")
GET_FILENAME_COMPONENT(${default_project_path} ${default_project_path} REALPATH)
SET(project_path "${default_project_path}" CACHE PATH "path to the other mo projects")
+add_msvc_precompiled_header("pch.h" "pch.cpp" organizer_SRCS organizer_HDRS)
+
#TODO this should not be a hardcoded path
SET(lib_path "${project_path}/../../install/libs")