aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2015-11-30 10:29:25 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-11-30 10:29:25 -0800
commit0cf5ecb67a2af5ec3ea20c5a189ff165ccb678c9 (patch)
treed02d80c5e7f4e075a4e6671b3f85f38f57862e30 /cmake
parent56cf6dcb6572f1d355af041c1ebf157b2b3d0165 (diff)
CMake: generate SkUserConfig.hh
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1483953004
Diffstat (limited to 'cmake')
-rw-r--r--cmake/CMakeLists.txt15
1 files changed, 15 insertions, 0 deletions
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index cd71de74b7..f87b5f836b 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -8,6 +8,17 @@ if (NOT CMAKE_BUILD_TYPE)
set (CMAKE_BUILD_TYPE Release)
endif ()
+set (userconfig_directory ${CMAKE_BINARY_DIR}/include)
+set (userconfig_path ${userconfig_directory}/SkUserConfig.h)
+file(WRITE ${userconfig_path} "// SkUserConfig generated by CMake.\n")
+if (CMAKE_BUILD_TYPE STREQUAL Release)
+ file(APPEND ${userconfig_path} "#define SK_RELEASE\n")
+ file(APPEND ${userconfig_path} "#undef SK_DEBUG\n")
+else ()
+ file(APPEND ${userconfig_path} "#define SK_DEBUG\n")
+ file(APPEND ${userconfig_path} "#undef SK_RELEASE\n")
+endif ()
+
# To first approximation, the Skia library comprises all .cpp files under src/.
file (GLOB_RECURSE srcs ../src/*.cpp)
@@ -26,6 +37,9 @@ endfunction()
find_include_dirs(private_includes ../src/*.h ../include/private/*.h)
find_include_dirs(public_includes ../include/*.h)
list (REMOVE_ITEM public_includes ${private_includes}) # Easiest way to exclude private.
+file (GLOB default_include_config "../include/config")
+list (REMOVE_ITEM public_includes ${default_include_config})
+list (APPEND public_includes ${userconfig_directory})
# These guys are third_party but provided by a Skia checkout.
list (APPEND srcs ../third_party/etc1/etc1.cpp ../third_party/ktx/ktx.cpp)
@@ -201,6 +215,7 @@ if (OSMESA_LIBRARIES AND OSMESA_INCLUDE_DIRS)
list (APPEND libs ${OSMESA_LIBRARIES})
list (APPEND private_includes ${OSMESA_INCLUDE_DIRS})
list (APPEND public_defines "-DSK_MESA=1")
+ file (APPEND ${userconfig_path} "#define SK_MESA 1\n")
else()
remove_srcs(../src/gpu/gl/mesa/*)
endif()