|
| 1 | +cmake_minimum_required(VERSION 2.8) |
| 2 | + |
| 3 | +if (NOT ${CMAKE_VERSION} VERSION_LESS "3.0.0") |
| 4 | + cmake_policy(SET CMP0028 NEW) |
| 5 | +endif() |
| 6 | +if (NOT ${CMAKE_VERSION} VERSION_LESS "2.8.11") |
| 7 | + cmake_policy(SET CMP0020 NEW) |
| 8 | +endif() |
| 9 | + |
1 | 10 | if(WIN32) |
2 | 11 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /WX /wd4100 /wd4189") |
3 | 12 | else() |
4 | 13 | add_definitions("-pedantic -Wall -Wextra -Werror -std=c++11") |
5 | 14 | endif() |
6 | 15 |
|
7 | 16 | project(rclone-browser) |
| 17 | +FIND_PACKAGE(Qt5Core REQUIRED) |
| 18 | +FIND_PACKAGE(Qt5Gui REQUIRED) |
| 19 | +FIND_PACKAGE(Qt5Widgets REQUIRED) |
| 20 | + |
| 21 | +if (WIN32) |
| 22 | +FIND_PACKAGE(Qt5WinExtras REQUIRED) |
| 23 | +elseif(APPLE) |
| 24 | +FIND_PACKAGE(Qt5MacExtras REQUIRED) |
| 25 | +endif() |
8 | 26 |
|
9 | 27 | set(CMAKE_INCLUDE_CURRENT_DIR ON) |
10 | 28 |
|
@@ -74,8 +92,25 @@ qt5_add_resources(QRC_OUT ${QRC} OPTIONS "-no-compress") |
74 | 92 | source_group("" FILES ${SOURCE} ${MOC} ${UI} ${QRC} ${OTHER}) |
75 | 93 | source_group("Generated" FILES ${MOC_OUT} ${UI_OUT} ${MOC_OUT} ${QRC_OUT}) |
76 | 94 |
|
77 | | -use_pch(pch.h pch.cpp "${SOURCE}") |
78 | | -use_pch(pch.h pch.cpp "${MOC_OUT}") |
| 95 | +MACRO(ADD_MSVC_PRECOMPILED_HEADER PrecompiledHeader PrecompiledSource SourcesVar) |
| 96 | + IF(MSVC) |
| 97 | + GET_FILENAME_COMPONENT(PrecompiledBasename ${PrecompiledHeader} NAME_WE) |
| 98 | + SET(PrecompiledBinary "${CMAKE_CURRENT_BINARY_DIR}/${PrecompiledBasename}.pch") |
| 99 | + SET(Sources ${${SourcesVar}}) |
| 100 | + |
| 101 | + SET_SOURCE_FILES_PROPERTIES(${PrecompiledSource} |
| 102 | + PROPERTIES COMPILE_FLAGS "/Yc\"${PrecompiledHeader}\" /Fp\"${PrecompiledBinary}\"" |
| 103 | + OBJECT_OUTPUTS "${PrecompiledBinary}") |
| 104 | + SET_SOURCE_FILES_PROPERTIES(${Sources} |
| 105 | + PROPERTIES COMPILE_FLAGS "/Yu\"${PrecompiledHeader}\" /FI\"${PrecompiledHeader}\" /Fp\"${PrecompiledBinary}\"" |
| 106 | + OBJECT_DEPENDS "${PrecompiledBinary}") |
| 107 | + # Add precompiled header to SourcesVar |
| 108 | + LIST(APPEND ${SourcesVar} ${PrecompiledSource}) |
| 109 | + ENDIF(MSVC) |
| 110 | +ENDMACRO(ADD_MSVC_PRECOMPILED_HEADER) |
| 111 | + |
| 112 | +ADD_MSVC_PRECOMPILED_HEADER(pch.h pch.cpp SOURCE) |
| 113 | +ADD_MSVC_PRECOMPILED_HEADER(pch.h pch.cpp MOC_OUT) |
79 | 114 |
|
80 | 115 | if(WIN32) |
81 | 116 | add_executable(RcloneBrowser WIN32 ${SOURCE} ${BACKEND} ${OTHER} ${MOC} ${MOC_OUT} ${UI_OUT} ${MOC_OUT} ${QRC_OUT}) |
|
0 commit comments