Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Side by Side Diff: cmake/CMakeLists.txt

Issue 1370263004: CMake for Windows (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: tweak Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Boilerplate. 1 # Boilerplate.
2 cmake_minimum_required (VERSION 3.1) # First version with CMAKE_CXX_STANDARD. 2 cmake_minimum_required (VERSION 3.1) # First version with CMAKE_CXX_STANDARD.
3 project (skimake) 3 project (skimake)
4 set (CMAKE_CXX_STANDARD 11) 4 set (CMAKE_CXX_STANDARD 11)
5 5
6 # Default to Release mode. We're mainly targeting Skia users, not Skia develope rs. 6 # Default to Release mode. We're mainly targeting Skia users, not Skia develope rs.
7 if (NOT CMAKE_BUILD_TYPE) 7 if (NOT CMAKE_BUILD_TYPE)
8 set (CMAKE_BUILD_TYPE Release) 8 set (CMAKE_BUILD_TYPE Release)
9 endif () 9 endif ()
10 10
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 # Not actually used by Skia. 50 # Not actually used by Skia.
51 remove_srcs (../src/utils/SkThreadUtils_pthread_*.cpp) 51 remove_srcs (../src/utils/SkThreadUtils_pthread_*.cpp)
52 52
53 # Skia sure ships a lot of code no one uses. 53 # Skia sure ships a lot of code no one uses.
54 remove_srcs (../src/animator/* ../src/*nacl* ../src/svg/* ../src/views/* ../src/ xml/*) 54 remove_srcs (../src/animator/* ../src/*nacl* ../src/svg/* ../src/views/* ../src/ xml/*)
55 55
56 # Remove OS-specific source files. 56 # Remove OS-specific source files.
57 if (NOT WIN32) 57 if (NOT WIN32)
58 remove_srcs(../src/*XPS* 58 remove_srcs(../src/*XPS*
59 ../src/*_win*.cpp 59 ../src/*_win*.cpp
60 ../src/gpu/gl/angle/*
61 ../src/ports/SkImageDecoder_WIC.cpp 60 ../src/ports/SkImageDecoder_WIC.cpp
62 ../src/utils/win/*) 61 ../src/utils/win/*)
63 endif() 62 endif()
63 if (NOT UNIX)
64 remove_srcs(../src/doc/SkDocument_XPS_None.cpp
65 ../src/ports/SkDebug_stdio.cpp
66 ../src/ports/SkOSFile_posix.cpp
67 ../src/ports/SkTLS_pthread.cpp
68 ../src/ports/SkTime_Unix.cpp
69 ../src/utils/SkThreadUtils_pthread.cpp
70 ../src/utils/SkThreadUtils_pthread_other.cpp)
71 endif()
64 if (APPLE OR NOT UNIX) 72 if (APPLE OR NOT UNIX)
65 remove_srcs(../src/gpu/gl/glx/* 73 remove_srcs(../src/gpu/gl/glx/*
66 ../src/images/SkImageDecoder_FactoryDefault.cpp 74 ../src/images/SkImageDecoder_FactoryDefault.cpp
67 ../src/ports/SkFontMgr_fontconfig*.cpp 75 ../src/ports/SkFontMgr_fontconfig*.cpp
68 ../src/*FreeType*) 76 ../src/*FreeType*)
69 endif() 77 endif()
70 if (NOT ANDROID) 78 if (NOT ANDROID)
71 remove_srcs(../src/*Hwui* ../src/*android*) 79 remove_srcs(../src/*Hwui* ../src/*android*)
72 endif() 80 endif()
73 if (NOT APPLE) 81 if (NOT APPLE)
(...skipping 23 matching lines...) Expand all
97 ../src/gpu/gl/iOS/* 105 ../src/gpu/gl/iOS/*
98 ../src/opts/SkBitmapProcState_opts_none.cpp 106 ../src/opts/SkBitmapProcState_opts_none.cpp
99 ../src/opts/SkBlitMask_opts_none.cpp 107 ../src/opts/SkBlitMask_opts_none.cpp
100 ../src/opts/SkBlitRow_opts_none.cpp 108 ../src/opts/SkBlitRow_opts_none.cpp
101 ../src/ports/SkFontMgr_empty_factory.cpp 109 ../src/ports/SkFontMgr_empty_factory.cpp
102 ../src/ports/SkGlobalInitialization_chromium.cpp 110 ../src/ports/SkGlobalInitialization_chromium.cpp
103 ../src/ports/SkImageDecoder_empty.cpp 111 ../src/ports/SkImageDecoder_empty.cpp
104 ../src/ports/SkImageGenerator_none.cpp 112 ../src/ports/SkImageGenerator_none.cpp
105 ../src/ports/SkTLS_none.cpp) 113 ../src/ports/SkTLS_none.cpp)
106 114
115 if (WIN32)
116 if(SKIA_GDI)
117 remove_srcs(../src/ports/SkFontMgr_win_dw_factory.cpp)
118 else()
119 remove_srcs(../src/ports/SkFontMgr_win_gdi_factory.cpp)
120 endif()
121 endif()
122
123 remove_srcs(../src/gpu/gl/angle/*) # TODO
107 remove_srcs(../src/codec/*) # TODO: Requires Chromium's libjpeg-turbo, and inco mpatible giflib. 124 remove_srcs(../src/codec/*) # TODO: Requires Chromium's libjpeg-turbo, and inco mpatible giflib.
108 125
109 # Certain files must be compiled with support for SSSE3 or SSE4.1 intrinsics. 126 # Certain files must be compiled with support for SSSE3 or SSE4.1 intrinsics.
110 file (GLOB_RECURSE ssse3_srcs ../src/*ssse3*.cpp ../src/*SSSE3*.cpp) 127 file (GLOB_RECURSE ssse3_srcs ../src/*ssse3*.cpp ../src/*SSSE3*.cpp)
111 file (GLOB_RECURSE sse41_srcs ../src/*sse4*.cpp ../src/*SSE4*.cpp) 128 file (GLOB_RECURSE sse41_srcs ../src/*sse4*.cpp ../src/*SSE4*.cpp)
112 set_source_files_properties(${ssse3_srcs} PROPERTIES COMPILE_FLAGS -mssse3) 129 set_source_files_properties(${ssse3_srcs} PROPERTIES COMPILE_FLAGS -mssse3)
113 set_source_files_properties(${sse41_srcs} PROPERTIES COMPILE_FLAGS -msse4.1) 130 set_source_files_properties(${sse41_srcs} PROPERTIES COMPILE_FLAGS -msse4.1)
114 131
115 # Detect our optional dependencies. 132 # Detect our optional dependencies.
116 # If we can't find them, don't build the parts of Skia that use them. 133 # If we can't find them, don't build the parts of Skia that use them.
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 endif() 210 endif()
194 211
195 if (OSMESA_LIBRARIES AND OSMESA_INCLUDE_DIRS) 212 if (OSMESA_LIBRARIES AND OSMESA_INCLUDE_DIRS)
196 list (APPEND libs ${OSMESA_LIBRARIES}) 213 list (APPEND libs ${OSMESA_LIBRARIES})
197 list (APPEND private_includes ${OSMESA_INCLUDE_DIRS}) 214 list (APPEND private_includes ${OSMESA_INCLUDE_DIRS})
198 list (APPEND public_defines "-DSK_MESA=1") 215 list (APPEND public_defines "-DSK_MESA=1")
199 else() 216 else()
200 remove_srcs(../src/gpu/gl/mesa/*) 217 remove_srcs(../src/gpu/gl/mesa/*)
201 endif() 218 endif()
202 219
220 if (WIN32)
221 list (APPEND libs FontSub.lib Usp10.lib)
222 endif()
223
203 find_package(OpenGL REQUIRED) 224 find_package(OpenGL REQUIRED)
204 list (APPEND libs ${OPENGL_LIBRARIES}) 225 list (APPEND libs ${OPENGL_LIBRARIES})
205 226
206 # This is our main output, libskia.so. 227 # This is our main output, libskia.so.
207 # We mostly build an .so here because it helps test we've linked everything, 228 # We mostly build an .so here because it helps test we've linked everything,
208 # not so much that we think Skia is a good candidate to ship as a shared library . 229 # not so much that we think Skia is a good candidate to ship as a shared library .
209 add_library (skia SHARED ${srcs}) 230 add_library (skia SHARED ${srcs})
210 231
211 list (APPEND private_defines "-DSKIA_DLL")
212
213 target_compile_definitions(skia 232 target_compile_definitions(skia
214 PUBLIC ${public_defines} 233 PUBLIC ${public_defines}
215 PRIVATE ${private_defines}) 234 PRIVATE -DSKIA_DLL -DSKIA_IMPLEMENTATION=1)
216 235
217 target_include_directories(skia 236 target_include_directories(skia
218 PUBLIC ${public_includes} 237 PUBLIC ${public_includes}
219 PRIVATE ${private_includes}) 238 PRIVATE ${private_includes})
220 239
221 target_link_libraries(skia 240 target_link_libraries(skia
222 PUBLIC 241 PUBLIC
223 PRIVATE ${libs}) 242 PRIVATE ${libs})
224 243
244 if (MSVC)
245 set(cc_flags "/w /GR-")
246 else()
247 set(cc_flags "-w -fno-rtti -fno-exceptions")
248 endif()
225 249
226 set_target_properties(skia PROPERTIES 250 set_target_properties(skia PROPERTIES
227 COMPILE_FLAGS "-w -fno-exceptions -fno-rtti" 251 COMPILE_FLAGS ${cc_flags}
228 CXX_VISIBILITY_PRESET hidden 252 CXX_VISIBILITY_PRESET hidden
229 VISIBILITY_INLINES_HIDDEN true) 253 VISIBILITY_INLINES_HIDDEN true)
230 254
231 # Experimental C API install: 255 # Experimental C API install:
232 file(GLOB c_headers "../include/c/*.h") 256 file(GLOB c_headers "../include/c/*.h")
233 install(FILES ${c_headers} DESTINATION include) 257 install(FILES ${c_headers} DESTINATION include)
234 install(TARGETS skia DESTINATION lib) 258 install(TARGETS skia DESTINATION lib)
235 259
236 # Now build a simple example app that uses Skia via libskia.so. 260 # Now build a simple example app that uses Skia via libskia.so.
237 add_executable(example example.cpp) 261 add_executable(example example.cpp)
238 target_link_libraries(example skia ${OPENGL_LIBRARIES}) 262 target_link_libraries(example skia ${OPENGL_LIBRARIES})
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698