Warning, /frameworks/kjs/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 set(KF_VERSION "5.116.0") # handled by release scripts 0004 project(KJS VERSION ${KF_VERSION}) 0005 0006 # ECM setup 0007 include(FeatureSummary) 0008 find_package(ECM 5.115.0 NO_MODULE) 0009 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") 0010 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) 0011 0012 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) 0013 0014 0015 include(GenerateExportHeader) 0016 include(CMakePackageConfigHelpers) 0017 include(ECMSetupVersion) 0018 include(ECMMarkNonGuiExecutable) 0019 0020 ecm_setup_version(PROJECT VARIABLE_PREFIX KJS 0021 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kjs_version.h" 0022 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5JSConfigVersion.cmake" 0023 SOVERSION 5) 0024 0025 # Dependencies 0026 include(KDEInstallDirs) 0027 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0028 include(KDECMakeSettings) 0029 0030 set(REQUIRED_QT_VERSION 5.15.2) 0031 find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) 0032 0033 find_package(Perl) 0034 set_package_properties(Perl PROPERTIES URL "http://www.perl.org" TYPE REQUIRED PURPOSE "Needed for building kdelibs") 0035 0036 #Do not make PCRE optional here. PCRE is a hard requirement for modern systems 0037 #but we give old systems some slack... that's why we don't specify "REQUIRED". 0038 find_package(PCRE) 0039 0040 set_package_properties(PCRE PROPERTIES 0041 URL "http://www.pcre.org" 0042 DESCRIPTION "Perl-compatible regular expressions in KJS" 0043 TYPE OPTIONAL 0044 PURPOSE "Without PCRE, KJS will have extremely poor regular expression support, breaking many webpages.") 0045 0046 option(KJS_FORCE_DISABLE_PCRE "Force building of KJS without PCRE. Doing this will result in many webpage working incorrectly, due to extremely poor regular expression support") 0047 0048 # TODO: Support these, set by KDEFrameworkCompilerSettings 0049 remove_definitions( 0050 -DQT_NO_CAST_FROM_ASCII 0051 -DQT_NO_FOREACH 0052 ) 0053 0054 find_package(KF5DocTools ${KF_DEP_VERSION}) 0055 0056 add_subdirectory(src) 0057 if (BUILD_TESTING) 0058 add_subdirectory(autotests) 0059 add_subdirectory(tests) 0060 endif() 0061 if(KF5DocTools_FOUND) 0062 add_subdirectory(docs) 0063 endif() 0064 0065 # create a Config.cmake and a ConfigVersion.cmake file and install them 0066 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5JS") 0067 0068 configure_package_config_file( 0069 "${CMAKE_CURRENT_SOURCE_DIR}/KF5JSConfig.cmake.in" 0070 "${CMAKE_CURRENT_BINARY_DIR}/KF5JSConfig.cmake" 0071 PATH_VARS KDE_INSTALL_DATADIR_KF5 0072 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0073 ) 0074 0075 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5JSConfig.cmake" 0076 "${CMAKE_CURRENT_BINARY_DIR}/KF5JSConfigVersion.cmake" 0077 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0078 COMPONENT Devel ) 0079 0080 install(EXPORT KF5JSTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5JSTargets.cmake NAMESPACE KF5:: ) 0081 0082 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kjs_version.h DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel ) 0083 0084 if(KF5DocTools_FOUND) 0085 kdoctools_install(po) 0086 endif() 0087 0088 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)