diff --git a/CMakeLists.txt b/CMakeLists.txt index 89e8212fce..d5b9b0bbda 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -379,9 +379,7 @@ if(CMAKE_USE_WIN32_THREADS_INIT OR CMAKE_USE_PTHREADS_INIT) set(CMAKE_STATUS_THREADS_SUPPORT "Win32") list(APPEND CMAKE_KVIRC_BUILD_FLAGS Threads=Win32) else() - if(CMAKE_HAVE_THREADS_LIBRARY) - list(APPEND LIBS ${CMAKE_THREAD_LIBS_INIT}) - endif() + list(APPEND LIBS Threads::Threads) set(COMPILE_THREADS_USE_POSIX 1) list(APPEND CMAKE_KVIRC_BUILD_FLAGS Threads=POSIX) if(WANT_IGNORE_SIGALARM) @@ -410,6 +408,8 @@ endif() # first check if Qt6 or Qt5 has to be used if(NOT DEFINED QT_VERSION_MAJOR) find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core) +else() + find_package(QT NAMES Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core) endif() # second, detect available modules for the specific Qt version find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) @@ -770,27 +770,26 @@ else() endif() # Check for Perl support -# (note: needed for user documentation generation) option(WANT_PERL "Compile Perl support" ON) +option(WANT_PERL_DOCS "Use Perl to build documentation" ON) +if(WANT_PERL OR WANT_PERL_DOCS) + find_package(Perl) +endif() -# Perl is needed for documentation, too -find_package(Perl) - -if(WANT_PERL) - if(PERL_FOUND) +if(PERL_FOUND) + if(WANT_PERL) set(COMPILE_PERL_SUPPORT 1) - set(CMAKE_STATUS_PERL_SUPPORT "Yes, used for scripting+doc") - # Perl compilation / linking flags are handled inside perlcore module - else() - set(CMAKE_STATUS_PERL_SUPPORT "No") + set(CMAKE_STATUS_PERL_SUPPORT "Yes, used for scripting") endif() -else() - if(PERL_FOUND) + if(WANT_PERL_DOCS) set(CMAKE_STATUS_PERL_SUPPORT "Used for doc, but scripting disabled by user") - else() - set(CMAKE_STATUS_PERL_SUPPORT "No") endif() + if(WANT_PERL AND WANT_PERL_DOCS) + set(CMAKE_STATUS_PERL_SUPPORT "Yes, used for scripting+doc") + endif() +else() + set(CMAKE_STATUS_PERL_SUPPORT "No") endif() # Check for Python support diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 6d42540f6d..bb212de609 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -10,7 +10,7 @@ if(WIN32) endif() # User documentation -if(PERL_FOUND) +if(WANT_PERL_DOCS AND PERL_FOUND) # The userdocs target is in the normal build process and rebuilds the documentation # only when the revision number changes. This is useful for Git users and package users. diff --git a/src/kvirc/kernel/KviApplication_setup.cpp b/src/kvirc/kernel/KviApplication_setup.cpp index 5ceeb4be5b..a228b9f2fe 100644 --- a/src/kvirc/kernel/KviApplication_setup.cpp +++ b/src/kvirc/kernel/KviApplication_setup.cpp @@ -63,10 +63,10 @@ static QLibrary * g_pSetupLibrary = nullptr; bool KviApplication::checkGlobalKvircDirectory(const QString szDir) { - //First check if the help subdir exists - QString szHelpDir = szDir; - szHelpDir += KVI_PATH_SEPARATOR "help"; - if(!KviFileUtils::directoryExists(szHelpDir)) + //First check if the config subdir exists + QString szConfigDir = szDir; + szConfigDir += KVI_PATH_SEPARATOR "config"; + if(!KviFileUtils::directoryExists(szConfigDir)) return false; //Then check if the pics subdir exists QString szPicsDir = szDir;