| 
									
										
										
										
											2014-07-14 00:24:57 +08:00
										 |  |  | # Aseprite
 | 
					
						
							| 
									
										
										
										
											2024-04-23 05:28:03 +08:00
										 |  |  | # Copyright (C) 2018-2024  Igara Studio S.A.
 | 
					
						
							| 
									
										
										
										
											2018-03-13 20:56:23 +08:00
										 |  |  | # Copyright (C) 2001-2018  David Capello
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-26 22:33:23 +08:00
										 |  |  | cmake_minimum_required(VERSION 3.16)
 | 
					
						
							| 
									
										
										
										
											2018-08-04 00:03:05 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-29 21:01:23 +08:00
										 |  |  | set(CMAKE_CXX_STANDARD 17)
 | 
					
						
							| 
									
										
										
										
											2018-08-04 01:26:53 +08:00
										 |  |  | set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | 
					
						
							| 
									
										
										
										
											2022-04-29 21:01:23 +08:00
										 |  |  | set(CMAKE_CXX_EXTENSIONS OFF) # We use -std=c++17 instead of -std=gnu++17 in macOS
 | 
					
						
							| 
									
										
										
										
											2022-05-26 22:33:23 +08:00
										 |  |  | set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
 | 
					
						
							| 
									
										
										
										
											2016-04-19 00:27:36 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  | if(NOT CMAKE_BUILD_TYPE)
 | 
					
						
							|  |  |  |   set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING | 
					
						
							|  |  |  |       "Choose the type of build, options are:
 | 
					
						
							|  |  |  |         None Debug Release RelWithDebInfo Profile."
 | 
					
						
							|  |  |  |       FORCE)
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2010-08-11 08:49:32 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-02 22:36:53 +08:00
										 |  |  | set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_CURRENT_SOURCE_DIR}/laf/cmake/c_flag_overrides.cmake)
 | 
					
						
							|  |  |  | set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX ${CMAKE_CURRENT_SOURCE_DIR}/laf/cmake/cxx_flag_overrides.cmake)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-02 12:38:38 +08:00
										 |  |  | # Aseprite project
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  | project(aseprite C CXX)
 | 
					
						
							| 
									
										
										
										
											2010-08-11 08:49:32 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-01 23:47:48 +08:00
										 |  |  | # Check repository status
 | 
					
						
							| 
									
										
										
										
											2024-12-05 21:16:55 +08:00
										 |  |  | if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/laf/CMakeLists.txt" OR | 
					
						
							|  |  |  |    NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/laf/clip/CMakeLists.txt")
 | 
					
						
							|  |  |  |   message(FATAL_ERROR | 
					
						
							|  |  |  |     "Your Aseprite repository looks incomplete. Please read the following "
 | 
					
						
							|  |  |  |     "instructions carefully:"
 | 
					
						
							|  |  |  |     "\n"
 | 
					
						
							|  |  |  |     "1) If you have downloaded Aseprite source using the "
 | 
					
						
							|  |  |  |     "\"Code > Download ZIP\" button from GitHub, you will not be able to "
 | 
					
						
							|  |  |  |     "compile Aseprite. You need to get the code with other methods (continue " | 
					
						
							|  |  |  |     "reading)."
 | 
					
						
							|  |  |  |     "\n"
 | 
					
						
							|  |  |  |     "2) You can correctly clone the GitHub repository with the "
 | 
					
						
							|  |  |  |     "\"--recursive\" argument:"
 | 
					
						
							|  |  |  |     "\n"
 | 
					
						
							|  |  |  |     "  git clone --recursive https://github.com/aseprite/aseprite.git"
 | 
					
						
							|  |  |  |     "\n"
 | 
					
						
							|  |  |  |     "3) If you have already cloned the repository and see this message, "
 | 
					
						
							|  |  |  |     "you still need to initialize submodules running the following command:"
 | 
					
						
							|  |  |  |     "\n"
 | 
					
						
							|  |  |  |     "  git submodule update --init --recursive"
 | 
					
						
							|  |  |  |     "\n"
 | 
					
						
							|  |  |  |     "4) Or if you want to download the full source code in a .zip file, "
 | 
					
						
							|  |  |  |     "go to the releases page and get the latest \"Aseprite-v1.x-Source.zip\":"
 | 
					
						
							|  |  |  |     "\n"
 | 
					
						
							|  |  |  |     "  https://github.com/aseprite/aseprite/releases"
 | 
					
						
							|  |  |  |     "\n"
 | 
					
						
							|  |  |  |     "More information in the building instructions:"
 | 
					
						
							|  |  |  |     "\n"
 | 
					
						
							|  |  |  |     "  https://github.com/aseprite/aseprite/blob/main/INSTALL.md#get-the-source-code")
 | 
					
						
							| 
									
										
										
										
											2016-11-01 23:47:48 +08:00
										 |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-24 22:14:53 +08:00
										 |  |  | # This is required for KDE/Qt destop integration, which sets
 | 
					
						
							|  |  |  | # BUILD_SHARED_LIBS to TRUE by default
 | 
					
						
							| 
									
										
										
										
											2016-06-14 03:56:53 +08:00
										 |  |  | set(BUILD_SHARED_LIBS off)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-01 23:47:48 +08:00
										 |  |  | enable_testing()
 | 
					
						
							| 
									
										
										
										
											2016-06-14 03:56:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-26 03:20:30 +08:00
										 |  |  | ######################################################################
 | 
					
						
							| 
									
										
										
										
											2011-07-28 08:26:22 +08:00
										 |  |  | # Options (these can be specified in cmake command line or modifying
 | 
					
						
							|  |  |  | # CMakeCache.txt)
 | 
					
						
							| 
									
										
										
										
											2010-08-26 03:20:30 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-28 19:18:41 +08:00
										 |  |  | option(USE_SHARED_CMARK   "Use your installed copy of cmark" off)
 | 
					
						
							| 
									
										
										
										
											2012-03-15 11:17:49 +08:00
										 |  |  | option(USE_SHARED_CURL    "Use your installed copy of curl" off)
 | 
					
						
							|  |  |  | option(USE_SHARED_GIFLIB  "Use your installed copy of giflib" off)
 | 
					
						
							| 
									
										
										
										
											2010-10-01 04:04:32 +08:00
										 |  |  | option(USE_SHARED_ZLIB    "Use your installed copy of zlib" off)
 | 
					
						
							|  |  |  | option(USE_SHARED_LIBPNG  "Use your installed copy of libpng" off)
 | 
					
						
							| 
									
										
										
										
											2024-12-02 19:12:13 +08:00
										 |  |  | option(USE_SHARED_TINYEXIF "Use your installed copy of TinyEXIF" off)
 | 
					
						
							| 
									
										
										
										
											2012-03-20 01:04:24 +08:00
										 |  |  | option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
 | 
					
						
							| 
									
										
										
										
											2014-10-26 09:22:58 +08:00
										 |  |  | option(USE_SHARED_PIXMAN  "Use your installed copy of pixman" off)
 | 
					
						
							| 
									
										
										
										
											2015-09-23 06:27:44 +08:00
										 |  |  | option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
 | 
					
						
							| 
									
										
										
										
											2017-12-21 03:54:41 +08:00
										 |  |  | option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
 | 
					
						
							| 
									
										
										
										
											2018-08-27 22:48:33 +08:00
										 |  |  | option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
 | 
					
						
							| 
									
										
										
										
											2018-08-25 05:24:05 +08:00
										 |  |  | option(ENABLE_MEMLEAK      "Enable memory-leaks detector (only for developers)" off)
 | 
					
						
							|  |  |  | option(ENABLE_NEWS         "Enable the news in Home tab" on)
 | 
					
						
							|  |  |  | option(ENABLE_UPDATER      "Enable automatic check for updates" on)
 | 
					
						
							|  |  |  | option(ENABLE_SCRIPTING    "Compile with scripting support" on)
 | 
					
						
							| 
									
										
										
										
											2021-10-03 13:40:29 +08:00
										 |  |  | option(ENABLE_WEBSOCKET    "Compile with websocket support" on)
 | 
					
						
							| 
									
										
										
										
											2018-08-25 05:24:05 +08:00
										 |  |  | option(ENABLE_TESTS        "Compile unit tests" off)
 | 
					
						
							|  |  |  | option(ENABLE_BENCHMARKS   "Compile benchmarks" off)
 | 
					
						
							|  |  |  | option(ENABLE_TRIAL_MODE   "Compile the trial version" off)
 | 
					
						
							| 
									
										
										
										
											2021-08-24 22:25:35 +08:00
										 |  |  | option(ENABLE_DRM          "Compile the DRM-enabled version (e.g. for automatic updates)" off)
 | 
					
						
							| 
									
										
										
										
											2018-08-25 05:24:05 +08:00
										 |  |  | option(ENABLE_STEAM        "Compile with Steam library" off)
 | 
					
						
							|  |  |  | option(ENABLE_DEVMODE      "Compile vesion for developers" off)
 | 
					
						
							| 
									
										
										
										
											2024-06-27 19:35:55 +08:00
										 |  |  | option(ENABLE_I18N_STRINGS "Clone i18n strings repo (https://github.com/aseprite/strings) to bin/data/strings.git" off)
 | 
					
						
							| 
									
										
										
										
											2011-08-10 07:27:12 +08:00
										 |  |  | option(FULLSCREEN_PLATFORM "Enable fullscreen by default" off)
 | 
					
						
							| 
									
										
										
										
											2019-05-03 20:34:02 +08:00
										 |  |  | option(ENABLE_CLANG_TIDY   "Enable static analysis" off)
 | 
					
						
							| 
									
										
										
										
											2021-04-15 20:29:46 +08:00
										 |  |  | option(ENABLE_CCACHE       "Use CCache to improve recompilation speed (optional)" on)
 | 
					
						
							| 
									
										
										
										
											2021-09-21 22:29:48 +08:00
										 |  |  | option(ENABLE_SENTRY       "Use Sentry SDK to report crashes" off)
 | 
					
						
							| 
									
										
										
										
											2021-12-16 04:47:44 +08:00
										 |  |  | option(ENABLE_WEBP         "Enable support to load/save .webp files" on)
 | 
					
						
							| 
									
										
										
										
											2021-12-16 04:44:51 +08:00
										 |  |  | option(ENABLE_PSD          "Enable experimental support for .psd files" off)
 | 
					
						
							| 
									
										
										
										
											2021-12-16 04:47:44 +08:00
										 |  |  | option(ENABLE_DESKTOP_INTEGRATION  "Enable desktop integration modules" off)
 | 
					
						
							|  |  |  | option(ENABLE_QT_THUMBNAILER       "Enable kde5/qt5 thumnailer" off)
 | 
					
						
							| 
									
										
										
										
											2014-06-03 08:31:44 +08:00
										 |  |  | set(CUSTOM_WEBSITE_URL "" CACHE STRING "Enable custom local webserver to check updates")
 | 
					
						
							| 
									
										
										
										
											2010-08-26 03:20:30 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-21 22:29:48 +08:00
										 |  |  | if(ENABLE_SENTRY)
 | 
					
						
							|  |  |  |   set(SENTRY_DIR "" CACHE STRING "Sentry native location")
 | 
					
						
							| 
									
										
										
										
											2022-09-06 03:21:45 +08:00
										 |  |  |   set(SENTRY_DSN "" CACHE STRING "Sentry Data Source Name URL")
 | 
					
						
							| 
									
										
										
										
											2022-09-06 03:28:44 +08:00
										 |  |  |   set(SENTRY_ENV "development" CACHE STRING "Sentry environment (production, testing, development, etc.)")
 | 
					
						
							| 
									
										
										
										
											2021-09-21 22:29:48 +08:00
										 |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-06 01:50:16 +08:00
										 |  |  | if(ENABLE_NEWS OR ENABLE_UPDATER OR ENABLE_DRM)
 | 
					
						
							| 
									
										
										
										
											2018-08-25 05:24:05 +08:00
										 |  |  |   set(REQUIRE_CURL ON)
 | 
					
						
							|  |  |  | else()
 | 
					
						
							|  |  |  |   set(REQUIRE_CURL OFF)
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-13 04:43:43 +08:00
										 |  |  | # SSL/TLS support
 | 
					
						
							|  |  |  | if(REQUIRE_CURL AND NOT USE_SHARED_CURL)
 | 
					
						
							|  |  |  |   # Disable OpenSSL (use native libraries only)
 | 
					
						
							|  |  |  |   set(CMAKE_USE_OPENSSL OFF CACHE BOOL "Use OpenSSL code. Experimental")
 | 
					
						
							|  |  |  |   set(CMAKE_USE_LIBSSH2 OFF CACHE BOOL "Use libSSH2")
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-06 01:50:16 +08:00
										 |  |  |   if(WIN32)
 | 
					
						
							| 
									
										
										
										
											2024-06-13 04:43:43 +08:00
										 |  |  |     set(CMAKE_USE_SCHANNEL ON CACHE BOOL "enable Windows native SSL/TLS")
 | 
					
						
							|  |  |  |   elseif(APPLE)
 | 
					
						
							|  |  |  |     set(CMAKE_USE_SECTRANSP ON CACHE BOOL "enable Apple OS native SSL/TLS")
 | 
					
						
							|  |  |  |   else()
 | 
					
						
							|  |  |  |     # TODO Linux?
 | 
					
						
							| 
									
										
										
										
											2021-10-06 01:50:16 +08:00
										 |  |  |   endif()
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-03 04:13:53 +08:00
										 |  |  | # By default we'll try to use Skia back-end
 | 
					
						
							|  |  |  | if(NOT LAF_BACKEND)
 | 
					
						
							|  |  |  |   set(LAF_BACKEND "skia")
 | 
					
						
							| 
									
										
										
										
											2016-04-20 01:09:01 +08:00
										 |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-24 22:25:35 +08:00
										 |  |  | if(ENABLE_DRM AND NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/drm/CMakeLists.txt)
 | 
					
						
							|  |  |  |   message(FATAL_ERROR "Your Aseprite repository is incomplete, clone the drm repository")
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-26 03:20:30 +08:00
										 |  |  | ######################################################################
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  | # Profile build type
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | list(APPEND CMAKE_BUILD_TYPES Profile)
 | 
					
						
							|  |  |  | mark_as_advanced( | 
					
						
							|  |  |  |     CMAKE_C_FLAGS_PROFILE
 | 
					
						
							|  |  |  |     CMAKE_CXX_FLAGS_PROFILE
 | 
					
						
							| 
									
										
										
										
											2015-03-17 02:05:13 +08:00
										 |  |  |     CMAKE_EXE_LINKER_FLAGS_PROFILE)
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-29 10:04:14 +08:00
										 |  |  | if(CMAKE_COMPILER_IS_GNUCC)
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  |     set(CMAKE_C_FLAGS_PROFILE "-pg" | 
					
						
							| 
									
										
										
										
											2014-11-29 10:04:14 +08:00
										 |  |  |         CACHE STRING "Profiling C flags")
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  |     set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_C_FLAGS_PROFILE}" | 
					
						
							| 
									
										
										
										
											2014-11-29 10:04:14 +08:00
										 |  |  |         CACHE STRING "Profiling C++ flags")
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  |     set(CMAKE_EXE_LINKER_FLAGS_PROFILE "-pg" | 
					
						
							| 
									
										
										
										
											2014-11-29 10:04:14 +08:00
										 |  |  |         CACHE STRING "Profiling linker flags")
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-29 10:04:14 +08:00
										 |  |  | if(MSVC)
 | 
					
						
							| 
									
										
										
										
											2017-09-20 00:41:28 +08:00
										 |  |  |     set(CMAKE_C_FLAGS_PROFILE "/MT /Zi /Ox /Gd" | 
					
						
							| 
									
										
										
										
											2014-11-29 10:04:14 +08:00
										 |  |  |         CACHE STRING "Profiling C flags")
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  |     set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_C_FLAGS_PROFILE}" | 
					
						
							| 
									
										
										
										
											2014-11-29 10:04:14 +08:00
										 |  |  |         CACHE STRING "Profiling C++ flags")
 | 
					
						
							|  |  |  |     set(CMAKE_EXE_LINKER_FLAGS_PROFILE "/PROFILE /DEBUG" | 
					
						
							|  |  |  |         CACHE STRING "Profiling linker flags")
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | ######################################################################
 | 
					
						
							|  |  |  | # Directories
 | 
					
						
							| 
									
										
										
										
											2010-08-26 03:20:30 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-02 12:30:01 +08:00
										 |  |  | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
 | 
					
						
							|  |  |  | # We need to specify the output for each configuration to make it work
 | 
					
						
							|  |  |  | # on Visual Studio solutions.
 | 
					
						
							|  |  |  | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/bin")
 | 
					
						
							|  |  |  | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/bin")
 | 
					
						
							|  |  |  | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/bin")
 | 
					
						
							|  |  |  | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_PROFILE "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_PROFILE "${CMAKE_BINARY_DIR}/lib")
 | 
					
						
							|  |  |  | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_PROFILE "${CMAKE_BINARY_DIR}/bin")
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-25 05:20:08 +08:00
										 |  |  | set(SOURCE_DATA_DIR     ${CMAKE_CURRENT_SOURCE_DIR}/data)
 | 
					
						
							|  |  |  | set(CMARK_DIR           ${CMAKE_CURRENT_SOURCE_DIR}/third_party/cmark)
 | 
					
						
							|  |  |  | set(CURL_DIR            ${CMAKE_CURRENT_SOURCE_DIR}/third_party/curl)
 | 
					
						
							|  |  |  | set(GIFLIB_DIR          ${CMAKE_CURRENT_SOURCE_DIR}/third_party/giflib)
 | 
					
						
							|  |  |  | set(LIBPNG_DIR          ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libpng)
 | 
					
						
							|  |  |  | set(LIBWEBP_DIR         ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libwebp)
 | 
					
						
							|  |  |  | set(PIXMAN_DIR          ${CMAKE_CURRENT_SOURCE_DIR}/third_party/pixman)
 | 
					
						
							|  |  |  | set(FREETYPE_DIR        ${CMAKE_CURRENT_SOURCE_DIR}/third_party/freetype2)
 | 
					
						
							|  |  |  | set(HARFBUZZ_DIR        ${CMAKE_CURRENT_SOURCE_DIR}/third_party/harfbuzz)
 | 
					
						
							|  |  |  | set(SIMPLEINI_DIR       ${CMAKE_CURRENT_SOURCE_DIR}/third_party/simpleini)
 | 
					
						
							| 
									
										
										
										
											2024-12-02 19:12:13 +08:00
										 |  |  | set(TINYEXIF_DIR        ${CMAKE_CURRENT_SOURCE_DIR}/third_party/TinyEXIF)
 | 
					
						
							| 
									
										
										
										
											2024-04-23 05:28:03 +08:00
										 |  |  | set(TINYXML_DIR         ${CMAKE_CURRENT_SOURCE_DIR}/third_party/tinyxml2)
 | 
					
						
							| 
									
										
										
										
											2018-08-25 05:20:08 +08:00
										 |  |  | set(ZLIB_DIR            ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zlib)
 | 
					
						
							| 
									
										
										
										
											2010-08-11 08:49:32 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  | # Search in the "cmake" directory for additional CMake modules.
 | 
					
						
							|  |  |  | list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-15 20:29:46 +08:00
										 |  |  | if(ENABLE_CCACHE)
 | 
					
						
							|  |  |  |   find_package(CCache)
 | 
					
						
							|  |  |  |   if(CCache_FOUND)
 | 
					
						
							|  |  |  |     # Use e.g. "ccache clang++" instead of "clang++"
 | 
					
						
							|  |  |  |     set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCache_EXECUTABLE}")
 | 
					
						
							|  |  |  |     set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK    "${CCache_EXECUTABLE}")
 | 
					
						
							|  |  |  |   endif()
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2010-10-17 04:02:12 +08:00
										 |  |  | # Put libraries into "lib".
 | 
					
						
							|  |  |  | set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-26 03:20:30 +08:00
										 |  |  | ######################################################################
 | 
					
						
							| 
									
										
										
										
											2015-06-09 21:20:56 +08:00
										 |  |  | # Common definitions to compile all sources (app code and third party)
 | 
					
						
							| 
									
										
										
										
											2010-08-26 03:20:30 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Debug C/C++ flags
 | 
					
						
							|  |  |  | if(CMAKE_BUILD_TYPE STREQUAL Debug)
 | 
					
						
							|  |  |  |   add_definitions(-DDEBUGMODE -D_DEBUG)
 | 
					
						
							|  |  |  | else()
 | 
					
						
							|  |  |  |   add_definitions(-DNDEBUG)
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-27 23:23:54 +08:00
										 |  |  | if(NOT USE_SHARED_CURL)
 | 
					
						
							|  |  |  |   set(CURL_STATICLIB ON BOOL)
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | # zlib
 | 
					
						
							|  |  |  | if(USE_SHARED_ZLIB)
 | 
					
						
							| 
									
										
										
										
											2016-03-26 17:26:22 +08:00
										 |  |  |   find_package(ZLIB REQUIRED)
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | else()
 | 
					
						
							| 
									
										
										
										
											2024-12-03 21:27:41 +08:00
										 |  |  |   set(ZLIB_FOUND ON)
 | 
					
						
							| 
									
										
										
										
											2018-04-03 23:43:26 +08:00
										 |  |  |   set(ZLIB_LIBRARY zlibstatic)
 | 
					
						
							|  |  |  |   set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
 | 
					
						
							| 
									
										
										
										
											2016-04-01 04:48:54 +08:00
										 |  |  |   set(ZLIB_INCLUDE_DIRS | 
					
						
							|  |  |  |     ${ZLIB_DIR}
 | 
					
						
							| 
									
										
										
										
											2025-01-10 16:39:36 +08:00
										 |  |  |     ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib) # Zlib generated zconf.h file
 | 
					
						
							| 
									
										
										
										
											2018-04-03 23:43:26 +08:00
										 |  |  |   set(ZLIB_INCLUDE_DIR ${ZLIB_INCLUDE_DIRS} CACHE PATH "")
 | 
					
						
							| 
									
										
										
										
											2015-06-09 21:20:56 +08:00
										 |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2016-03-26 17:40:16 +08:00
										 |  |  | include_directories(${ZLIB_INCLUDE_DIRS})
 | 
					
						
							| 
									
										
										
										
											2015-06-09 21:20:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | # libpng
 | 
					
						
							| 
									
										
										
										
											2015-06-09 21:20:56 +08:00
										 |  |  | if(USE_SHARED_LIBPNG)
 | 
					
						
							| 
									
										
										
										
											2016-03-26 17:26:22 +08:00
										 |  |  |   find_package(PNG REQUIRED)
 | 
					
						
							| 
									
										
										
										
											2015-06-09 21:20:56 +08:00
										 |  |  |   add_definitions(${PNG_DEFINITIONS})
 | 
					
						
							|  |  |  | else()
 | 
					
						
							| 
									
										
										
										
											2018-04-03 23:43:26 +08:00
										 |  |  |   set(PNG_FOUND ON)
 | 
					
						
							| 
									
										
										
										
											2025-04-02 21:38:13 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # Skia on Linux includes libpng symbols
 | 
					
						
							|  |  |  |   if(UNIX AND NOT APPLE AND LAF_BACKEND STREQUAL "skia")
 | 
					
						
							|  |  |  |     set(PNG_LIBRARY skia)
 | 
					
						
							|  |  |  |   else()
 | 
					
						
							|  |  |  |     set(PNG_LIBRARY png_static)
 | 
					
						
							|  |  |  |   endif()
 | 
					
						
							| 
									
										
										
										
											2018-04-03 23:43:26 +08:00
										 |  |  |   set(PNG_LIBRARIES ${PNG_LIBRARY})
 | 
					
						
							| 
									
										
										
										
											2016-04-01 04:48:54 +08:00
										 |  |  |   set(PNG_INCLUDE_DIRS | 
					
						
							|  |  |  |     ${LIBPNG_DIR}
 | 
					
						
							|  |  |  |     ${CMAKE_CURRENT_BINARY_DIR}/third_party/libpng) # Libpng generated pnglibconf.h file
 | 
					
						
							| 
									
										
										
										
											2018-04-04 00:02:20 +08:00
										 |  |  |   set(PNG_INCLUDE_DIR ${PNG_INCLUDE_DIRS} CACHE PATH "")
 | 
					
						
							|  |  |  |   set(PNG_PNG_INCLUDE_DIR ${PNG_INCLUDE_DIRS} CACHE PATH "")
 | 
					
						
							| 
									
										
										
										
											2015-06-09 21:20:56 +08:00
										 |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2016-03-26 17:40:16 +08:00
										 |  |  | include_directories(${PNG_INCLUDE_DIRS})
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | add_definitions(-DPNG_NO_MMX_CODE) # Do not use MMX optimizations in PNG code
 | 
					
						
							| 
									
										
										
										
											2015-06-09 21:20:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-23 05:28:03 +08:00
										 |  |  | # tinyxml2
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | if(USE_SHARED_TINYXML)
 | 
					
						
							| 
									
										
										
										
											2024-04-23 05:28:03 +08:00
										 |  |  |   find_library(TINYXML_LIBRARY NAMES tinyxml2)
 | 
					
						
							|  |  |  |   find_path(TINYXML_INCLUDE_DIR NAMES tinyxml2.h)
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | else()
 | 
					
						
							| 
									
										
										
										
											2024-04-23 05:28:03 +08:00
										 |  |  |   set(TINYXML_LIBRARY tinyxml2)
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  |   set(TINYXML_INCLUDE_DIR ${TINYXML_DIR})
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							|  |  |  | include_directories(${TINYXML_INCLUDE_DIR})
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-02 19:12:13 +08:00
										 |  |  | # TinyEXIF
 | 
					
						
							|  |  |  | if(USE_SHARED_TINYEXIF)
 | 
					
						
							|  |  |  |   find_library(TINYEXIF_LIBRARY NAMES TinyEXIF)
 | 
					
						
							|  |  |  |   find_path(TINYEXIF_INCLUDE_DIR NAMES TinyEXIF.h)
 | 
					
						
							|  |  |  | else()
 | 
					
						
							|  |  |  |   set(TINYEXIF_LIBRARY TinyEXIFstatic)
 | 
					
						
							|  |  |  |   set(TINYEXIF_INCLUDE_DIR ${TINYEXIF_DIR})
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							|  |  |  | include_directories(${TINYEXIF_INCLUDE_DIR})
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | # pixman
 | 
					
						
							|  |  |  | if(USE_SHARED_PIXMAN)
 | 
					
						
							|  |  |  |   find_library(PIXMAN_LIBRARY NAMES pixman pixman-1)
 | 
					
						
							|  |  |  |   find_path(PIXMAN_INCLUDE_DIR NAMES pixman.h PATH_SUFFIXES pixman-1)
 | 
					
						
							|  |  |  | else()
 | 
					
						
							|  |  |  |   set(PIXMAN_LIBRARY pixman)
 | 
					
						
							| 
									
										
										
										
											2016-04-01 04:48:54 +08:00
										 |  |  |   set(PIXMAN_INCLUDE_DIR | 
					
						
							|  |  |  |     ${PIXMAN_DIR}/pixman
 | 
					
						
							|  |  |  |     ${CMAKE_BINARY_DIR}) # For pixman-version.h
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | endif()
 | 
					
						
							|  |  |  | include_directories(${PIXMAN_INCLUDE_DIR})
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-23 06:27:44 +08:00
										 |  |  | # freetype
 | 
					
						
							|  |  |  | if(USE_SHARED_FREETYPE)
 | 
					
						
							| 
									
										
										
										
											2016-03-26 17:26:22 +08:00
										 |  |  |   find_package(Freetype REQUIRED)
 | 
					
						
							| 
									
										
										
										
											2021-12-02 05:14:18 +08:00
										 |  |  | elseif(NOT LAF_BACKEND STREQUAL "skia")
 | 
					
						
							| 
									
										
										
										
											2018-04-03 23:43:26 +08:00
										 |  |  |   set(FREETYPE_FOUND ON)
 | 
					
						
							|  |  |  |   set(FREETYPE_LIBRARY freetype)
 | 
					
						
							|  |  |  |   set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
 | 
					
						
							| 
									
										
										
										
											2016-03-26 17:40:16 +08:00
										 |  |  |   set(FREETYPE_INCLUDE_DIRS ${FREETYPE_DIR}/include)
 | 
					
						
							| 
									
										
										
										
											2015-09-23 06:27:44 +08:00
										 |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-21 04:14:41 +08:00
										 |  |  | # harfbuzz
 | 
					
						
							| 
									
										
										
										
											2017-06-08 04:49:51 +08:00
										 |  |  | if(USE_SHARED_HARFBUZZ)
 | 
					
						
							|  |  |  |   find_package(HarfBuzz)
 | 
					
						
							| 
									
										
										
										
											2021-12-02 05:14:18 +08:00
										 |  |  | elseif(NOT LAF_BACKEND STREQUAL "skia")
 | 
					
						
							| 
									
										
										
										
											2024-09-20 02:16:22 +08:00
										 |  |  |   set(HARFBUZZ_FOUND ON)
 | 
					
						
							| 
									
										
										
										
											2021-12-02 05:14:18 +08:00
										 |  |  |   set(HARFBUZZ_LIBRARIES harfbuzz)
 | 
					
						
							|  |  |  |   set(HARFBUZZ_INCLUDE_DIRS ${HARFBUZZ_DIR}/src)
 | 
					
						
							| 
									
										
										
										
											2017-06-08 04:49:51 +08:00
										 |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2017-02-21 04:14:41 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | if(USE_SHARED_GIFLIB)
 | 
					
						
							|  |  |  |   find_package(GIF REQUIRED)
 | 
					
						
							|  |  |  | else()
 | 
					
						
							| 
									
										
										
										
											2018-04-03 22:11:10 +08:00
										 |  |  |   set(GIF_LIBRARY giflib)
 | 
					
						
							| 
									
										
										
										
											2018-04-03 23:43:26 +08:00
										 |  |  |   set(GIF_LIBRARIES ${GIF_LIBRARY})
 | 
					
						
							| 
									
										
										
										
											2021-07-01 22:38:13 +08:00
										 |  |  |   set(GIF_INCLUDE_DIR ${GIFLIB_DIR})
 | 
					
						
							| 
									
										
										
										
											2018-04-03 23:43:26 +08:00
										 |  |  |   set(GIF_INCLUDE_DIRS ${GIF_INCLUDE_DIR})
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2016-03-26 17:40:16 +08:00
										 |  |  | include_directories(${GIF_INCLUDE_DIRS})
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-23 22:33:55 +08:00
										 |  |  | # libjpeg-turbo
 | 
					
						
							|  |  |  | find_package(JpegTurbo)
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-23 22:33:55 +08:00
										 |  |  | # cmark
 | 
					
						
							| 
									
										
										
										
											2017-01-28 19:18:41 +08:00
										 |  |  | if(USE_SHARED_CMARK)
 | 
					
						
							|  |  |  |   find_library(CMARK_LIBRARIES NAMES cmark)
 | 
					
						
							|  |  |  |   find_path(CMARK_INCLUDE_DIRS NAMES cmark.h)
 | 
					
						
							|  |  |  | else()
 | 
					
						
							|  |  |  |   add_definitions(-DCMARK_STATIC_DEFINE)
 | 
					
						
							| 
									
										
										
										
											2024-05-09 01:52:39 +08:00
										 |  |  |   set(CMARK_LIBRARIES cmark)
 | 
					
						
							| 
									
										
										
										
											2017-01-28 19:18:41 +08:00
										 |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-25 05:24:05 +08:00
										 |  |  | if(REQUIRE_CURL)
 | 
					
						
							|  |  |  |   if(USE_SHARED_CURL)
 | 
					
						
							|  |  |  |     find_package(CURL REQUIRED)
 | 
					
						
							|  |  |  |   else()
 | 
					
						
							| 
									
										
										
										
											2021-12-23 04:03:16 +08:00
										 |  |  |     set(CURL_FOUND 1)
 | 
					
						
							|  |  |  |     set(CURL_LIBRARY libcurl)
 | 
					
						
							| 
									
										
										
										
											2018-08-25 05:24:05 +08:00
										 |  |  |     set(CURL_LIBRARIES libcurl)
 | 
					
						
							|  |  |  |     set(CURL_INCLUDE_DIRS ${CURL_DIR}/include)
 | 
					
						
							|  |  |  |   endif()
 | 
					
						
							|  |  |  |   include_directories(${CURL_INCLUDE_DIRS})
 | 
					
						
							| 
									
										
										
										
											2015-07-13 23:16:55 +08:00
										 |  |  | endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # simpleini
 | 
					
						
							|  |  |  | include_directories(${SIMPLEINI_DIR})
 | 
					
						
							| 
									
										
										
										
											2015-06-09 21:20:56 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-01 23:47:48 +08:00
										 |  |  | # Third parties
 | 
					
						
							|  |  |  | add_subdirectory(third_party)
 | 
					
						
							| 
									
										
										
										
											2010-08-26 03:20:30 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-01 23:47:48 +08:00
										 |  |  | if(ENABLE_MEMLEAK)
 | 
					
						
							| 
									
										
										
										
											2016-11-03 03:14:01 +08:00
										 |  |  |   add_definitions(-DLAF_MEMLEAK)
 | 
					
						
							| 
									
										
										
										
											2016-11-01 23:47:48 +08:00
										 |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2010-08-11 08:49:32 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-01 23:47:48 +08:00
										 |  |  | set(LAF_WITH_TESTS ${ENABLE_TESTS} CACHE BOOL "Enable LAF tests")
 | 
					
						
							| 
									
										
										
										
											2016-12-20 01:19:30 +08:00
										 |  |  | set(UNDO_TESTS     ${ENABLE_TESTS} CACHE BOOL "Enable undo tests")
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-24 22:25:35 +08:00
										 |  |  | if(ENABLE_DRM)
 | 
					
						
							|  |  |  |   add_subdirectory(drm)
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2016-11-01 23:47:48 +08:00
										 |  |  | add_subdirectory(laf)
 | 
					
						
							| 
									
										
										
										
											2021-12-23 06:08:43 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-03 07:20:13 +08:00
										 |  |  | # libwebp
 | 
					
						
							|  |  |  | if(ENABLE_WEBP)
 | 
					
						
							|  |  |  |   # Use libwebp from Skia
 | 
					
						
							|  |  |  |   if(LAF_BACKEND STREQUAL "skia")
 | 
					
						
							|  |  |  |     find_library(WEBP_LIBRARIES webp | 
					
						
							|  |  |  |       NAMES libwebp # required for Windows
 | 
					
						
							|  |  |  |       PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
 | 
					
						
							|  |  |  |     set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
 | 
					
						
							| 
									
										
										
										
											2024-09-20 02:16:22 +08:00
										 |  |  |     if(WEBP_LIBRARIES)
 | 
					
						
							|  |  |  |       set(WEBP_FOUND ON)
 | 
					
						
							|  |  |  |     else()
 | 
					
						
							|  |  |  |       set(WEBP_FOUND OFF)
 | 
					
						
							|  |  |  |     endif()
 | 
					
						
							| 
									
										
										
										
											2022-08-03 07:20:13 +08:00
										 |  |  |   else()
 | 
					
						
							| 
									
										
										
										
											2024-09-20 02:16:22 +08:00
										 |  |  |     set(WEBP_FOUND ON)
 | 
					
						
							| 
									
										
										
										
											2022-08-03 07:20:13 +08:00
										 |  |  |     set(WEBP_LIBRARIES webp webpdemux libwebpmux)
 | 
					
						
							|  |  |  |     set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
 | 
					
						
							|  |  |  |   endif()
 | 
					
						
							|  |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2024-04-23 22:33:55 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Print paths to used libraries
 | 
					
						
							|  |  |  | message(STATUS "aseprite giflib: ${GIF_LIBRARY}")
 | 
					
						
							| 
									
										
										
										
											2022-07-21 01:11:00 +08:00
										 |  |  | message(STATUS "aseprite libwebp: ${WEBP_LIBRARIES}")
 | 
					
						
							| 
									
										
										
										
											2024-04-23 22:33:55 +08:00
										 |  |  | message(STATUS "aseprite libjpeg-turbo: ${LIBJPEG_TURBO_LIBRARY}")
 | 
					
						
							| 
									
										
										
										
											2022-07-21 01:11:00 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-23 06:08:43 +08:00
										 |  |  | # LAF libraries + Aseprite are compiled with config.h
 | 
					
						
							|  |  |  | target_include_directories(laf-base PUBLIC src)
 | 
					
						
							|  |  |  | target_compile_definitions(laf-base PUBLIC HAVE_CONFIG_H)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-01 23:47:48 +08:00
										 |  |  | add_subdirectory(src)
 | 
					
						
							| 
									
										
										
										
											2019-05-03 20:34:02 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | ######################################################################
 | 
					
						
							|  |  |  | # Using clang-tidy with cmake.
 | 
					
						
							|  |  |  | # Based on http://mariobadr.com/using-clang-tidy-with-cmake-36.html
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if(ENABLE_CLANG_TIDY)
 | 
					
						
							|  |  |  |   find_program(CLANG_TIDY_EXE | 
					
						
							|  |  |  |     NAMES "clang-tidy"
 | 
					
						
							|  |  |  |     DOC "Path to clang-tidy executable")
 | 
					
						
							|  |  |  |   if(NOT CLANG_TIDY_EXE)
 | 
					
						
							|  |  |  |     message(STATUS "clang-tidy not found.")
 | 
					
						
							|  |  |  |   else()
 | 
					
						
							|  |  |  |     message(STATUS "clang-tidy found: ${CLANG_TIDY_EXE}")
 | 
					
						
							|  |  |  |     set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}")
 | 
					
						
							|  |  |  |   endif()
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if(CLANG_TIDY_EXE)
 | 
					
						
							|  |  |  |     set_target_properties(app-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(aseprite PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(cfg-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(clip PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(dio-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(doc-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(filters-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(fixmath-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(flic-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(gen PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(laf-base PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(laf-ft PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(laf-gfx PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(laf-os PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(net-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(obs PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(render-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(ui-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(undo PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |     set_target_properties(updater-lib PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
 | 
					
						
							|  |  |  |   endif()
 | 
					
						
							|  |  |  | endif()
 |