aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/CMakeLists.txt
blob: 90965fbd1cdb0a014f3b40505cdf5edfc504b999 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
add_subdirectory(designerintegrationv2)
add_subdirectory(proparser)
add_subdirectory(qtsingleapplication)
add_subdirectory(qtlockedfile)
add_subdirectory(help)
add_subdirectory(registryaccess)

# PCHs used by qmake based plugin builds
qtc_add_public_header(qtcreator_pch.h)
qtc_add_public_header(qtcreator_gui_pch.h)

if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qbs/CMakeLists.txt)
  set(BUILD_QBS_DEFAULT YES)
else()
  set(BUILD_QBS_DEFAULT FALSE)
endif()

option(BUILD_QBS "Build Qbs together with Qt Creator" ${BUILD_QBS_DEFAULT})

if (BUILD_QBS)
  find_package(Qt5 COMPONENTS Script QUIET)
  if (TARGET Qt5::Script)
    set(ENABLE_BUILD_QBS YES)
  endif()
else()
  set(ENABLE_BUILD_QBS NO)
endif()

add_feature_info("Build Qbs" ENABLE_BUILD_QBS "with CONDITION TARGET Qt5::Script")
if (ENABLE_BUILD_QBS)
  file(RELATIVE_PATH _REL_PATH_TO_QTC "${CMAKE_BINARY_DIR}" "${PROJECT_BINARY_DIR}")
  set(QBS_OUTPUT_PREFIX "${_REL_PATH_TO_QTC}/" CACHE STRING "" FORCE)
  set(QBS_APP_INSTALL_DIR "${IDE_BIN_PATH}" CACHE STRING "" FORCE)
  set(QBS_LIB_INSTALL_DIR "${IDE_LIBRARY_PATH}" CACHE STRING "" FORCE)
  set(QBS_DLL_INSTALL_DIR "${IDE_BIN_PATH}" CACHE STRING "" FORCE)
  set(QBS_LIBEXEC_INSTALL_DIR "${IDE_LIBEXEC_PATH}" CACHE STRING "" FORCE)
  set(QBS_PLUGINS_INSTALL_BASE "${IDE_PLUGIN_PATH}" CACHE STRING "" FORCE)
  set(QBS_RESOURCES_INSTALL_BASE "${IDE_DATA_PATH}/qbs" CACHE STRING "" FORCE)
  set(QBS_DOC_INSTALL_DIR "${IDE_DOC_PATH}" CACHE STRING "" FORCE)
  set(QBS_HEADERS_INSTALL_DIR "${IDE_DATA_PATH}/qbs/include/qbs" CACHE STRING "" FORCE)

  set(INSTALL_PUBLIC_HEADERS OFF CACHE BOOL "")
  set(WITH_TESTS OFF)
  set(WITH_PROJECT_FILE_UPDATES ON CACHE BOOL "")
  set(QBS_INSTALL_QCH_DOCS ${WITH_DOCS} CACHE BOOL "")
  add_subdirectory(qbs)
endif()