PageRenderTime 57ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 1ms

/project/cmake/CMakeLists.txt

http://github.com/xbmc/xbmc
CMake | 454 lines | 357 code | 64 blank | 33 comment | 44 complexity | 66663233eb6100d65d10cc03f8111106 MD5 | raw file
Possible License(s): GPL-3.0, CC-BY-SA-3.0, LGPL-2.0, 0BSD, Unlicense, GPL-2.0, AGPL-1.0, BSD-3-Clause, LGPL-2.1, LGPL-3.0
  1. cmake_minimum_required(VERSION 3.1)
  2. project(kodi LANGUAGES CXX C ASM)
  3. list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/modules)
  4. if(DEPENDS_DIR)
  5. list(APPEND CMAKE_PREFIX_PATH ${DEPENDS_DIR})
  6. endif()
  7. set(CMAKE_CXX_STANDARD 11)
  8. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  9. set(CMAKE_CXX_EXTENSIONS OFF)
  10. set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -x assembler-with-cpp")
  11. # general
  12. option(VERBOSE "Enable verbose output?" OFF)
  13. option(ENABLE_DVDCSS "Enable libdvdcss support?" ON)
  14. option(ENABLE_UPNP "Enable UPnP support?" ON)
  15. option(ENABLE_NONFREE "Enable non-free components?" ON)
  16. option(ENABLE_AIRTUNES "Enable AirTunes support?" ON)
  17. option(ENABLE_CEC "Enable CEC support?" ON)
  18. if(UNIX)
  19. if(NOT APPLE)
  20. option(ENABLE_INTERNAL_FFMPEG "Enable internal ffmpeg?" ON)
  21. endif()
  22. option(FFMPEG_PATH "Path to external ffmpeg?" "")
  23. option(ENABLE_INTERNAL_CROSSGUID "Enable internal crossguid?" ON)
  24. option(ENABLE_OPENSSL "Enable OpenSSL?" ON)
  25. option(ENABLE_SDL "Enable SDL?" OFF)
  26. if(CORE_SYSTEM_TYPE STREQUAL linux OR CORE_SYSTEM_TYPE STREQUAL freebsd)
  27. option(ENABLE_X11 "Enable X11 support?" ON)
  28. endif()
  29. option(ENABLE_EGL "Enable EGL?" OFF)
  30. option(ENABLE_OPTICAL "Enable optical support?" ON)
  31. endif()
  32. # System options
  33. if(NOT WIN32)
  34. option(WITH_ARCH "build with given arch" OFF)
  35. option(WITH_CPU "build with given cpu" OFF)
  36. option(ENABLE_CCACHE "Enable Ccache support" ON)
  37. endif()
  38. if(CMAKE_SYSTEM_NAME STREQUAL Linux)
  39. option(ENABLE_LIRC "Enable LIRC support?" ON)
  40. option(ENABLE_EVENTCLIENTS "Enable event clients support?" OFF)
  41. endif()
  42. # Build static libraries per directory
  43. if(NOT CMAKE_GENERATOR MATCHES "Visual Studio" AND NOT CMAKE_GENERATOR STREQUAL Xcode)
  44. set(STATIC_LIBS_DEFAULT ON)
  45. else()
  46. set(STATIC_LIBS_DEFAULT OFF)
  47. endif()
  48. option(ENABLE_STATIC_LIBS "Build static libraries per directory" ${STATIC_LIBS_DEFAULT})
  49. unset(STATIC_LIBS_DEFAULT)
  50. get_filename_component(CORE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../.. ABSOLUTE)
  51. set(CORE_BUILD_DIR build)
  52. message(STATUS "Source directory: ${CORE_SOURCE_DIR}")
  53. message(STATUS "Build directory: ${CMAKE_BINARY_DIR}")
  54. if(CMAKE_BINARY_DIR STREQUAL CORE_SOURCE_DIR)
  55. message(WARNING "In-source build detected. It is recommended to build out-of-source.")
  56. endif()
  57. # Hide messages from Check*.cmake (e.g. CheckCSourceCompiles)
  58. if(NOT VERBOSE)
  59. set(CMAKE_REQUIRED_QUIET ON)
  60. endif()
  61. include(modules/extra/ECMEnableSanitizers.cmake)
  62. include(scripts/common/GeneratorSetup.cmake)
  63. include(scripts/common/AddOptions.cmake)
  64. include(scripts/common/ArchSetup.cmake)
  65. include(scripts/common/Macros.cmake)
  66. include(scripts/common/ProjectMacros.cmake)
  67. include(scripts/${CORE_SYSTEM_NAME}/PathSetup.cmake)
  68. include(ExternalProject)
  69. core_find_git_rev()
  70. core_find_versions()
  71. # Dynamically loaded libraries built with the project
  72. add_custom_target(${APP_NAME_LC}-libraries)
  73. set(LIBRARY_FILES "" CACHE STRING "" FORCE)
  74. mark_as_advanced(LIBRARY_FILES)
  75. set(INCLUDES ${CORE_SOURCE_DIR}
  76. ${CORE_SOURCE_DIR}/addons/library.xbmc.addon
  77. ${CORE_SOURCE_DIR}/lib
  78. ${CORE_SOURCE_DIR}/lib/gtest/include
  79. ${CORE_SOURCE_DIR}/xbmc
  80. ${CORE_SOURCE_DIR}/xbmc/${PLATFORM_DIR}
  81. ${CORE_SOURCE_DIR}/xbmc/cores/VideoPlayer
  82. ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR})
  83. find_package(PkgConfig)
  84. if(CMAKE_CROSSCOMPILING)
  85. if(PKG_CONFIG_EXECUTABLE)
  86. set(PKG_CONFIG_FOUND TRUE)
  87. endif()
  88. endif()
  89. find_package(Threads REQUIRED QUIET)
  90. list(APPEND DEPLIBS ${CMAKE_THREAD_LIBS_INIT})
  91. # Required dependencies
  92. set(required_deps Sqlite3 FreeType PCRE Cpluff LibDvd
  93. TinyXML Python Yajl
  94. Lzo2 Fribidi TagLib FFMPEG CrossGUID)
  95. if(NOT WIN32)
  96. list(APPEND required_deps SmbClient ZLIB)
  97. else()
  98. list(APPEND required_deps D3DX11Effects)
  99. endif()
  100. if(CORE_SYSTEM_NAME STREQUAL android)
  101. list(APPEND required_deps Zip)
  102. endif()
  103. # Optional dependencies
  104. set(optional_deps MicroHttpd MySqlClient SSH XSLT
  105. Alsa UDEV DBus Avahi
  106. PulseAudio VDPAU VAAPI)
  107. # Required, dyloaded deps
  108. set(required_dyload Curl ASS)
  109. # Optional, dyloaded deps
  110. set(dyload_optional CEC Bluray Plist NFS)
  111. # Required by shared objects we link
  112. set(required_dep_libs EXPAT)
  113. # Required tools
  114. find_package(TexturePacker REQUIRED)
  115. find_package(JsonSchemaBuilder REQUIRED)
  116. foreach(dep ${required_dep_libs})
  117. find_package(${dep} REQUIRED)
  118. endforeach()
  119. foreach(dep ${required_deps})
  120. core_require_dep(${dep})
  121. endforeach()
  122. foreach(dep ${optional_deps})
  123. core_optional_dep(${dep})
  124. endforeach()
  125. if(NOT UDEV_FOUND)
  126. core_optional_dep(LibUSB)
  127. endif()
  128. foreach(dep ${required_dyload})
  129. core_require_dyload_dep(${dep})
  130. endforeach()
  131. foreach(dep ${dyload_optional})
  132. core_optional_dyload_dep(${dep})
  133. endforeach()
  134. if(ENABLE_OPENSSL)
  135. core_require_dep(OpenSSL)
  136. list(APPEND DEP_DEFINES "-DHAVE_OPENSSL=1")
  137. endif()
  138. if(ENABLE_UPNP)
  139. list(APPEND DEP_DEFINES "-DUSE_UPNP=1")
  140. endif()
  141. if(ENABLE_NONFREE)
  142. list(APPEND DEP_DEFINES "-DHAVE_XBMC_NONFREE=1")
  143. endif()
  144. if(ENABLE_OPTICAL)
  145. list(APPEND DEP_DEFINES -DHAS_DVD_DRIVE)
  146. core_require_dep(Cdio)
  147. endif()
  148. if(ENABLE_AIRTUNES)
  149. find_package(Shairplay)
  150. if(SHAIRPLAY_FOUND)
  151. core_require_dyload_dep(Shairplay)
  152. endif()
  153. endif()
  154. if(CORE_SYSTEM_NAME STREQUAL osx)
  155. core_require_dep(Sdl)
  156. else()
  157. core_optional_dep(Sdl)
  158. endif()
  159. if(NOT WIN32)
  160. core_optional_dep(OpenGl)
  161. if(OPENGL_FOUND)
  162. core_optional_dep(X ENABLE_X11)
  163. core_optional_dep(LibDRM ENABLE_X11)
  164. core_optional_dep(XRandR ENABLE_X11)
  165. else()
  166. core_optional_dep(OpenGLES)
  167. if(OPENGLES_FOUND)
  168. core_optional_dep(X ENABLE_X11)
  169. core_optional_dep(LibDRM ENABLE_X11)
  170. endif()
  171. endif()
  172. if(NOT APPLE)
  173. core_require_dep(EGL)
  174. endif()
  175. endif()
  176. if(CORE_SYSTEM_NAME STREQUAL android)
  177. core_optional_dep(AML)
  178. elseif(CORE_SYSTEM_NAME STREQUAL rbpi)
  179. core_require_dep(MMAL)
  180. endif()
  181. if(ENABLE_CCACHE)
  182. core_optional_dep(CCache)
  183. endif()
  184. # Compile Info
  185. add_custom_command(OUTPUT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp
  186. ${CMAKE_BINARY_DIR}/addons/xbmc.addon/addon.xml
  187. ${CMAKE_BINARY_DIR}/addons/kodi.guilib/addon.xml
  188. COMMAND ${CMAKE_COMMAND} -DCORE_SOURCE_DIR=${CORE_SOURCE_DIR}
  189. -DCORE_SYSTEM_NAME=${CORE_SYSTEM_NAME}
  190. -DCORE_BUILD_DIR=${CORE_BUILD_DIR}
  191. -DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}
  192. -DARCH_DEFINES="${ARCH_DEFINES}"
  193. -DAPP_SCMID=${APP_SCMID}
  194. -Dprefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}
  195. -P ${PROJECT_SOURCE_DIR}/scripts/common/GenerateVersionedFiles.cmake
  196. DEPENDS ${CORE_SOURCE_DIR}/version.txt
  197. ${CORE_SOURCE_DIR}/addons/xbmc.addon/addon.xml.in
  198. ${CORE_SOURCE_DIR}/addons/kodi.guilib/addon.xml.in
  199. ${CORE_SOURCE_DIR}/xbmc/CompileInfo.cpp.in)
  200. list(APPEND install_data addons/xbmc.addon/addon.xml)
  201. list(APPEND install_data addons/xbmc.json/addon.xml)
  202. list(APPEND install_data addons/kodi.guilib/addon.xml)
  203. add_library(compileinfo OBJECT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp)
  204. set_target_properties(compileinfo PROPERTIES FOLDER "Build Utilities")
  205. target_compile_options(compileinfo PRIVATE "${SYSTEM_DEFINES}")
  206. # RC File
  207. if(WIN32)
  208. configure_file(${CORE_SOURCE_DIR}/xbmc/platform/win32/XBMC_PC.rc.in
  209. ${CORE_BUILD_DIR}/xbmc/platform/win32/XBMC_PC.rc @ONLY)
  210. add_library(resources OBJECT ${CORE_BUILD_DIR}/xbmc/platform/win32/XBMC_PC.rc)
  211. set_target_properties(resources PROPERTIES FOLDER "Build Utilities")
  212. target_include_directories(resources PRIVATE ${CORE_SOURCE_DIR}/tools/windows/packaging/media)
  213. set(RESOURCES $<TARGET_OBJECTS:resources>)
  214. endif()
  215. include_directories(${INCLUDES} ${SYSTEM_INCLUDES})
  216. add_compile_options(${ARCH_DEFINES} "${SYSTEM_DEFINES}" ${DEP_DEFINES} ${PATH_DEFINES})
  217. set(core_DEPENDS "" CACHE STRING "" FORCE)
  218. set(test_archives "" CACHE STRING "" FORCE)
  219. set(test_sources "" CACHE STRING "" FORCE)
  220. mark_as_advanced(core_DEPENDS)
  221. mark_as_advanced(test_archives)
  222. mark_as_advanced(test_sources)
  223. add_subdirectory(${CORE_SOURCE_DIR}/lib/gtest ${CORE_BUILD_DIR}/gtest EXCLUDE_FROM_ALL)
  224. set_target_properties(gtest PROPERTIES FOLDER "External Projects")
  225. # copy files to build tree
  226. copy_files_from_filelist_to_buildtree(${PROJECT_SOURCE_DIR}/installdata/common/*.txt
  227. ${PROJECT_SOURCE_DIR}/installdata/${CORE_SYSTEM_NAME}/*.txt)
  228. list(APPEND SKINS "${CORE_SOURCE_DIR}/addons/skin.estuary\;${CORE_SOURCE_DIR}")
  229. list(APPEND SKINS "${CORE_SOURCE_DIR}/addons/skin.estouchy\;${CORE_SOURCE_DIR}")
  230. # These are skins that are copied into place from the source tree
  231. foreach(skin ${SKINS})
  232. list(GET skin 0 dir)
  233. list(GET skin 1 relative)
  234. copy_skin_to_buildtree(${dir} ${relative})
  235. endforeach()
  236. add_custom_target(pack-skins ALL
  237. DEPENDS TexturePacker::TexturePacker export-files ${XBT_FILES})
  238. set_target_properties(pack-skins PROPERTIES FOLDER "Build Utilities")
  239. file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/system/players/VideoPlayer)
  240. set(LIBCEC_SONAME "${CEC_SONAME}")
  241. if(NOT CORE_SYSTEM_NAME STREQUAL windows AND NOT CORE_SYSTEM_NAME STREQUAL android)
  242. configure_file(${CORE_SOURCE_DIR}/xbmc/DllPaths_generated.h.in
  243. ${CORE_BUILD_DIR}/DllPaths_generated.h @ONLY)
  244. elseif(CORE_SYSTEM_NAME STREQUAL android)
  245. configure_file(${CORE_SOURCE_DIR}/xbmc/DllPaths_generated_android.h.in
  246. ${CORE_BUILD_DIR}/DllPaths_generated_android.h @ONLY)
  247. endif()
  248. # main library (used for main binary and tests)
  249. add_library(lib${APP_NAME_LC} STATIC $<TARGET_OBJECTS:compileinfo>)
  250. set_target_properties(lib${APP_NAME_LC} PROPERTIES PREFIX "")
  251. add_dependencies(lib${APP_NAME_LC} libcpluff ffmpeg dvdnav crossguid)
  252. # Codegen
  253. add_subdirectory(${CORE_SOURCE_DIR}/xbmc/interfaces/swig build/swig)
  254. # Other files (IDE)
  255. set(OTHER_FILES README.md)
  256. # Subdirs
  257. core_add_subdirs_from_filelist(${PROJECT_SOURCE_DIR}/treedata/common/*.txt
  258. ${PROJECT_SOURCE_DIR}/treedata/${CORE_SYSTEM_NAME}/*.txt)
  259. core_add_optional_subdirs_from_filelist(${PROJECT_SOURCE_DIR}/treedata/optional/common/*.txt
  260. ${PROJECT_SOURCE_DIR}/treedata/optional/${CORE_SYSTEM_NAME}/*.txt)
  261. target_link_libraries(lib${APP_NAME_LC} PUBLIC ${core_DEPENDS} ${SYSTEM_LDFLAGS} ${DEPLIBS} ${CMAKE_DL_LIBS})
  262. set_target_properties(lib${APP_NAME_LC} PROPERTIES PROJECT_LABEL "xbmc")
  263. source_group_by_folder(lib${APP_NAME_LC} RELATIVE ${CORE_SOURCE_DIR}/xbmc)
  264. if(WIN32)
  265. add_precompiled_header(lib${APP_NAME_LC} pch.h ${CORE_SOURCE_DIR}/xbmc/platform/win32/pch.cpp PCH_TARGET kodi)
  266. set_language_cxx(lib${APP_NAME_LC})
  267. endif()
  268. # main binary
  269. if(NOT CORE_SYSTEM_NAME STREQUAL android)
  270. add_executable(${APP_NAME_LC} ${CORE_MAIN_SOURCE} "${RESOURCES}" ${OTHER_FILES})
  271. add_dependencies(${APP_NAME_LC} ${APP_NAME_LC}-libraries export-files pack-skins)
  272. else()
  273. add_library(${APP_NAME_LC} SHARED ${CORE_MAIN_SOURCE} "${RESOURCES}" ${OTHER_FILES})
  274. # The libraries depend on the main shared library for wrapping. Because of this we cannot build
  275. # the libraries as a dependency. This requires to build the all target on android (and not only kodi).
  276. add_dependencies(${APP_NAME_LC} export-files pack-skins)
  277. endif()
  278. whole_archive(_MAIN_LIBRARIES ${core_DEPENDS})
  279. target_link_libraries(${APP_NAME_LC} ${_MAIN_LIBRARIES} lib${APP_NAME_LC} ${SYSTEM_LDFLAGS} ${DEPLIBS} ${CMAKE_DL_LIBS})
  280. unset(_MAIN_LIBRARIES)
  281. if(WIN32)
  282. set_target_properties(${APP_NAME_LC} PROPERTIES WIN32_EXECUTABLE ON)
  283. set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT ${APP_NAME_LC})
  284. elseif(CORE_SYSTEM_NAME STREQUAL android)
  285. # Nothing
  286. else()
  287. set_target_properties(${APP_NAME_LC} PROPERTIES SUFFIX ".bin")
  288. endif()
  289. # testing
  290. copy_files_from_filelist_to_buildtree(${PROJECT_SOURCE_DIR}/installdata/test-reference-data.txt NO_INSTALL)
  291. add_executable(${APP_NAME_LC}-test EXCLUDE_FROM_ALL ${CORE_SOURCE_DIR}/xbmc/test/xbmc-test.cpp ${test_sources})
  292. whole_archive(_TEST_LIBRARIES ${core_DEPENDS} gtest)
  293. target_link_libraries(${APP_NAME_LC}-test PRIVATE ${SYSTEM_LDFLAGS} ${_TEST_LIBRARIES} lib${APP_NAME_LC} ${DEPLIBS} ${CMAKE_DL_LIBS})
  294. unset(_TEST_LIBRARIES)
  295. add_dependencies(${APP_NAME_LC}-test ${APP_NAME_LC}-libraries export-files)
  296. if(WIN32)
  297. add_precompiled_header(${APP_NAME_LC}-test pch.h ${CORE_SOURCE_DIR}/xbmc/platform/win32/pch.cpp PCH_TARGET kodi)
  298. endif()
  299. # make test and make check (cannot be executed when cross compiling)
  300. if(NOT CMAKE_CROSSCOMPILING)
  301. enable_testing()
  302. gtest_add_tests(${APP_NAME_LC}-test "" ${test_sources})
  303. add_custom_target(check ${CMAKE_CTEST_COMMAND} WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
  304. add_dependencies(check ${APP_NAME_LC}-test)
  305. # For testing commit series
  306. add_custom_target(check-commits ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/scripts/common/CheckCommits.cmake
  307. -DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR})
  308. set_target_properties(check-commits PROPERTIES FOLDER "Build Utilities")
  309. endif()
  310. # code coverage
  311. if(CMAKE_BUILD_TYPE STREQUAL Coverage)
  312. if(EXISTS ${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/CodeCoverage.cmake)
  313. include(${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/CodeCoverage.cmake)
  314. else()
  315. message(FATAL_ERROR "Code coverage not (yet) implemented for platform ${CORE_SYSTEM_NAME}")
  316. endif()
  317. endif()
  318. # link wrapper
  319. if(FFMPEG_LINK_EXECUTABLE)
  320. set(CMAKE_CXX_LINK_EXECUTABLE "${FFMPEG_LINK_EXECUTABLE}")
  321. endif()
  322. if(FFMPEG_CREATE_SHARED_LIBRARY)
  323. set(CMAKE_CXX_CREATE_SHARED_LIBRARY "${FFMPEG_CREATE_SHARED_LIBRARY}")
  324. endif()
  325. # Platform specific additional extra targets
  326. if(EXISTS ${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/ExtraTargets.cmake)
  327. include(${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/ExtraTargets.cmake)
  328. endif()
  329. include(scripts/${CORE_SYSTEM_NAME}/Install.cmake)
  330. # Create target that allows to build binary-addons.
  331. # Use make binary-addons ADDONS="visualization.spectrum" to select the addons to build.
  332. if(CMAKE_GENERATOR STREQUAL "Unix Makefiles")
  333. if(CMAKE_CROSSCOMPILING)
  334. set(_cross_args CROSS_COMPILING=yes TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
  335. endif()
  336. if(NOT CORE_SYSTEM_NAME STREQUAL android)
  337. set(_prefix ${CMAKE_BINARY_DIR}/addons)
  338. set(_extra "CMAKE_EXTRA=-DPACKAGE_ZIP=ON")
  339. else()
  340. set(_prefix ${CMAKE_INSTALL_PREFIX})
  341. endif()
  342. add_custom_target(binary-addons
  343. COMMAND $(MAKE) -C ${CORE_SOURCE_DIR}/tools/depends/target/binary-addons clean
  344. COMMAND $(MAKE) -C ${CORE_SOURCE_DIR}/tools/depends/target/binary-addons VERBOSE=1 V=99
  345. PREFIX=${_prefix} INSTALL_PREFIX=${_prefix} ${_cross_args} ${_extra})
  346. unset(_cross_args)
  347. unset(_prefix)
  348. endif()
  349. # Prepare add-on build env
  350. foreach(binding ${addon_bindings})
  351. get_filename_component(file ${binding} NAME)
  352. set(BINDING_TARGET ${CORE_BUILD_DIR}/include/${APP_NAME_LC}/${file})
  353. configure_file(${binding} ${BINDING_TARGET} COPYONLY)
  354. endforeach()
  355. set(APP_LIB_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/${APP_NAME_LC})
  356. set(APP_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include/${APP_NAME_LC})
  357. set(CXX11_SWITCH "-std=c++11")
  358. configure_file(${PROJECT_SOURCE_DIR}/KodiConfig.cmake.in
  359. ${CORE_BUILD_DIR}/lib/${APP_NAME_LC}/${APP_NAME}Config.cmake @ONLY)
  360. configure_file(${PROJECT_SOURCE_DIR}/scripts/common/AddonHelpers.cmake
  361. ${CORE_BUILD_DIR}/lib/${APP_NAME_LC}/AddonHelpers.cmake COPYONLY)
  362. configure_file(${PROJECT_SOURCE_DIR}/scripts/common/AddOptions.cmake
  363. ${CORE_BUILD_DIR}/lib/${APP_NAME_LC}/AddOptions.cmake COPYONLY)
  364. # Status
  365. message(STATUS "#---- CONFIGURATION ----#")
  366. foreach(msg ${final_message})
  367. message(STATUS ${msg})
  368. endforeach()
  369. if(VERBOSE)
  370. message(STATUS "\n#--------------- Internal Variables -------------#")
  371. message(STATUS "DEPLIBS: ${DEPLIBS}")
  372. message(STATUS "core_DEPENDS: ${core_DEPENDS}")
  373. message(STATUS "#---------------------------------------------#")
  374. message(STATUS "SYSTEM_LDFLAGS : ${SYSTEM_LDFLAGS}")
  375. message(STATUS "CMAKE_DL_LIBS : ${CMAKE_DL_LIBS}")
  376. message(STATUS "CMAKE_C_FLAGS : ${CMAKE_C_FLAGS}")
  377. message(STATUS "CMAKE_CXX_FLAGS : ${CMAKE_CXX_FLAGS}")
  378. message(STATUS "CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
  379. message(STATUS "#---------------------------------------------#")
  380. message(STATUS "bindir : ${bindir}")
  381. message(STATUS "includedir : ${includedir}")
  382. message(STATUS "libdir : ${libdir}")
  383. message(STATUS "datarootdir: ${datarootdir}")
  384. message(STATUS "#---------------------------------------------#")
  385. message(STATUS "GIT_REV: ${APP_SCMID}")
  386. message(STATUS "#---------------------------------------------#")
  387. message(STATUS "CPACK_GENERATOR : ${CPACK_GENERATOR}")
  388. message(STATUS "CPACK_SOURCE_GENERATOR: ${CPACK_SOURCE_GENERATOR}")
  389. message(STATUS "#---------------------------------------------#")
  390. endif()